From 7d5d6d104b0ad994b62b53683d752b4fec61b8c1 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期二, 15 七月 2025 21:13:29 +0800 Subject: [PATCH] art: 技术状态鉴定工单-字段转译 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java | 318 ++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 217 insertions(+), 101 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..3a7c6ba 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 @@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -17,10 +18,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 +65,8 @@ private ISysBusinessCodeRuleService businessCodeRuleService; @Autowired private IEamTechnicalStatusEvaluationStandardService standardService; + @Autowired + private IEamTechnicalStatusEvaluationStandardDetailService standardDetailService; @Autowired private IEamBaseHFCodeService hfCodeService; @Autowired @@ -158,6 +158,13 @@ if (standard == null) { throw new JeecgBootException("鎶�鏈姸鎬侀壌瀹氳鑼冧笉瀛樺湪锛屾坊鍔犲け璐ワ紒"); } + if (!TechnicalStatusEvaluationStandardStatusEnum.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 +204,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 +278,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); @@ -333,6 +331,9 @@ List<UserSelector> userSelectors; switch (status) { case UNDER_EVALUATION: + if(CollectionUtil.isEmpty(request.getTableDetailList())) { + throw new JeecgBootException("妫�鏌ユ槑缁嗕俊鎭负绌猴紒"); + } boolean parallelCompletion = flowTaskService.checkParallelCompletion(flowMyBusiness.getTaskId()); //鎵ц瀹屾垚 userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0008); @@ -345,7 +346,10 @@ values.put("comment", "鎶�鏈姸鎬侀壌瀹氭墽琛岀粨鏉�"); request.setComment("鎶�鏈姸鎬侀壌瀹氭墽琛岀粨鏉�"); //璁剧疆entity - if (parallelCompletion) { + if (CommonConstant.STATUS_1.equals(entity.getSafetyCheckCompleted()) + && CommonConstant.STATUS_1.equals(entity.getPrecisionCheckCompleted()) + && CommonConstant.STATUS_1.equals(entity.getOtherCheckCompleted()) + && parallelCompletion) { //澶氫釜浠诲姟閮藉凡瀹屾垚涓旂淮淇涓讳换閮藉凡瀹℃壒閫氳繃,浼氱瀹屾垚锛岃繘琛岀淮淇伐绛惧瓧 userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0002); userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); @@ -355,94 +359,102 @@ } if ("safety_equipment_check".equals(flowMyBusiness.getTaskNameId())) { //鎵ц瀹夊叏妫�鏌� - 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())) { - //椹冲洖 缁欑洃瀵熶汉 - userApprovalList = Collections.singletonList(request.getTableDetailList().get(0).getRepairmanSignature()); - values.put("NextAssignee", userApprovalList); - entity.setSafetyCheckCompleted(CommonConstant.STATUS_0); - } - }else { - //瀹夊叏瑁呯疆妫�鏌ョ粨鏋滃~鎶� - if(CollectionUtil.isNotEmpty(request.getTableDetailList())) { - for (EamTechnicalStatusEvaluationOrderDetail detail : request.getTableDetailList()) { - detail.setRepairmanSignature(user.getUsername()); - detail.setRepairmanSignatureTime(new Date()); - } - orderDetailService.updateBatchById(request.getTableDetailList()); - } + //瀹夊叏瑁呯疆妫�鏌ョ粨鏋滃~鎶� + List<EamTechnicalStatusEvaluationOrderDetail> collect = request.getTableDetailList().stream().filter(item -> TechnicalStatusEvaluationCheckCategoryEnum.SAFETY_EQUIPMENT_CHECK.name().equals(item.getCheckCategory())).collect(Collectors.toList()); + if (CollectionUtil.isEmpty(collect)) { + throw new JeecgBootException("瀹夊叏瑁呯疆妫�鏌ラ」鏄庣粏涓虹┖锛�"); + } + //缁撴灉椤规鏌� + checkDetailResult(request.getTableDetailList(), TechnicalStatusEvaluationCheckCategoryEnum.SAFETY_EQUIPMENT_CHECK); + //娣诲姞鎿嶄綔浜轰俊鎭� + for (EamTechnicalStatusEvaluationOrderDetail detail : collect) { + detail.setRepairmanSignature(user.getUsername()); + detail.setRepairmanSignatureTime(new Date()); + } + orderDetailService.updateBatchById(collect); + values.put("NextAssignee", userApprovalList); + entity.setSafetyCheckCompleted(CommonConstant.STATUS_1); + } else if ("safety_equipment_check_confirm".equals(flowMyBusiness.getTaskNameId()) && 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())) { + //椹冲洖 缁欑洃瀵熶汉 + userApprovalList = Collections.singletonList(request.getTableDetailList().get(0).getRepairmanSignature()); values.put("NextAssignee", userApprovalList); - entity.setSafetyCheckCompleted(CommonConstant.STATUS_1); + entity.setSafetyCheckCompleted(CommonConstant.STATUS_0); } } else if ("equipment_precision_check".equals(flowMyBusiness.getTaskNameId())) { //澶勭悊绮惧害妫�楠� - 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())) { - //椹冲洖 缁欑洃瀵熶汉 - userApprovalList = Collections.singletonList(request.getTableDetailList().get(0).getRepairmanSignature()); - values.put("NextAssignee", userApprovalList); - entity.setPrecisionCheckCompleted(CommonConstant.STATUS_0); - } - }else { - //璁惧绮惧害妫�鏌ョ粨鏋滃~鎶� - if(CollectionUtil.isNotEmpty(request.getTableDetailList())) { - for (EamTechnicalStatusEvaluationOrderDetail detail : request.getTableDetailList()) { - detail.setRepairmanSignature(user.getUsername()); - detail.setRepairmanSignatureTime(new Date()); - } - orderDetailService.updateBatchById(request.getTableDetailList()); - } - values.put("NextAssignee", userApprovalList); - entity.setPrecisionCheckCompleted(CommonConstant.STATUS_1); + //璁惧绮惧害妫�鏌ョ粨鏋滃~鎶� + List<EamTechnicalStatusEvaluationOrderDetail> collect = request.getTableDetailList().stream().filter(item -> TechnicalStatusEvaluationCheckCategoryEnum.PRECISION_CHECK.name().equals(item.getCheckCategory())).collect(Collectors.toList()); + if (CollectionUtil.isEmpty(collect)) { + throw new JeecgBootException("璁惧绮惧害妫�鏌ラ」鏄庣粏涓虹┖锛�"); } - - } else if("other_check".equals(flowMyBusiness.getTaskNameId())) { - //澶勭悊鍏朵粬妫�鏌� - 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())) { - //椹冲洖 缁欑洃瀵熶汉 - userApprovalList = Collections.singletonList(request.getTableDetailList().get(0).getRepairmanSignature()); - values.put("NextAssignee", userApprovalList); - entity.setOtherCheckCompleted(CommonConstant.STATUS_0); - } - }else { - //鍏朵粬妫�鏌ョ粨鏋滃~鎶� - if(CollectionUtil.isNotEmpty(request.getTableDetailList())) { - for (EamTechnicalStatusEvaluationOrderDetail detail : request.getTableDetailList()) { - detail.setRepairmanSignature(user.getUsername()); - detail.setRepairmanSignatureTime(new Date()); - } - orderDetailService.updateBatchById(request.getTableDetailList()); - } + //缁撴灉椤规鏌� + checkDetailResult(request.getTableDetailList(), TechnicalStatusEvaluationCheckCategoryEnum.PRECISION_CHECK); + //娣诲姞鎿嶄綔浜轰俊鎭� + for (EamTechnicalStatusEvaluationOrderDetail detail : collect) { + detail.setRepairmanSignature(user.getUsername()); + detail.setRepairmanSignatureTime(new Date()); + } + orderDetailService.updateBatchById(collect); + values.put("NextAssignee", userApprovalList); + entity.setPrecisionCheckCompleted(CommonConstant.STATUS_1); + } else if ("equipment_precision_check_confirm".equals(flowMyBusiness.getTaskNameId()) && 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())) { + //椹冲洖 缁欑洃瀵熶汉 + userApprovalList = Collections.singletonList(request.getTableDetailList().get(0).getRepairmanSignature()); values.put("NextAssignee", userApprovalList); - entity.setOtherCheckCompleted(CommonConstant.STATUS_1); + entity.setPrecisionCheckCompleted(CommonConstant.STATUS_0); + } + } else if ("other_check".equals(flowMyBusiness.getTaskNameId())) { + //澶勭悊鍏朵粬妫�鏌� + //鍏朵粬妫�鏌ョ粨鏋滃~鎶� + List<EamTechnicalStatusEvaluationOrderDetail> collect = request.getTableDetailList().stream().filter(item -> TechnicalStatusEvaluationCheckCategoryEnum.OTHER_CHECK.name().equals(item.getCheckCategory())).collect(Collectors.toList()); + if (CollectionUtil.isEmpty(collect)) { + throw new JeecgBootException("鍏朵粬妫�鏌ラ」鏄庣粏涓虹┖锛�"); + } + //缁撴灉椤规鏌� + checkDetailResult(request.getTableDetailList(), TechnicalStatusEvaluationCheckCategoryEnum.OTHER_CHECK); + //娣诲姞鎿嶄綔浜轰俊鎭� + for (EamTechnicalStatusEvaluationOrderDetail detail : collect) { + detail.setRepairmanSignature(user.getUsername()); + detail.setRepairmanSignatureTime(new Date()); + } + orderDetailService.updateBatchById(collect); + values.put("NextAssignee", userApprovalList); + entity.setOtherCheckCompleted(CommonConstant.STATUS_1); + } else if ("other_check_confirm".equals(flowMyBusiness.getTaskNameId()) && CommonConstant.STATUS_1.equals(entity.getOtherCheckCompleted())) { + values.put("otherCheckFlag", request.getOtherCheckConfirmResult()); + entity.setOtherCheckConfirmResult(request.getOtherCheckConfirmResult()); + entity.setOtherCheckConfirm(user.getUsername()); + entity.setOtherCheckConfirmTime(new Date()); + entity.setOtherCheckConfirmComment(request.getOtherCheckConfirmComment()); + //缁翠慨瀹や富浠诲鎵� + if (!CommonConstant.STATUS_1.equals(request.getOtherCheckConfirmResult())) { + //椹冲洖 缁欑洃瀵熶汉 + userApprovalList = Collections.singletonList(request.getTableDetailList().get(0).getRepairmanSignature()); + values.put("NextAssignee", userApprovalList); + entity.setOtherCheckCompleted(CommonConstant.STATUS_0); } } 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 +471,91 @@ 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.setRepairManagerSignatureResult(request.getRepairManagerSignatureResult()); + //璁剧疆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.setDepartTechnicalLeaderSignatureResult(request.getDepartTechnicalLeaderSignatureResult()); + //璁剧疆entity + if (BusinessCodeConst.APPROVED.equals(request.getDepartTechnicalLeaderSignatureResult())) { + values.put("NextAssignee", userApprovalList); + entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.INSPECTOR_SIGNING.name()); + } else { + userApprovalList = Collections.singletonList(entity.getProcessTechnicianSignature()); + values.put("NextAssignee", userApprovalList); + entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.PROCESS_TECHNICIAN_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); @@ -491,6 +571,42 @@ } @Override + @Transactional(rollbackFor = Exception.class) + public boolean updateEvaluationStatus(String orderId, String evaluationStatus) { + UpdateWrapper<EamTechnicalStatusEvaluationOrder> updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("order_id", orderId); + updateWrapper.set("evaluation_status", evaluationStatus); + updateWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0); + updateWrapper.eq("evaluation_status", TechnicalStatusEvaluationOrderStatusEnum.WAIT_EVALUATION.name()); + int update = this.getBaseMapper().update(null, updateWrapper); + return update > 0; + } + + private void checkDetailResult(List<EamTechnicalStatusEvaluationOrderDetail> detailList, TechnicalStatusEvaluationCheckCategoryEnum checkCategory) { + boolean b; + switch (checkCategory) { + case SAFETY_EQUIPMENT_CHECK: + b = detailList.stream().allMatch(item -> StringUtils.isNotBlank(item.getSafetyEquipmentCheckResult())); + if (!b) { + throw new JeecgBootException("鏈夊畨鍏ㄨ缃鏌ョ粨鏋滄湭濉啓锛�"); + } + break; + case PRECISION_CHECK: + b = detailList.stream().allMatch(item -> item.getPrecisionCheckResult() != null); + if (!b) { + throw new JeecgBootException("鏈夎澶囩簿搴︽鏌ョ粨鏋滄湭濉啓锛�"); + } + break; + case OTHER_CHECK: + b = detailList.stream().allMatch(item -> StringUtils.isNotBlank(item.getOtherCheckResult())); + if (!b) { + throw new JeecgBootException("鏈夊叾浠栨鏌ョ粨鏋滄湭濉啓锛�"); + } + break; + } + } + + @Override public void afterFlowHandle(FlowMyBusiness business) { business.getTaskNameId();//鎺ヤ笅鏉ュ鎵圭殑鑺傜偣 business.getValues();//鍓嶇浼犺繘鏉ョ殑鍙傛暟 -- Gitblit v1.9.3