From 2899544d5e9001cdaa824405d234d8e4138f7063 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期六, 12 七月 2025 16:35:49 +0800 Subject: [PATCH] art: 技术状态鉴定工单变更-字典添加 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java | 79 ++++++++++++++++++++++++++++++--------- 1 files changed, 60 insertions(+), 19 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 2734f62..7117add 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 @@ -157,7 +157,7 @@ if (standard == null) { throw new JeecgBootException("鎶�鏈姸鎬侀壌瀹氳鑼冧笉瀛樺湪锛屾坊鍔犲け璐ワ紒"); } - if (!TechnicalStatusEvaluationStandardEnum.ENABLE.name().equals(standard.getStandardStatus())) { + if (!TechnicalStatusEvaluationStandardStatusEnum.ENABLE.name().equals(standard.getStandardStatus())) { throw new JeecgBootException("鎶�鏈姸鎬侀壌瀹氳鑼冩湭鍚敤锛屾坊鍔犲け璐ワ紒"); } List<EamTechnicalStatusEvaluationStandardDetail> standardDetailList = standardDetailService.queryList(standard.getId()); @@ -367,13 +367,18 @@ } } 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); } @@ -394,13 +399,18 @@ } } 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.PRECISION_CHECK.name().equals(item.getCheckCategory())).collect(Collectors.toList()); + if(CollectionUtil.isEmpty(collect)) { + throw new JeecgBootException("璁惧绮惧害妫�鏌ラ」鏄庣粏涓虹┖锛�"); } + //缁撴灉椤规鏌� + 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); } @@ -422,13 +432,20 @@ } } 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.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.setPrecisionCheckCompleted(CommonConstant.STATUS_1); values.put("NextAssignee", userApprovalList); entity.setOtherCheckCompleted(CommonConstant.STATUS_1); } @@ -553,6 +570,30 @@ return entity; } + 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();//鎺ヤ笅鏉ュ鎵圭殑鑺傜偣 -- Gitblit v1.9.3