| | |
| | | //处理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 问题记录表 |
| | |
| | | }else{ |
| | | 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\">"+ (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>"; |
| | |
| | | dcaWorkOrder.setEventInfo(dcaNoProblemDTO.getEventInfo()); |
| | | dcaWorkOrder.setQwnoticeMemberIds(workorder.getQwnoticeMemberIds()); |
| | | dcaWorkOrder.setMemberNames(workorder.getMemberNames()); |
| | | dcaWorkOrder.setSheDealUserQwIds(dcaWorkOrder.getQwnoticeMemberIds()); |
| | | workorderMapper.insert(dcaWorkOrder); |
| | | //存储日志 |
| | | this.dealLogData(dcaWorkOrder,workOrderStatus); |
| | |
| | | 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())) |
| | |
| | | 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(); |
| | | |
| | |
| | | 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(","))); |
| | | } |
| | |
| | | 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))){ |
| | |
| | | //待分配状态 处理转交按钮 |
| | | 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()) |
| | |
| | | //提交后的 待确认/待初审状态 如果去关闭 只有工单里绑定的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()); |
| | |
| | | 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(),"对不起,当前工单非您的工单,无法进行处理"); |
| | | } |
| | | if(workorder.getManagerId().equals(closeDTO.getMember().getQwId())){ |
| | | workorder.setStatus(Constants.WorkOrderStatus.wtsClose.getKey()); |
| | | }else if(workorder.getQwnoticeMemberIds().indexOf(closeDTO.getMember().getQwId())>Constants.ZERO){ |
| | | }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.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()); |
| | | }else if(workorder.getDealerId().equals(closeDTO.getMember().getQwId())){ |
| | | workorder.setStatus(Constants.WorkOrderStatus.close.getKey()); |
| | | }else if(workorder.getQwnoticeMemberIds().indexOf(closeDTO.getMember().getQwId())>Constants.ZERO){ |
| | | }else if(workorder.getSheDealUserQwIds().indexOf(closeDTO.getMember().getQwId())>Constants.ZERO){ |
| | | workorder.setStatus(Constants.WorkOrderStatus.sheClose.getKey()); |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,当前工单非您的工单,无法进行处理"); |
| | |
| | | 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()); |
| | |
| | | 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); |