From 4d4bc8ebf380ff900201f42bffa357293cf97f27 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期六, 12 七月 2025 14:17:59 +0800 Subject: [PATCH] art: 技术状态鉴定工单-领取接口问题修改,新增接口修改 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java | 143 ++++++++++++++++++++++++++++++++++------------- 1 files changed, 103 insertions(+), 40 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java index 0e594d7..2734f62 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java @@ -17,10 +17,7 @@ import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.eam.constant.BusinessCodeConst; -import org.jeecg.modules.eam.constant.HfTemplateCategoryEnum; -import org.jeecg.modules.eam.constant.OrderCreationMethodEnum; -import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationOrderStatusEnum; +import org.jeecg.modules.eam.constant.*; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.mapper.EamTechnicalStatusEvaluationOrderMapper; import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderQuery; @@ -67,6 +64,8 @@ private ISysBusinessCodeRuleService businessCodeRuleService; @Autowired private IEamTechnicalStatusEvaluationStandardService standardService; + @Autowired + private IEamTechnicalStatusEvaluationStandardDetailService standardDetailService; @Autowired private IEamBaseHFCodeService hfCodeService; @Autowired @@ -158,6 +157,13 @@ if (standard == null) { throw new JeecgBootException("鎶�鏈姸鎬侀壌瀹氳鑼冧笉瀛樺湪锛屾坊鍔犲け璐ワ紒"); } + if (!TechnicalStatusEvaluationStandardEnum.ENABLE.name().equals(standard.getStandardStatus())) { + throw new JeecgBootException("鎶�鏈姸鎬侀壌瀹氳鑼冩湭鍚敤锛屾坊鍔犲け璐ワ紒"); + } + List<EamTechnicalStatusEvaluationStandardDetail> standardDetailList = standardDetailService.queryList(standard.getId()); + if (CollectionUtil.isEmpty(standardDetailList)) { + throw new JeecgBootException("鎶�鏈姸鎬侀壌瀹氳鑼冩鏌ラ」涓虹┖锛屾坊鍔犲け璐ワ紒"); + } EamTechnicalStatusEvaluationOrder order = new EamTechnicalStatusEvaluationOrder(); order.setOrderNum(request.getOrderNum()); order.setEquipmentId(request.getEquipmentId()); @@ -197,17 +203,8 @@ order.setHfCodeC(eamBaseHFCode.getHfCode()); this.getBaseMapper().insert(order); //澶勭悊鏄庣粏鏁版嵁 - if (CollectionUtil.isNotEmpty(request.getTableDetailList())) { - request.getTableDetailList().forEach(tableDetail -> { - tableDetail.setId(null); - tableDetail.setCreateBy(null); - tableDetail.setCreateTime(null); - tableDetail.setUpdateBy(null); - tableDetail.setUpdateTime(null); - tableDetail.setOrderId(order.getId()); - }); - orderDetailService.saveBatch(request.getTableDetailList()); - } + List<EamTechnicalStatusEvaluationOrderDetail> orderDetailList = standardDetailList.stream().map(item -> new EamTechnicalStatusEvaluationOrderDetail(item, order.getId())).collect(Collectors.toList()); + orderDetailService.saveBatch(orderDetailList); return true; } @@ -280,7 +277,7 @@ variables.put("other_check", userApprovalList); entity.setOtherCheckCompleted(CommonConstant.STATUS_0); } else { - variables.put("hasOtherCheck ", CommonConstant.STATUS_0); + variables.put("hasOtherCheck", CommonConstant.STATUS_0); variables.put("other_check", userApprovalList); } Result<?> result = flowDefinitionService.startProcessInstanceByKey("technical_status_evaluation_process", variables); @@ -355,22 +352,22 @@ } if ("safety_equipment_check".equals(flowMyBusiness.getTaskNameId())) { //鎵ц瀹夊叏妫�鏌� - if(CommonConstant.STATUS_1.equals(entity.getSafetyCheckCompleted())) { + if (CommonConstant.STATUS_1.equals(entity.getSafetyCheckCompleted())) { values.put("safetyEquipmentCheckFlag", request.getSafetyCheckConfirmResult()); entity.setSafetyCheckConfirmResult(request.getSafetyCheckConfirmResult()); entity.setSafetyCheckConfirm(user.getUsername()); entity.setSafetyCheckConfirmTime(new Date()); entity.setSafetyCheckConfirmComment(request.getSafetyCheckConfirmComment()); //缁翠慨瀹や富浠诲鎵� - if(!CommonConstant.STATUS_1.equals(request.getSafetyCheckConfirmResult())) { + if (!CommonConstant.STATUS_1.equals(request.getSafetyCheckConfirmResult())) { //椹冲洖 缁欑洃瀵熶汉 userApprovalList = Collections.singletonList(request.getTableDetailList().get(0).getRepairmanSignature()); values.put("NextAssignee", userApprovalList); entity.setSafetyCheckCompleted(CommonConstant.STATUS_0); } - }else { + } else { //瀹夊叏瑁呯疆妫�鏌ョ粨鏋滃~鎶� - if(CollectionUtil.isNotEmpty(request.getTableDetailList())) { + if (CollectionUtil.isNotEmpty(request.getTableDetailList())) { for (EamTechnicalStatusEvaluationOrderDetail detail : request.getTableDetailList()) { detail.setRepairmanSignature(user.getUsername()); detail.setRepairmanSignatureTime(new Date()); @@ -382,22 +379,22 @@ } } else if ("equipment_precision_check".equals(flowMyBusiness.getTaskNameId())) { //澶勭悊绮惧害妫�楠� - if(CommonConstant.STATUS_1.equals(entity.getPrecisionCheckCompleted())) { + if (CommonConstant.STATUS_1.equals(entity.getPrecisionCheckCompleted())) { values.put("precisionCheckFlag", request.getPrecisionCheckConfirmResult()); entity.setPrecisionCheckConfirmResult(request.getPrecisionCheckConfirmResult()); entity.setPrecisionCheckConfirm(user.getUsername()); entity.setPrecisionCheckConfirmTime(new Date()); entity.setPrecisionCheckConfirmComment(request.getPrecisionCheckConfirmComment()); //缁翠慨瀹や富浠诲鎵� - if(!CommonConstant.STATUS_1.equals(request.getPrecisionCheckConfirmResult())) { + if (!CommonConstant.STATUS_1.equals(request.getPrecisionCheckConfirmResult())) { //椹冲洖 缁欑洃瀵熶汉 userApprovalList = Collections.singletonList(request.getTableDetailList().get(0).getRepairmanSignature()); values.put("NextAssignee", userApprovalList); entity.setPrecisionCheckCompleted(CommonConstant.STATUS_0); } - }else { + } else { //璁惧绮惧害妫�鏌ョ粨鏋滃~鎶� - if(CollectionUtil.isNotEmpty(request.getTableDetailList())) { + if (CollectionUtil.isNotEmpty(request.getTableDetailList())) { for (EamTechnicalStatusEvaluationOrderDetail detail : request.getTableDetailList()) { detail.setRepairmanSignature(user.getUsername()); detail.setRepairmanSignatureTime(new Date()); @@ -408,24 +405,24 @@ entity.setPrecisionCheckCompleted(CommonConstant.STATUS_1); } - } else if("other_check".equals(flowMyBusiness.getTaskNameId())) { + } else if ("other_check".equals(flowMyBusiness.getTaskNameId())) { //澶勭悊鍏朵粬妫�鏌� - if(CommonConstant.STATUS_1.equals(entity.getOtherCheckCompleted())) { + if (CommonConstant.STATUS_1.equals(entity.getOtherCheckCompleted())) { values.put("otherCheckFlag", request.getOtherCheckResult()); entity.setOtherCheckResult(request.getOtherCheckConfirmResult()); entity.setOtherCheckConfirm(user.getUsername()); entity.setOtherCheckConfirmTime(new Date()); entity.setOtherCheckConfirmComment(request.getOtherCheckConfirmComment()); //缁翠慨瀹や富浠诲鎵� - if(!CommonConstant.STATUS_1.equals(request.getOtherCheckConfirmResult())) { + if (!CommonConstant.STATUS_1.equals(request.getOtherCheckConfirmResult())) { //椹冲洖 缁欑洃瀵熶汉 userApprovalList = Collections.singletonList(request.getTableDetailList().get(0).getRepairmanSignature()); values.put("NextAssignee", userApprovalList); entity.setOtherCheckCompleted(CommonConstant.STATUS_0); } - }else { + } else { //鍏朵粬妫�鏌ョ粨鏋滃~鎶� - if(CollectionUtil.isNotEmpty(request.getTableDetailList())) { + if (CollectionUtil.isNotEmpty(request.getTableDetailList())) { for (EamTechnicalStatusEvaluationOrderDetail detail : request.getTableDetailList()) { detail.setRepairmanSignature(user.getUsername()); detail.setRepairmanSignatureTime(new Date()); @@ -438,11 +435,11 @@ } break; case REPAIRER_SIGNING: - userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(),equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0008); + //缁翠慨宸ョ瀛� + userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0008); if (CollectionUtil.isEmpty(userSelectors)) { throw new JeecgBootException("璁惧鏈垎閰嶇粰缁翠慨瀹や富浠伙紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�"); } - //缁翠慨宸ョ瀛� userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); values.put("dataId", entity.getId()); values.put("organization", "缁翠慨宸ョ瀛楀畬鎴�"); @@ -459,23 +456,89 @@ entity.setOtherCheckResult(request.getOtherCheckResult()); break; case REPAIR_MANAGER_SIGNING: -// values.put("dataId", entity.getId()); -// values.put("organization", request.getLeaderConfirmComment()); -// values.put("comment", request.getLeaderConfirmComment()); -// request.setComment(request.getLeaderConfirmComment()); -// //璁剧疆entity -// entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.COMPLETE.name()); -// entity.setConfirmLeader(user.getUsername()); -// entity.setLeaderConfirmComment(request.getLeaderConfirmComment()); -// entity.setLeaderConfirmTime(new Date()); + //缁翠慨瀹や富浠荤瀛� + userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0007); + if (CollectionUtil.isEmpty(userSelectors)) { + throw new JeecgBootException("璁惧鏈垎閰嶇粰宸ヨ壓鍛橈紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�"); + } + userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); + values.put("dataId", entity.getId()); + values.put("organization", request.getRepairManagerComment()); + values.put("comment", request.getRepairManagerComment()); + request.setComment(request.getRepairManagerComment()); + values.put("repairManagerApprovalFlag", request.getRepairManagerSignatureResult()); + entity.setRepairManagerSignature(user.getUsername()); + entity.setRepairManagerSignatureTime(new Date()); + entity.setRepairManagerComment(request.getRepairManagerComment()); + //璁剧疆entity + if (BusinessCodeConst.APPROVED.equals(request.getRepairManagerSignatureResult())) { + values.put("NextAssignee", userApprovalList); + entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.PROCESS_TECHNICIAN_SIGNING.name()); + } else { + userApprovalList = Collections.singletonList(entity.getRepairerSignature()); + values.put("NextAssignee", userApprovalList); + entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.REPAIRER_SIGNING.name()); + } // //鏇存柊璁惧淇濆吇鐘舵�� // eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name()); break; case PROCESS_TECHNICIAN_SIGNING: + //宸ヨ壓鍛樼瀛� + userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0010); + if (CollectionUtil.isEmpty(userSelectors)) { + throw new JeecgBootException("璁惧鏈垎閰嶇粰浣跨敤鍗曚綅鎶�鏈富绠★紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�"); + } + userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); + values.put("dataId", entity.getId()); + values.put("organization", request.getProcessTechnicianComment()); + values.put("comment", request.getProcessTechnicianComment()); + values.put("NextAssignee", userApprovalList); + request.setComment(request.getProcessTechnicianComment()); + //璁剧疆entity + entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.DEPART_TECHNICAL_LEADER_SIGNING.name()); + entity.setProcessTechnicianSignature(user.getUsername()); + entity.setProcessTechnicianSignatureTime(new Date()); + entity.setSampleCheckResult(request.getSampleCheckResult()); + entity.setProcessTechnicianComment(request.getProcessTechnicianComment()); break; case DEPART_TECHNICAL_LEADER_SIGNING: + //浣跨敤鍗曚綅鎶�鏈富绠$瀛� + userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0003); + if (CollectionUtil.isEmpty(userSelectors)) { + throw new JeecgBootException("璁惧鏈垎閰嶇粰璁惧妫�楠屽憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒"); + } + userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); + values.put("dataId", entity.getId()); + values.put("organization", request.getDepartTechnicalLeaderComment()); + values.put("comment", request.getDepartTechnicalLeaderComment()); + request.setComment(request.getDepartTechnicalLeaderComment()); + values.put("technicalLeaderApprovalFlag", request.getDepartTechnicalLeaderSignatureResult()); + entity.setDepartTechnicalLeaderSignature(user.getUsername()); + entity.setDepartTechnicalLeaderSignatureTime(new Date()); + entity.setDepartTechnicalLeaderComment(request.getDepartTechnicalLeaderComment()); + //璁剧疆entity + if (BusinessCodeConst.APPROVED.equals(request.getDepartTechnicalLeaderSignatureResult())) { + values.put("NextAssignee", userApprovalList); + entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.PROCESS_TECHNICIAN_SIGNING.name()); + } else { + userApprovalList = Collections.singletonList(entity.getProcessTechnicianSignature()); + values.put("NextAssignee", userApprovalList); + entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.INSPECTOR_SIGNING.name()); + } break; case INSPECTOR_SIGNING: + //璁惧妫�瀵熷憳绛惧瓧 + values.put("dataId", entity.getId()); + values.put("organization", request.getInspectorComment()); + values.put("comment", request.getInspectorComment()); + request.setComment(request.getInspectorComment()); + //璁剧疆entity + entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.COMPLETED.name()); + entity.setInspectorSignature(user.getUsername()); + entity.setInspectorSignatureTime(new Date()); + entity.setInspectorComment(request.getInspectorComment()); + entity.setEvaluationResult(request.getEvaluationResult()); + entity.setEvaluationReason(request.getEvaluationReason()); break; } request.setValues(values); -- Gitblit v1.9.3