From cb404c4bfcb239fa7cf69b0937541f304db5c356 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期二, 15 七月 2025 15:51:56 +0800 Subject: [PATCH] art: 技术状态鉴定工单-流程问题修改 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java | 186 +++++++++++++++++++++++---------------------- 1 files changed, 95 insertions(+), 91 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 7117add..7aab053 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; @@ -352,102 +353,93 @@ } 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 { - //瀹夊叏瑁呯疆妫�鏌ョ粨鏋滃~鎶� - 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); + //瀹夊叏瑁呯疆妫�鏌ョ粨鏋滃~鎶� + 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 { - //璁惧绮惧害妫�鏌ョ粨鏋滃~鎶� - 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); + //璁惧绮惧害妫�鏌ョ粨鏋滃~鎶� + 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); + } 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.setPrecisionCheckCompleted(CommonConstant.STATUS_0); + } } 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 { - //鍏朵粬妫�鏌ョ粨鏋滃~鎶� - 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); + //鍏朵粬妫�鏌ョ粨鏋滃~鎶� + 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.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.setPrecisionCheckCompleted(CommonConstant.STATUS_1); - values.put("NextAssignee", userApprovalList); - entity.setOtherCheckCompleted(CommonConstant.STATUS_1); + entity.setOtherCheckCompleted(CommonConstant.STATUS_0); } } break; @@ -570,24 +562,36 @@ return entity; } + @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) { + if (!b) { throw new JeecgBootException("鏈夊畨鍏ㄨ缃鏌ョ粨鏋滄湭濉啓锛�"); } break; case PRECISION_CHECK: b = detailList.stream().allMatch(item -> item.getPrecisionCheckResult() != null); - if(!b) { + if (!b) { throw new JeecgBootException("鏈夎澶囩簿搴︽鏌ョ粨鏋滄湭濉啓锛�"); } break; case OTHER_CHECK: b = detailList.stream().allMatch(item -> StringUtils.isNotBlank(item.getOtherCheckResult())); - if(!b) { + if (!b) { throw new JeecgBootException("鏈夊叾浠栨鏌ョ粨鏋滄湭濉啓锛�"); } break; -- Gitblit v1.9.3