From 06d7422f44d0c3103dd00e360e9a4362817b3e59 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期六, 12 七月 2025 14:59:52 +0800 Subject: [PATCH] art: 技术状态鉴定工单-审批接口优化 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java | 78 ++++++++++++++++++++++++++++++--------- 1 files changed, 60 insertions(+), 18 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..f64b5b6 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 @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import liquibase.pro.packaged.E; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.flowable.engine.TaskService; @@ -367,13 +368,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 +400,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 +433,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 +571,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