From 30e858fa504b268b9b436afca0a1259cf6e8c488 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 19 八月 2025 11:01:40 +0800 Subject: [PATCH] 优化 --- server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java | 112 +++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 83 insertions(+), 29 deletions(-) diff --git a/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java b/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java index 1a32444..5ddb640 100644 --- a/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java +++ b/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java @@ -94,6 +94,7 @@ //澶勭悊SHE浜嬩欢鐘舵�� Constants.WorkOrderStatus workOrderStatus = Constants.equalsInteger(workorder.getType(),Constants.ZERO)?Constants.WorkOrderStatus.close:Constants.WorkOrderStatus.waitConfirm; workorder.setStatus(workOrderStatus.getKey()); + workorder.setSheDealUserQwIds(workorder.getQwnoticeMemberIds()); workorderMapper.insert(workorder); //瀛樺偍DCA 闂璁板綍琛� @@ -185,8 +186,11 @@ }else{ textCard.setTitle(Constants.equalsInteger(workorder.getType(),Constants.ONE)?"銆怐CA涓婃姤銆�":"銆愯穼缁婃粦椋庨櫓涓婃姤銆�"); if(Constants.equalsInteger(workorder.getType(),Constants.THREE)){ - message = message + " <div class=\"normal\">"+ (org.apache.commons.lang3.StringUtils.isNotBlank(userName)?userName:"绯荤粺") + (Constants.equalsInteger(contentType,Constants.ZERO)?"浠诲姟鍒嗛厤缁欎綘":(Constants.equalsInteger(contentType,Constants.ONE)?"瀵硅宸ュ崟杩涜浜嗗偓淇冿紝璇峰敖蹇鐞�":"浠诲姟宸插鐞�")) +"</div>"; + message = message + " <div class=\"normal\">"+ (org.apache.commons.lang3.StringUtils.isNotBlank(userName)?userName:"绯荤粺") + (Constants.equalsInteger(contentType,Constants.ZERO)?"浠诲姟鍒嗛厤缁欎綘":(Constants.equalsInteger(contentType,Constants.ONE)?"瀵硅宸ュ崟杩涜浜嗗偓淇冿紝璇峰敖蹇鐞�":((Constants.equalsInteger(contentType,Constants.TWO)?"鎶勯�佺粰浣�":"浠诲姟宸插鐞�")))) +"</div>";//:"浠诲姟宸插鐞�")) +"</div>"; message = message + " <div class=\"normal\">"+ DateUtil.formatDate(new Date(),"yyyy-MM-dd HH:mm") +"/"+ workorder.getLocationName() +"/"+ categoryName+"</div>"; + if(Constants.equalsInteger(contentType,Constants.TWO)){ + message = message + " <div class=\"normal\">璇存槑 "+ csInfo +"</div>"; + } }else{ message = message + " <div class=\"normal\">"+ (org.apache.commons.lang3.StringUtils.isNotBlank(userName)?userName:"绯荤粺") + (Constants.equalsInteger(contentType,Constants.ZERO)?"浠诲姟鍒嗛厤缁欎綘":(Constants.equalsInteger(contentType,Constants.ONE)?"瀵硅宸ュ崟杩涜浜嗗偓淇冿紝璇峰敖蹇鐞�":((Constants.equalsInteger(contentType,Constants.TWO)?"鎶勯�佺粰浣�":"宸插鐞嗕竴椤�")))) +"</div>"; message = message + " <div class=\"normal\">瑙傚療涓婚 "+ categoryName +"</div>"; @@ -207,7 +211,7 @@ //澶勭悊涓婃姤鏃ュ織 DCA宸ュ崟 鏃ュ織瀛樺偍鑷冲瓙涓氬姟 涓嶅瓨鍦ㄤ簬鐖剁骇 涓庤穼缁婃粦 String logTitle = Constants.equalsInteger(workorder.getType(), Constants.THREE) ? "璺岀粖婊戦闄�" : "DCA"; workorder.setCreateDate(workorder.getSubmitDate()); - this.saveLog(null,workorder,Constants.ZERO,workorder.getMemberId(),workOrderStatus.getLogTitle().replace("{title}",logTitle),null,null); + this.saveLog(null,workorder,Constants.ZERO,workorder.getMemberId(),workOrderStatus.getLogTitle().replace("{title}",logTitle),null,null,null); } } @@ -269,6 +273,7 @@ dcaWorkOrder.setEventInfo(dcaNoProblemDTO.getEventInfo()); dcaWorkOrder.setQwnoticeMemberIds(workorder.getQwnoticeMemberIds()); dcaWorkOrder.setMemberNames(workorder.getMemberNames()); + dcaWorkOrder.setSheDealUserQwIds(dcaWorkOrder.getQwnoticeMemberIds()); workorderMapper.insert(dcaWorkOrder); //瀛樺偍鏃ュ織 this.dealLogData(dcaWorkOrder,workOrderStatus); @@ -404,7 +409,7 @@ * @param memberId * @param paramr2 杞氦缁欑殑澶勭悊浜� */ - public Integer saveLog(String beforeJson,Workorder afterWorkorder,Integer objType,Integer memberId,String title,String content,String paramr2){ + public Integer saveLog(String beforeJson,Workorder afterWorkorder,Integer objType,Integer memberId,String title,String content,String paramr2,String remark){ WorkorderLog workorderLog = new WorkorderLog(); workorderLog.setCreateDate(afterWorkorder.getEditDate()); workorderLog.setEditDate(afterWorkorder.getEditDate()); @@ -417,6 +422,7 @@ workorderLog.setObjType(objType); workorderLog.setTitle(title); workorderLog.setContent(content); + workorderLog.setRemark(remark); workorderLogMapper.insert(workorderLog); return workorderLog.getId(); } @@ -442,7 +448,7 @@ if(Objects.isNull(workorder.getMemberType()) || Objects.isNull(workorder.getOutJiuyi()) || (Constants.equalsInteger(workorder.getOutJiuyi(),Constants.ZERO) && Objects.isNull(workorder.getIsYiwushi())) - || (Constants.equalsInteger(workorder.getIsYiwushi(),Constants.ZERO) && Objects.isNull(workorder.getIsHurted())) + || (Constants.equalsInteger(workorder.getOutJiuyi(),Constants.ZERO) && Constants.equalsInteger(workorder.getIsYiwushi(),Constants.ZERO) && Objects.isNull(workorder.getIsHurted())) || Objects.isNull(workorder.getWorkRelated()) || (Constants.equalsInteger(workorder.getMemberType(),Constants.TWO) && StringUtils.isEmpty(workorder.getMemberNames())) || (Constants.equalsInteger(workorder.getMemberType(),Constants.ONE) && StringUtils.isEmpty(workorder.getMemberQwids())) @@ -501,10 +507,12 @@ throw new BusinessException(ResponseStatus.DATA_EMPTY); } + workorder.setStatusName(Constants.WorkOrderStatus.getStatusName(workorder.getStatus())); this.dealButton(workorder,member); //鏌ヨ闄勪欢淇℃伅 List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda().eq(Multifile::getIsdeleted,Constants.ZERO) - .eq(Multifile::getObjId,workorder.getId()).orderByAsc(Multifile::getId)); + .eq(Multifile::getObjType,Constants.multiFileType.upload) + .eq(Multifile::getObjId,workorder.getId().toString()).orderByAsc(Multifile::getId)); String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +systemDictDataBiz.queryByCode(Constants.FTP,Constants.WORKORDER_FILE_PATH).getCode(); @@ -526,6 +534,7 @@ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(dcaChildList)){ for (Workorder dcaChild:dcaChildList) { this.dealButton(dcaChild,member); + dcaChild.setStatusName(Constants.WorkOrderStatus.getStatusName(dcaChild.getStatus())); } workorder.setManagerId(dcaChildList.stream().filter(i->Objects.nonNull(i.getManagerId())).map(i->i.getManagerId()).collect(Collectors.joining(","))); } @@ -542,7 +551,7 @@ if(org.apache.commons.lang3.StringUtils.isNotBlank(workorder.getQwnoticeMemberIds())&& (Constants.equalsInteger(workorder.getStatus(),Constants.ZERO)|| Constants.equalsInteger(workorder.getStatus(),Constants.ONE)||Constants.equalsInteger(workorder.getStatus(),Constants.TWO))){ - closeUserList.addAll(Arrays.asList(workorder.getQwnoticeMemberIds().split(","))); + closeUserList.addAll(Arrays.asList(workorder.getSheDealUserQwIds().split(","))); } if(org.apache.commons.lang3.StringUtils.isNotBlank(workorder.getManagerId())&& (Constants.equalsInteger(workorder.getStatus(),Constants.ONE)||Constants.equalsInteger(workorder.getStatus(),Constants.TWO))){ @@ -559,7 +568,7 @@ //寰呭垎閰嶇姸鎬� 澶勭悊杞氦鎸夐挳 if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitConfirm.getKey()) ){ - passOnUserList.addAll(Arrays.asList(workorder.getQwnoticeMemberIds().split(","))); + passOnUserList.addAll(Arrays.asList(workorder.getSheDealUserQwIds().split(","))); } if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitAllocation.getKey()) || Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitDeal.getKey()) @@ -613,18 +622,19 @@ } } } - - //鏌ヨ闄勪欢淇℃伅 - List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() - .eq(Multifile::getIsdeleted,Constants.ZERO) - .ne(Multifile::getObjType,Constants.multiFileType.upload) - .eq(Multifile::getObjId,workorderLog.getId()) - .orderByAsc(Multifile::getId)); - if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ - for (Multifile multifile:multifileList) { - multifile.setFileurlFull(path+multifile.getFileurl()); + if(!Constants.equalsInteger(workorderLog.getObjType(),Constants.FOUR)){ + //鏌ヨ闄勪欢淇℃伅 + List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() + .eq(Multifile::getIsdeleted,Constants.ZERO) + .ne(Multifile::getObjType,Constants.multiFileType.upload) + .eq(Multifile::getObjId,workorderLog.getId()) + .orderByAsc(Multifile::getId)); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ + for (Multifile multifile:multifileList) { + multifile.setFileurlFull(path+multifile.getFileurl()); + } + workorderLog.setMultifileList(multifileList); } - workorderLog.setMultifileList(multifileList); } } } @@ -706,7 +716,8 @@ .ne(org.apache.commons.lang3.StringUtils.isNotBlank(pageWrap.getQwId()),Workorder::getType,Constants.TWO) .in(Objects.nonNull(pageWrap.getDealStatus())&& Constants.equalsInteger(pageWrap.getDealStatus(),Constants.ZERO), - Workorder::getStatus,Constants.WorkOrderStatus.waitConfirm.getKey(),Constants.WorkOrderStatus.waitAllocation.getKey(),Constants.WorkOrderStatus.waitDeal.getKey()) + Workorder::getStatus,Constants.WorkOrderStatus.waitConfirm.getKey(), + Constants.WorkOrderStatus.waitAllocation.getKey(),Constants.WorkOrderStatus.waitDeal.getKey()) .in(Objects.nonNull(pageWrap.getDealStatus())&& Constants.equalsInteger(pageWrap.getDealStatus(),Constants.ONE), Workorder::getStatus,Constants.WorkOrderStatus.sheClose.getKey(),Constants.WorkOrderStatus.close.getKey(),Constants.WorkOrderStatus.wtsClose.getKey()) @@ -757,7 +768,9 @@ .eq( pageWrap.getDcaNoNum() != null, Workorder::getDcaNoNum, pageWrap.getDcaNoNum()) .eq( pageWrap.getDcaRecordId() != null, Workorder::getDcaRecordId, pageWrap.getDcaRecordId()) .likeRight( pageWrap.getTypeIdPath() != null,"c3.id_path", pageWrap.getTypeIdPath()) - .eq( pageWrap.getDcaCsIds() != null, Workorder::getDcaCsIds, pageWrap.getDcaCsIds()) ; + .eq( pageWrap.getDcaCsIds() != null, Workorder::getDcaCsIds, pageWrap.getDcaCsIds()) + .ge( pageWrap.getQueryStartTime() != null, Workorder::getCreateDate,pageWrap.getQueryStartTime()) + .le( pageWrap.getQueryEndTime() != null, Workorder::getCreateDate,pageWrap.getQueryEndTime()) ; if ( pageWrap.getMemberName() != null) { queryWrapper.and( ms->ms.like(Member::getName, pageWrap.getMemberName()) .or().like(Member::getPhone, pageWrap.getMemberName()) ); @@ -772,7 +785,13 @@ Utils.MP.blankToNull(pageWrap.getModel()); pageWrap.getModel().setIsdeleted(Constants.ZERO); MPJLambdaWrapper<Workorder> queryWrapper = getJoinQueryMapper(pageWrap.getModel()); - return PageData.from(workorderMapper.selectJoinPage(page,Workorder.class, queryWrapper)); + PageData<Workorder> result = PageData.from(workorderMapper.selectJoinPage(page,Workorder.class, queryWrapper)); + if(result!=null && result.getRecords()!=null){ + for(Workorder w : result.getRecords()){ + w.setStatusName(Constants.WorkOrderStatus.getStatusName(w.getStatus())); + } + } + return result; } @Override @@ -834,7 +853,7 @@ //鎻愪氦鍚庣殑 寰呯‘璁�/寰呭垵瀹$姸鎬� 濡傛灉鍘诲叧闂� 鍙湁宸ュ崟閲岀粦瀹氱殑SHE浜哄憳鍙互鍏抽棴 if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitConfirm.getKey())){ //鍒ゆ柇SHE浜哄憳鍐呮槸鍚︽湁褰撳墠鐧诲綍璐﹀彿 - if(workorder.getQwnoticeMemberIds().indexOf(closeDTO.getMember().getQwId())<Constants.ZERO){ + if(workorder.getSheDealUserQwIds().indexOf(closeDTO.getMember().getQwId())<Constants.ZERO){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊"); } workorder.setStatus(Constants.WorkOrderStatus.sheClose.getKey()); @@ -842,20 +861,34 @@ qwIds.remove(closeDTO.getMember().getQwId()); }else if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitAllocation.getKey())){ //鍒ゆ柇SHE浜哄憳鍐呮槸鍚︽湁褰撳墠鐧诲綍璐﹀彿 - if(workorder.getQwnoticeMemberIds().indexOf(closeDTO.getMember().getQwId())<Constants.ZERO && !workorder.getManagerId().equals(closeDTO.getMember().getQwId())){ + if(workorder.getSheDealUserQwIds().indexOf(closeDTO.getMember().getQwId())<Constants.ZERO && !workorder.getManagerId().equals(closeDTO.getMember().getQwId())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊"); } - workorder.setStatus(Constants.WorkOrderStatus.wtsClose.getKey()); + if(workorder.getManagerId().equals(closeDTO.getMember().getQwId())){ + workorder.setStatus(Constants.WorkOrderStatus.wtsClose.getKey()); + }else if(workorder.getSheDealUserQwIds().indexOf(closeDTO.getMember().getQwId())>Constants.ZERO){ + workorder.setStatus(Constants.WorkOrderStatus.sheClose.getKey()); + }else{ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊"); + } qwIds.addAll(Arrays.asList(workorder.getQwnoticeMemberIds().split(","))); qwIds.add(workorder.getManagerId()); qwIds.remove(closeDTO.getMember().getQwId()); }else if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitDeal.getKey())){ //鍒ゆ柇SHE浜哄憳鍐呮槸鍚︽湁褰撳墠鐧诲綍璐﹀彿 - if(workorder.getQwnoticeMemberIds().indexOf(closeDTO.getMember().getQwId())<Constants.ZERO && !workorder.getManagerId().equals(closeDTO.getMember().getQwId()) + if(workorder.getSheDealUserQwIds().indexOf(closeDTO.getMember().getQwId())<Constants.ZERO && !workorder.getManagerId().equals(closeDTO.getMember().getQwId()) && !workorder.getDealerId().equals(closeDTO.getMember().getQwId()) ){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊"); } - workorder.setStatus(Constants.WorkOrderStatus.wtsClose.getKey()); + if(workorder.getManagerId().equals(closeDTO.getMember().getQwId())){ + workorder.setStatus(Constants.WorkOrderStatus.wtsClose.getKey()); + }else if(workorder.getDealerId().equals(closeDTO.getMember().getQwId())){ + workorder.setStatus(Constants.WorkOrderStatus.close.getKey()); + }else if(workorder.getSheDealUserQwIds().indexOf(closeDTO.getMember().getQwId())>Constants.ZERO){ + workorder.setStatus(Constants.WorkOrderStatus.sheClose.getKey()); + }else{ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊"); + } qwIds.addAll(Arrays.asList(workorder.getQwnoticeMemberIds().split(","))); qwIds.add(workorder.getManagerId()); qwIds.remove(closeDTO.getMember().getQwId()); @@ -865,9 +898,21 @@ workorder.setEditDate(new Date()); workorder.setDealTime(new Date()); workorder.setDealInfo(closeDTO.getInfo()); + //瀛愬伐鍗� 鍒欐煡璇㈢埗绾у伐鍗曟暟鎹� 鏄惁浠樺瓨鍦ㄦ湭瀹屾垚鐨� 濡傛灉涓嶅瓨鍦ㄦ湭瀹屾垚鐨勫垯杩涜涓诲伐鍗曠姸鎬佸彉鍖� + if(Constants.equalsInteger(workorder.getType(),Constants.TWO)&& + workorderMapper.selectCount(new QueryWrapper<Workorder>().lambda().eq(Workorder::getDcaRecordId,workorder.getDcaRecordId()).eq(Workorder::getIsdeleted,Constants.ZERO) + .ne(Workorder::getId,workorder.getId()).in(Workorder::getStatus, + Constants.WorkOrderStatus.waitConfirm.getKey(),Constants.WorkOrderStatus.waitAllocation.getKey(),Constants.WorkOrderStatus.waitDeal.getKey() + ))<=Constants.ZERO){ + Workorder parentWorkorder = new Workorder(); + parentWorkorder.setId(workorder.getDcaRecordId()); + parentWorkorder.setEditDate(new Date()); + parentWorkorder.setStatus(Constants.WorkOrderStatus.close.getKey()); + workorderMapper.updateById(parentWorkorder); + } workorderMapper.updateById(workorder); //澶勭悊涓婃姤鏃ュ織 - Integer logId = this.saveLog(beforeJson,workorder,Constants.THREE,closeDTO.getMember().getId(),"浠诲姟宸插鐞�",closeDTO.getInfo(),null); + Integer logId = this.saveLog(beforeJson,workorder,Constants.THREE,closeDTO.getMember().getId(),"浠诲姟宸插鐞�",closeDTO.getInfo(),null,closeDTO.getInfo()); List<Multifile> multifileList = closeDTO.getMultifileList(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ for (Multifile multifile:multifileList) { @@ -916,12 +961,20 @@ if(!Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitConfirm.getKey())){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"宸ュ崟鐘舵�佸凡娴佽浆"); } + if(workorder.getSheDealUserQwIds().indexOf(passOnDTO.getMember().getQwId())<Constants.ZERO){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝闈炲甫鎮ㄥ鐞嗙殑宸ュ崟锛屾棤娉曡繘琛岃鎿嶄綔"); + } workorder.setManagerId(member.getQwId()); workorder.setStatus(Constants.WorkOrderStatus.waitAllocation.getKey()); + workorder.setSheDealUserQwIds(passOnDTO.getMember().getQwId()); + }else{ if(!(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitAllocation.getKey()) || Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitDeal.getKey()))){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"宸ュ崟鐘舵�佸凡娴佽浆"); + } + if(!workorder.getManagerId().equals(passOnDTO.getMember().getQwId())){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝闈炲甫鎮ㄥ鐞嗙殑宸ュ崟锛屾棤娉曡繘琛岃鎿嶄綔"); } workorder.setDealerId(member.getQwId()); workorder.setStatus(Constants.WorkOrderStatus.waitDeal.getKey()); @@ -933,7 +986,7 @@ //澶勭悊涓婃姤鏃ュ織 Integer logId = this.saveLog(beforeJson,workorder, Constants.equalsInteger(passOnDTO.getPassOnType(),Constants.ZERO)?Constants.ONE:Constants.TWO - ,passOnDTO.getMember().getId(),"浠诲姟鍒嗛厤",passOnDTO.getInfo(),paramr2); + ,passOnDTO.getMember().getId(),"浠诲姟鍒嗛厤",passOnDTO.getInfo(),paramr2,null); List<Multifile> multifileList = passOnDTO.getMultifileList(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ for (Multifile multifile:multifileList) { @@ -1033,6 +1086,7 @@ status = 2; info ="鏃犳晥鍛樺伐淇℃伅锛屾棤娉曞彂閫侀偖绠�"; }else{ + //閭宸插彂閫侊細鎴愬姛锛歔"姹熻悕閭jp@doumee.com"]澶辫触锛歔"姹熻悕/鏃犻偖绠�","鎴村己寮�/閭null","閮檯鏂囨/閭null"] List<String> successInfo = new ArrayList<>(); List<String> errorInfo = new ArrayList<>(); Map<String,String> contentForm = getEmailContentFormByModel(workorder); @@ -1150,7 +1204,7 @@ this.saveLog(null,workorder, Constants.FOUR - ,member.getId(),"鍌績","宸插偓淇� "+urgeUser.getCompanyName() + "/" + urgeUser.getName(),null); + ,member.getId(),"鍌績","宸插偓淇� "+urgeUser.getCompanyName() + "/" + urgeUser.getName(),null,null); //鍙戦�佷紒寰�氱煡 Category category = categoryMapper.selectById(workorder.getTypeId()); if(Objects.nonNull(category)){ -- Gitblit v1.9.3