| | |
| | | workorder.setMemberId(workorder.getMemberId()); |
| | | workorder.setIsdeleted(Constants.ZERO); |
| | | workorder.setCode(this.getNextCode(workorder.getType())); |
| | | workorder.setEmailStatus(Constants.ZERO); |
| | | //处理人员类信息 |
| | | this.dealNoticeData(workorder); |
| | | //处理SHE事件状态 |
| | |
| | | message = message + "-" + workorder.getMemberNames() + " " + DateUtil.formatDate(new Date(),"yyyy-MM-dd HH:mm") + workorder.getLocationName() + categoryName; |
| | | textCard.setDescription(" <div class=\"normal\">"+message+"</div>"); |
| | | }else{ |
| | | textCard.setTitle(Constants.equalsInteger(workorder.getType(),Constants.ONE)?"【DCA上报】":"跌绊滑风险上报"); |
| | | textCard.setTitle(Constants.equalsInteger(workorder.getType(),Constants.ONE)?"【DCA上报】":"【跌绊滑风险上报】"); |
| | | 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\">"+ DateUtil.formatDate(new Date(),"yyyy-MM-dd HH:mm") +"/"+ workorder.getLocationName() +"/"+ categoryName+"</div>"; |
| | |
| | | if (Constants.equalsInteger(workorder.getType(), Constants.THREE) || Constants.equalsInteger(workorder.getType(), Constants.TWO) ) { |
| | | //处理上报日志 DCA工单 日志存储至子业务 不存在于父级 与跌绊滑 |
| | | String logTitle = Constants.equalsInteger(workorder.getType(), Constants.THREE) ? "跌绊滑风险" : "DCA"; |
| | | this.saveLog(null,workorder,Constants.ZERO,workorder.getMemberId(),workOrderStatus.getLogTitle().replace("{title}",logTitle),null); |
| | | this.saveLog(null,workorder,Constants.ZERO,workorder.getMemberId(),workOrderStatus.getLogTitle().replace("{title}",logTitle),null,null); |
| | | } |
| | | } |
| | | |
| | |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.ONE)){ |
| | | List<DCANoProblemDTO> dcaNoProblemDTOList = workorder.getDcaNoProblemDTOList(); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(dcaNoProblemDTOList)){ |
| | | Integer indexCode = 0 ; |
| | | for (DCANoProblemDTO dcaNoProblemDTO:dcaNoProblemDTOList) { |
| | | indexCode = indexCode + 1; |
| | | Category problem = categoryMapper.selectById(dcaNoProblemDTO.getProblemId()); |
| | | if(!Constants.equalsInteger(problem.getType(),6)){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"题目分类错误"); |
| | |
| | | dcaWorkOrder.setProblemId(problem.getId()); |
| | | dcaWorkOrder.setProblemInfo(problem.getRemark()); |
| | | dcaWorkOrder.setDcaRecordId(workorder.getId()); |
| | | dcaWorkOrder.setHappenTime(workorder.getHappenTime()); |
| | | dcaWorkOrder.setLocaltionId(workorder.getLocaltionId()); |
| | | dcaWorkOrder.setLocationName(workorder.getLocationName()); |
| | | dcaWorkOrder.setSubmitDate(workorder.getSubmitDate()); |
| | | dcaWorkOrder.setCode(workorder.getCode()+"_"+ org.apache.commons.lang3.StringUtils.leftPad(indexCode.toString(),2,"0")); |
| | | dcaWorkOrder.setEventInfo(dcaNoProblemDTO.getEventInfo()); |
| | | dcaWorkOrder.setQwnoticeMemberIds(workorder.getQwnoticeMemberIds()); |
| | | dcaWorkOrder.setMemberNames(workorder.getMemberNames()); |
| | | workorderMapper.insert(dcaWorkOrder); |
| | | //存储日志 |
| | | this.dealLogData(dcaWorkOrder,workOrderStatus); |
| | |
| | | multifileMapper.insert(multifileList); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //查询主题下的所有观察项 |
| | | Category type = categoryMapper.selectById(workorder.getTypeId()); |
| | | if(Objects.nonNull(type)){ |
| | | //存储DCA工单详情 |
| | | Map<String,Object> detail = new HashMap<>(); |
| | | detail.put("title","观察主题:"+type.getName()); |
| | | List<Category> categoryList = categoryMapper.selectList(new QueryWrapper<Category>().lambda().eq(Category::getType,4).eq(Category::getParentId,workorder.getTypeId())); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(categoryList)){ |
| | | List<Map<String,Object>> childMapList = new ArrayList<>(); |
| | | for (Category category:categoryList) { |
| | | Map<String,Object> childMap = new HashMap<>(); |
| | | childMap.put("childTitle",category.getName()); |
| | | List<Category> problemList = categoryMapper.selectList(new QueryWrapper<Category>().lambda() |
| | | .eq(Category::getType,6).eq(Category::getParentId,category.getId())); |
| | | List<Map<String,Object>> problemMapList = new ArrayList<>(); |
| | | Integer index = Constants.ONE; |
| | | for (Category problem:problemList) { |
| | | Map<String,Object> problemMap = new HashMap<>(); |
| | | problemMap.put("title",index + "、" + problem.getName()); |
| | | List<DCANoProblemDTO> pList = dcaNoProblemDTOList.stream().filter(i->Constants.equalsInteger(i.getProblemId(),problem.getId())).collect(Collectors.toList()); |
| | | if(pList.size()>Constants.ZERO){ |
| | | DCANoProblemDTO dcaNoProblemDTO = pList.get(Constants.ZERO); |
| | | problemMap.put("status",Constants.TWO); |
| | | problemMap.put("eventInfo","不符合原因:"+dcaNoProblemDTO.getEventInfo()); |
| | | problemMap.put("imgList",dcaNoProblemDTO.getMultifileList().stream().map(i->i.getFileurl()).collect(Collectors.joining(","))); |
| | | }else{ |
| | | problemMap.put("status",Constants.ONE); |
| | | } |
| | | index = index + Constants.ONE; |
| | | problemMapList.add(problemMap); |
| | | } |
| | | childMap.put("problemMapList",problemMapList); |
| | | childMapList.add(childMap); |
| | | } |
| | | detail.put("childMapList",childMapList); |
| | | } |
| | | workorder.setRemark(JSONObject.toJSONString(detail)); |
| | | workorderMapper.updateById(workorder); |
| | | } |
| | | } |
| | | } |
| | |
| | | workorder.setMemberNames(memberList.stream().map(i->i.getName()).collect(Collectors.joining(","))); |
| | | } |
| | | } |
| | | //跌绊滑事件上报 查询SHE负责人 |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.THREE) || Constants.equalsInteger(workorder.getType(),Constants.ONE)|| Constants.equalsInteger(workorder.getType(),Constants.ZERO)){ |
| | | |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)){ |
| | | List<Managers> managersList = managersMapper.selectJoinList(Managers.class,new MPJLambdaWrapper<Managers>().selectAll(Managers.class) |
| | | .selectAs(Member::getName,Managers::getMemberName) |
| | | .selectAs(Member::getQwId,Managers::getQwId) |
| | | .leftJoin(Member.class,Member::getId,Managers::getMemberId) |
| | | .eq(Managers::getIsdeleted,Constants.ZERO) |
| | | .eq(Managers::getType,Constants.THREE).orderByAsc(Managers::getSortnum) |
| | | ); |
| | | if(Objects.isNull(managersList)){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"未查询到SHE处理抄送人员"); |
| | | } |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(managersList)){ |
| | | workorder.setQwnoticeMemberIds(managersList.stream().filter(i->Constants.equalsInteger(i.getIsQw(),Constants.ONE)).map(i->i.getQwId()).collect(Collectors.joining(","))); |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)){ |
| | | workorder.setEmialMemberIds(managersList.stream().filter(i->Constants.equalsInteger(i.getIsEmail(),Constants.ONE)).map(i->i.getMemberId().toString()).collect(Collectors.joining(","))); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //跌绊滑事件上报 \ DCA 查询SHE负责人 |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.THREE) || Constants.equalsInteger(workorder.getType(),Constants.ONE)){ |
| | | List<Managers> managersList = managersMapper.selectJoinList(Managers.class,new MPJLambdaWrapper<Managers>().selectAll(Managers.class) |
| | | .selectAs(Member::getName,Managers::getMemberName) |
| | | .selectAs(Member::getQwId,Managers::getQwId) |
| | |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"未查询到SHE处理抄送人员"); |
| | | } |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(managersList)){ |
| | | workorder.setQwnoticeMemberIds(managersList.stream().filter(i->Constants.equalsInteger(i.getIsQw(),Constants.ONE)).map(i->i.getQwId()).collect(Collectors.joining(","))); |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)){ |
| | | workorder.setEmialMemberIds(managersList.stream().filter(i->Constants.equalsInteger(i.getIsEmail(),Constants.ONE)).map(i->i.getQwId()).collect(Collectors.joining(","))); |
| | | workorder.setQwnoticeMemberIds(managersList.stream().map(i->i.getQwId()).collect(Collectors.joining(","))); |
| | | List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO) |
| | | .in(Member::getQwId,workorder.getQwnoticeMemberIds().split(","))); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)){ |
| | | workorder.setMemberNames(memberList.stream().map(i->i.getName()).collect(Collectors.joining(","))); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | * @param afterWorkorder |
| | | * @param objType 操作类型 0任务上报 1任务分配物业主管 2任务分配处理人 3任务处理关闭 4任务催促 |
| | | * @param memberId |
| | | * @param paramr2 处理人 |
| | | */ |
| | | public Integer saveLog(String beforeJson,Workorder afterWorkorder,Integer objType,Integer memberId,String title,String content){ |
| | | public Integer saveLog(String beforeJson,Workorder afterWorkorder,Integer objType,Integer memberId,String title,String content,String paramr2){ |
| | | WorkorderLog workorderLog = new WorkorderLog(); |
| | | workorderLog.setCreateDate(new Date()); |
| | | workorderLog.setEditDate(new Date()); |
| | |
| | | workorderLog.setBeforeContent(beforeJson); |
| | | workorderLog.setAfterContent(JSONObject.toJSONString(afterWorkorder)); |
| | | workorderLog.setParam1(memberId.toString()); |
| | | workorderLog.setParam2(paramr2); |
| | | workorderLog.setObjId(afterWorkorder.getId().toString()); |
| | | workorderLog.setObjType(objType); |
| | | workorderLog.setTitle(title); |
| | |
| | | //查询附件信息 |
| | | List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda().eq(Multifile::getIsdeleted,Constants.ZERO) |
| | | .eq(Multifile::getObjId,workorder.getId()).orderByAsc(Multifile::getId)); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() |
| | | +systemDictDataBiz.queryByCode(Constants.FTP,Constants.WORKORDER_FILE_PATH).getCode(); |
| | | |
| | | workorder.setPath(path); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ |
| | | for (Multifile multifile:multifileList) { |
| | | multifile.setFileurlFull(path+multifile.getFileurl()); |
| | | } |
| | |
| | | } |
| | | |
| | | //查询日志信息 |
| | | workorder.setLogList(this.getLogList(workorder.getId())); |
| | | workorder.setLogList(this.getLogList(workorder)); |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.ONE)){ |
| | | //如果是DCA提交记录,查询子工单集合 |
| | | Workorder param = new Workorder(); |
| | |
| | | workorder.setCloseButton(Constants.ZERO); |
| | | if(member!=null && org.apache.commons.lang3.StringUtils.isNotBlank(member.getQwId())){ |
| | | List<String> closeUserList = new ArrayList<>(); |
| | | 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(","))); |
| | | if(org.apache.commons.lang3.StringUtils.isNotBlank(workorder.getManagerId())){ |
| | | } |
| | | if(org.apache.commons.lang3.StringUtils.isNotBlank(workorder.getManagerId())&& |
| | | (Constants.equalsInteger(workorder.getStatus(),Constants.ONE)||Constants.equalsInteger(workorder.getStatus(),Constants.TWO))){ |
| | | closeUserList.add(workorder.getManagerId()); |
| | | } |
| | | if(org.apache.commons.lang3.StringUtils.isNotBlank(workorder.getDealerId())){ |
| | | if(org.apache.commons.lang3.StringUtils.isNotBlank(workorder.getDealerId())&& |
| | | (Constants.equalsInteger(workorder.getStatus(),Constants.TWO))){ |
| | | closeUserList.add(workorder.getDealerId()); |
| | | } |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(closeUserList)){ |
| | | workorder.setCloseButton(closeUserList.stream().filter(i->i.equals(member.getQwId())).collect(Collectors.toList()).size()>Constants.ZERO?Constants.ONE:Constants.ZERO); |
| | | } |
| | | List<String> passOnUserList = new ArrayList<>(); |
| | | //待分配状态 处理转交按钮 |
| | | if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitConfirm.getKey())){ |
| | | if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitConfirm.getKey())&&Constants.equalsInteger(workorder.getStatus(),Constants.ZERO)){ |
| | | passOnUserList.addAll(Arrays.asList(workorder.getQwnoticeMemberIds().split(","))); |
| | | }else if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitAllocation.getKey())){ |
| | | closeUserList.add(workorder.getManagerId()); |
| | | }else if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitAllocation.getKey())&&(Constants.equalsInteger(workorder.getStatus(),Constants.ONE) |
| | | || Constants.equalsInteger(workorder.getStatus(),Constants.TWO))){ |
| | | passOnUserList.add(workorder.getManagerId()); |
| | | } |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(passOnUserList)){ |
| | | workorder.setPassOnButton(passOnUserList.stream().filter(i->i.equals(member.getQwId())).collect(Collectors.toList()).size()>Constants.ZERO?Constants.ONE:Constants.ZERO); |
| | |
| | | } |
| | | |
| | | |
| | | public List<WorkorderLog> getLogList(Integer orderId){ |
| | | public List<WorkorderLog> getLogList(Workorder workorder){ |
| | | List<WorkorderLog> logList = workorderLogMapper.selectJoinList(WorkorderLog.class, |
| | | new MPJLambdaWrapper<WorkorderLog>() |
| | | .selectAll(WorkorderLog.class) |
| | | .selectAs(Member::getName,WorkorderLog::getUserName) |
| | | .selectAs(Member::getCompanyName,WorkorderLog::getCompanyName) |
| | | .leftJoin(Member.class,Member::getId,WorkorderLog::getParam1) |
| | | .eq(WorkorderLog::getObjId,orderId) |
| | | .orderByAsc(WorkorderLog::getId) |
| | | .eq(WorkorderLog::getObjId,workorder.getId()) |
| | | .orderByDesc(WorkorderLog::getId) |
| | | ); |
| | | |
| | | |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(logList)){ |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() |
| | | +systemDictDataBiz.queryByCode(Constants.FTP,Constants.WORKORDER_LOG_FILE_PATH).getCode(); |
| | | Boolean canOpenUrgeButton = true; |
| | | for (WorkorderLog workorderLog:logList) { |
| | | workorderLog.setUrgeButton(Constants.ZERO); |
| | | //物业主管处理中 |
| | | if(Constants.equalsInteger(workorder.getStatus(),Constants.ONE)){ |
| | | Member member = memberMapper.selectById(workorderLog.getParam1()); |
| | | if(Objects.nonNull(member) && org.apache.commons.lang3.StringUtils.isNotBlank(member.getQwId()) |
| | | && member.getQwId().equals(workorder.getManagerId()) ){ |
| | | workorderLog.setUrgeButton(Constants.ONE); |
| | | } |
| | | } |
| | | //工程师处理中 |
| | | if(Constants.equalsInteger(workorder.getStatus(),Constants.TWO)){ |
| | | Member member = memberMapper.selectById(workorderLog.getParam1()); |
| | | if(Objects.nonNull(member) && org.apache.commons.lang3.StringUtils.isNotBlank(member.getQwId()) |
| | | && member.getQwId().equals(workorder.getDealerId()) && canOpenUrgeButton){ |
| | | workorderLog.setUrgeButton(Constants.ONE); |
| | | canOpenUrgeButton = false; |
| | | } |
| | | } |
| | | //查询附件信息 |
| | | List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() |
| | | .eq(Multifile::getIsdeleted,Constants.ZERO) |
| | |
| | | .leftJoin(Member.class,Member::getId,Workorder::getMemberId) |
| | | .leftJoin(" category c3 on t.TYPE_ID = c3.id ") //风险类型 |
| | | .leftJoin(" category c2 on t.CATEGORY_ID = c2.id ") //DCA一级问题编码 |
| | | .apply(Objects.nonNull(pageWrap.getMyWorkOrder())&& org.apache.commons.lang3.StringUtils.isNotBlank(pageWrap.getQwId()) |
| | | .apply(Objects.nonNull(pageWrap.getMyWorkOrder())&& |
| | | org.apache.commons.lang3.StringUtils.isNotBlank(pageWrap.getQwId()) |
| | | &&Constants.equalsInteger(Constants.ONE,pageWrap.getMyWorkOrder()), |
| | | " ( t.id in ( select OBJ_ID from notices where param1 = '"+pageWrap.getQwId()+"' and type != 3 )) ") |
| | | .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()) |
| | | .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()) |
| | | .eq( pageWrap.getId() != null, Workorder::getId, pageWrap.getId()) |
| | | .eq( pageWrap.getCreator() != null, Workorder::getCreator, pageWrap.getCreator()) |
| | | .ge( pageWrap.getCreateDate() != null, Workorder::getCreateDate, Utils.Date.getStart( pageWrap.getCreateDate())) |
| | |
| | | if(Objects.isNull(closeDTO) |
| | | || Objects.isNull(closeDTO.getWorkorderId()) |
| | | || org.apache.commons.lang3.StringUtils.isBlank(closeDTO.getInfo()) |
| | | || com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(closeDTO.getMultifileList())){ |
| | | || com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(closeDTO.getMultifileList())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | Workorder workorder = workorderMapper.selectById(closeDTO.getWorkorderId()); |
| | |
| | | workorder.setDealInfo(closeDTO.getInfo()); |
| | | workorderMapper.updateById(workorder); |
| | | //处理上报日志 |
| | | Integer logId = this.saveLog(beforeJson,workorder,Constants.THREE,workorder.getMemberId(),"任务已处理",closeDTO.getInfo()); |
| | | List<Multifile> multifileList = workorder.getMultifileList(); |
| | | Integer logId = this.saveLog(beforeJson,workorder,Constants.THREE,workorder.getMemberId(),"任务已处理",closeDTO.getInfo(),null); |
| | | List<Multifile> multifileList = closeDTO.getMultifileList(); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ |
| | | for (Multifile multifile:multifileList) { |
| | | multifile.setObjId(logId); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setCreateDate(new Date()); |
| | | multifile.setObjType(Constants.multiFileType.deal); |
| | | multifileMapper.insert(multifile); |
| | | } |
| | | multifileMapper.insert(multifileList); |
| | | } |
| | | //发送企微通知 |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(qwIds)){ |
| | |
| | | workorder.setEditDate(new Date()); |
| | | workorder.setUrgeDate(DateUtil.afterHoursDate(new Date(),24)); |
| | | workorderMapper.updateById(workorder); |
| | | String paramr2 = member.getCompanyName()+"/"+member.getName(); |
| | | //处理上报日志 |
| | | Integer logId = this.saveLog(beforeJson,workorder, |
| | | Constants.equalsInteger(passOnDTO.getPassOnType(),Constants.ZERO)?Constants.ONE:Constants.TWO |
| | | ,workorder.getMemberId(),"任务分配",passOnDTO.getInfo()); |
| | | ,workorder.getMemberId(),"任务分配",passOnDTO.getInfo(),paramr2); |
| | | List<Multifile> multifileList = workorder.getMultifileList(); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ |
| | | for (Multifile multifile:multifileList) { |
| | |
| | | |
| | | this.saveLog(null,workorder, |
| | | Constants.ONE |
| | | ,member.getId(),"催促","已催促 "+urgeUser.getCompanyName() + "/" + urgeUser.getName()); |
| | | ,member.getId(),"催促","已催促 "+urgeUser.getCompanyName() + "/" + urgeUser.getName(),null); |
| | | //发送企微通知 |
| | | Category category = categoryMapper.selectById(workorder.getTypeId()); |
| | | if(Objects.nonNull(category)){ |