From 40bf019f0b348378385ed0a819b5b06e1708d558 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期六, 09 八月 2025 00:19:37 +0800
Subject: [PATCH] 工作流代码

---
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java |  230 +++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 165 insertions(+), 65 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java
index 0003f16..8ac42a8 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java
@@ -129,6 +129,9 @@
             if (StringUtils.isNotBlank(eamReportAccidentsRegisterQuery.getEquipmentName())) {
                 queryWrapper.like("e.equipment_name", eamReportAccidentsRegisterQuery.getEquipmentName());
             }
+            if (StringUtils.isNotBlank(eamReportAccidentsRegisterQuery.getRegisterStatus())) {
+                queryWrapper.eq("aar.register_status", eamReportAccidentsRegisterQuery.getRegisterStatus());
+            }
             queryWrapper.eq("aar.del_flag", CommonConstant.DEL_FLAG_0);
             //鎺掑簭
             if (StringUtils.isNotBlank(eamReportAccidentsRegisterQuery.getColumn()) && StringUtils.isNotBlank(eamReportAccidentsRegisterQuery.getOrder())) {
@@ -223,7 +226,7 @@
     public Result<?> audit(EamReportAccidentsRegisterDto eamReportAccidentsRegisterDto){
         EamReportAccidentsRegister eamReportAccidentsRegister = this.baseMapper.selectById(eamReportAccidentsRegisterDto.getId());
         if (eamReportAccidentsRegister == null) {
-            throw new JeecgBootException("缁翠慨宸ュ崟涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒");
+            throw new JeecgBootException("宸ュ崟涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒");
         }
         // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -271,6 +274,7 @@
                     }
                     values.put("organization",eamReportAccidentsRegisterDto.getDistrictConfirm());
                     values.put("comment", eamReportAccidentsRegisterDto.getDistrictConfirm());
+                    values.put("districtResult", eamReportAccidentsRegisterDto.getDistrictResult());
                     eamReportAccidentsRegisterDto.setComment(eamReportAccidentsRegisterDto.getDistrictConfirm());
                     eamReportAccidentsRegister.setDistrict(user.getUsername());
                     eamReportAccidentsRegister.setDistrictTime(new Date());
@@ -298,16 +302,28 @@
                     }
                     values.put("organization",eamReportAccidentsRegisterDto.getCenterDirectorConfirm());
                     values.put("comment", eamReportAccidentsRegisterDto.getCenterDirectorConfirm());
+                    values.put("centerDirectorResult", eamReportAccidentsRegisterDto.getCenterDirectorResult());
                     eamReportAccidentsRegisterDto.setComment(eamReportAccidentsRegisterDto.getCenterDirectorConfirm());
-                    eamReportAccidentsRegister.setCenterDirector(user.getUsername());
-                    eamReportAccidentsRegister.setCenterDirectorTime(new Date());
-                    eamReportAccidentsRegister.setCenterDirectorResult(eamReportAccidentsRegisterDto.getCenterDirectorResult());
-                    eamReportAccidentsRegister.setCenterDirectorConfirm(eamReportAccidentsRegisterDto.getCenterDirectorConfirm());
                     if ("2".equals(eamReportAccidentsRegisterDto.getCenterDirectorResult())){
-                        //涓績涓讳换鎷掔粷
-                        eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
+                        //涓績涓讳换鎷掔粷椹冲洖
+                        userSelectors= sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0019);
+                        if (CollectionUtil.isEmpty(userSelectors)) {
+                            throw new JeecgBootException("璁惧鏈瓨鍦ㄥ尯闀匡紝鏃犳硶杩涘叆椹冲洖澶勭悊锛�");
+                        }else {
+                            userApprovalList= userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                            values.put("NextAssignee", userApprovalList);
+                            eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_REGIONAL_MANAGER.name());
+                            eamReportAccidentsRegister.setDistrict(null);
+                            eamReportAccidentsRegister.setDistrictTime(null);
+                            eamReportAccidentsRegister.setDistrictResult(null);
+                            eamReportAccidentsRegister.setDistrictConfirm(null);
+                        }
                     }else {
                         eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_REPAIR_WORKER.name());
+                        eamReportAccidentsRegister.setCenterDirector(user.getUsername());
+                        eamReportAccidentsRegister.setCenterDirectorTime(new Date());
+                        eamReportAccidentsRegister.setCenterDirectorResult(eamReportAccidentsRegisterDto.getCenterDirectorResult());
+                        eamReportAccidentsRegister.setCenterDirectorConfirm(eamReportAccidentsRegisterDto.getCenterDirectorConfirm());
                     }
                 }
                 break;
@@ -325,74 +341,118 @@
                     }
                     values.put("organization",eamReportAccidentsRegisterDto.getRepairConfirmComment());
                     values.put("comment", eamReportAccidentsRegisterDto.getRepairConfirmComment());
+                    values.put("repairConfirmResult", eamReportAccidentsRegisterDto.getRepairConfirmResult());
                     eamReportAccidentsRegisterDto.setComment(eamReportAccidentsRegisterDto.getRepairConfirmComment());
-                    eamReportAccidentsRegister.setRepairConfirm(user.getUsername());
-                    eamReportAccidentsRegister.setRepairConfirmTime(new Date());
-                    eamReportAccidentsRegister.setRepairConfirmResult(eamReportAccidentsRegisterDto.getRepairConfirmResult());
-                    eamReportAccidentsRegister.setRepairConfirmComment(eamReportAccidentsRegisterDto.getRepairConfirmComment());
-                    eamReportAccidentsRegister.setReportStartTime(eamReportAccidentsRegisterDto.getReportStartTime());
-                    eamReportAccidentsRegister.setEquipmentStatus(eamReportAccidentsRegisterDto.getEquipmentStatus());
-                    eamReportAccidentsRegister.setCauseAnalysis(eamReportAccidentsRegisterDto.getCauseAnalysis());
-                    eamReportAccidentsRegister.setInspectionResults(eamReportAccidentsRegisterDto.getInspectionResults());
-                    eamReportAccidentsRegister.setTakeSteps(eamReportAccidentsRegisterDto.getTakeSteps());
-                    eamReportAccidentsRegister.setSuggestionTakeSteps(eamReportAccidentsRegisterDto.getSuggestionTakeSteps());
-                    eamReportAccidentsRegister.setSuggestionTakeStepsTime(eamReportAccidentsRegisterDto.getSuggestionTakeStepsTime());
                     if ("2".equals(eamReportAccidentsRegisterDto.getRepairConfirmResult())){
-                        //缁翠慨缁勯暱鎷掔粷
-                        eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
+                        //缁翠慨宸ユ嫆缁�
+                        userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0020);
+                        if (CollectionUtil.isEmpty(userSelectors)) {
+                            throw new JeecgBootException("璁惧鏈瓨鍦ㄤ腑蹇冧富浠伙紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
+                        }else{
+                            userApprovalList= userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                            values.put("NextAssignee", userApprovalList);
+                            eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_CENTER_MANAGER.name());
+                            eamReportAccidentsRegister.setCenterDirector(null);
+                            eamReportAccidentsRegister.setCenterDirectorTime(null);
+                            eamReportAccidentsRegister.setCenterDirectorResult(null);
+                            eamReportAccidentsRegister.setCenterDirectorConfirm(null);
+                        }
                     }else {
                         eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_REPAIR_TEAM_LEADER.name());
+                        eamReportAccidentsRegister.setRepairConfirm(user.getUsername());
+                        eamReportAccidentsRegister.setRepairConfirmTime(new Date());
+                        eamReportAccidentsRegister.setRepairConfirmResult(eamReportAccidentsRegisterDto.getRepairConfirmResult());
+                        eamReportAccidentsRegister.setRepairConfirmComment(eamReportAccidentsRegisterDto.getRepairConfirmComment());
+                        eamReportAccidentsRegister.setReportStartTime(eamReportAccidentsRegisterDto.getReportStartTime());
+                        eamReportAccidentsRegister.setEquipmentStatus(eamReportAccidentsRegisterDto.getEquipmentStatus());
+                        eamReportAccidentsRegister.setCauseAnalysis(eamReportAccidentsRegisterDto.getCauseAnalysis());
+                        eamReportAccidentsRegister.setInspectionResults(eamReportAccidentsRegisterDto.getInspectionResults());
+                        eamReportAccidentsRegister.setTakeSteps(eamReportAccidentsRegisterDto.getTakeSteps());
+                        eamReportAccidentsRegister.setSuggestionTakeSteps(eamReportAccidentsRegisterDto.getSuggestionTakeSteps());
+                        eamReportAccidentsRegister.setSuggestionTakeStepsTime(eamReportAccidentsRegisterDto.getSuggestionTakeStepsTime());
                     }
                 }
                 break;
             //寰呯淮淇粍闀垮鐞�
             case PENDING_REPAIR_TEAM_LEADER:
-                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0013);
-                if (CollectionUtil.isEmpty(userSelectors)) {
-                    throw new JeecgBootException("璁惧鏈瓨鍦ㄧ淮淇尯闀匡紝鏃犳硶杩涘叆涓嬬骇瀹℃壒");
-                }
-                userApprovalList= userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
-                values.put("NextAssignee", userApprovalList);
                 if (StrUtil.isEmpty(eamReportAccidentsRegisterDto.getRepairGroupLeaderComment())){
                     eamReportAccidentsRegisterDto.setRepairGroupLeaderComment("");
                 }
                 values.put("organization",eamReportAccidentsRegisterDto.getRepairGroupLeaderComment());
                 values.put("comment", eamReportAccidentsRegisterDto.getRepairGroupLeaderComment());
+                values.put("repairGroupLeaderResult", eamReportAccidentsRegisterDto.getRepairGroupLeaderResult());
                 eamReportAccidentsRegisterDto.setComment(eamReportAccidentsRegisterDto.getRepairGroupLeaderComment());
-                eamReportAccidentsRegister.setRepairGroupLeader(user.getUsername());
-                eamReportAccidentsRegister.setRepairGroupLeaderTime(new Date());
-                eamReportAccidentsRegister.setRepairGroupLeaderResult(eamReportAccidentsRegisterDto.getRepairGroupLeaderResult());
-                eamReportAccidentsRegister.setRepairGroupLeaderComment(eamReportAccidentsRegisterDto.getRepairGroupLeaderComment());
+
                 if ("2".equals(eamReportAccidentsRegisterDto.getRepairGroupLeaderResult())){
                     //缁翠慨缁勯暱鎷掔粷
-                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
+                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0002);
+                    if (CollectionUtil.isEmpty(userSelectors)) {
+                        throw new JeecgBootException("璁惧鏈瓨鍦ㄧ淮淇伐锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
+                    }else{
+                        userApprovalList= userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                        values.put("NextAssignee", userApprovalList);
+                        eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_REPAIR_WORKER.name());
+                        eamReportAccidentsRegister.setRepairConfirm(null);
+                        eamReportAccidentsRegister.setRepairConfirmTime(null);
+                        eamReportAccidentsRegister.setRepairConfirmResult(null);
+                        eamReportAccidentsRegister.setRepairConfirmComment(null);
+                        eamReportAccidentsRegister.setReportStartTime(null);
+                        eamReportAccidentsRegister.setEquipmentStatus(null);
+                        eamReportAccidentsRegister.setCauseAnalysis(null);
+                        eamReportAccidentsRegister.setInspectionResults(null);
+                        eamReportAccidentsRegister.setTakeSteps(null);
+                        eamReportAccidentsRegister.setSuggestionTakeSteps(null);
+                        eamReportAccidentsRegister.setSuggestionTakeStepsTime(null);
+                    }
                 }else {
+                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0013);
+                    if (CollectionUtil.isEmpty(userSelectors)) {
+                        throw new JeecgBootException("璁惧鏈瓨鍦ㄧ淮淇尯闀匡紝鏃犳硶杩涘叆涓嬬骇瀹℃壒");
+                    }
+                    userApprovalList= userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                    values.put("NextAssignee", userApprovalList);
                     eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_REPAIR_REGIONAL_MANAGER.name());
+                    eamReportAccidentsRegister.setRepairGroupLeader(user.getUsername());
+                    eamReportAccidentsRegister.setRepairGroupLeaderTime(new Date());
+                    eamReportAccidentsRegister.setRepairGroupLeaderResult(eamReportAccidentsRegisterDto.getRepairGroupLeaderResult());
+                    eamReportAccidentsRegister.setRepairGroupLeaderComment(eamReportAccidentsRegisterDto.getRepairGroupLeaderComment());
                 }
                 break;
             //寰呯淮淇尯闀垮鐞�
             case PENDING_REPAIR_REGIONAL_MANAGER:
-                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0021);
-                if (CollectionUtil.isEmpty(userSelectors)) {
-                    throw new JeecgBootException("璁惧鏈瓨鍦ㄦ妧鏈礋璐d汉锛屾棤娉曡繘鍏ヤ笅绾у鎵�");
-                }
-                userApprovalList= userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
-                values.put("NextAssignee", userApprovalList);
                 if (StrUtil.isEmpty(eamReportAccidentsRegisterDto.getRepairDistrictComment())){
                     eamReportAccidentsRegisterDto.setRepairDistrictComment("");
                 }
                 values.put("organization",eamReportAccidentsRegisterDto.getRepairDistrictComment());
                 values.put("comment", eamReportAccidentsRegisterDto.getRepairDistrictComment());
+                values.put("repairDistrictResult", eamReportAccidentsRegisterDto.getRepairDistrictResult());
                 eamReportAccidentsRegisterDto.setComment(eamReportAccidentsRegisterDto.getRepairDistrictComment());
-                eamReportAccidentsRegister.setRepairDistrict(user.getUsername());
-                eamReportAccidentsRegister.setRepairDistrictTime(new Date());
-                eamReportAccidentsRegister.setRepairDistrictResult(eamReportAccidentsRegisterDto.getRepairDistrictResult());
-                eamReportAccidentsRegister.setRepairDistrictComment(eamReportAccidentsRegisterDto.getRepairDistrictComment());
-                if ("2".equals(eamReportAccidentsRegisterDto.getCenterDirectorResult())){
+                if ("2".equals(eamReportAccidentsRegisterDto.getRepairDistrictResult())){
                     //缁翠慨鍖洪暱鎷掔粷
-                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
+                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0008);
+                    if (CollectionUtil.isEmpty(userSelectors)) {
+                        throw new JeecgBootException("璁惧鏈瓨鍦ㄧ淮淇粍闀匡紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
+                    }else{
+                        userApprovalList= userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                        values.put("NextAssignee", userApprovalList);
+                        eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_REPAIR_TEAM_LEADER.name());
+                        eamReportAccidentsRegister.setRepairGroupLeader(null);
+                        eamReportAccidentsRegister.setRepairGroupLeaderTime(null);
+                        eamReportAccidentsRegister.setRepairGroupLeaderResult(null);
+                        eamReportAccidentsRegister.setRepairGroupLeaderComment(null);
+                    }
                 }else {
+                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0021);
+                    if (CollectionUtil.isEmpty(userSelectors)) {
+                        throw new JeecgBootException("璁惧鏈瓨鍦ㄦ妧鏈礋璐d汉锛屾棤娉曡繘鍏ヤ笅绾у鎵�");
+                    }
+                    userApprovalList= userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                    values.put("NextAssignee", userApprovalList);
                     eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_TECHNICAL_RESPONSIBLE.name());
+                    eamReportAccidentsRegister.setRepairDistrict(user.getUsername());
+                    eamReportAccidentsRegister.setRepairDistrictTime(new Date());
+                    eamReportAccidentsRegister.setRepairDistrictResult(eamReportAccidentsRegisterDto.getRepairDistrictResult());
+                    eamReportAccidentsRegister.setRepairDistrictComment(eamReportAccidentsRegisterDto.getRepairDistrictComment());
                 }
                 break;
             //寰呮妧鏈礋璐d汉澶勭悊
@@ -408,20 +468,32 @@
                 }
                 values.put("organization",eamReportAccidentsRegisterDto.getTechnicalDirectorConfirm());
                 values.put("comment", eamReportAccidentsRegisterDto.getTechnicalDirectorConfirm());
+                values.put("technicalDirectorResult", eamReportAccidentsRegisterDto.getTechnicalDirectorResult());
                 eamReportAccidentsRegisterDto.setComment(eamReportAccidentsRegisterDto.getTechnicalDirectorConfirm());
-                eamReportAccidentsRegister.setCheckAgree(eamReportAccidentsRegisterDto.getCheckAgree());
-                eamReportAccidentsRegister.setDisagreeReason(eamReportAccidentsRegisterDto.getDisagreeReason());
-                eamReportAccidentsRegister.setRectificationMeasures(eamReportAccidentsRegisterDto.getRectificationMeasures());
-                eamReportAccidentsRegister.setAccidentConclusion(eamReportAccidentsRegisterDto.getAccidentConclusion());
-                eamReportAccidentsRegister.setTechnicalDirector(user.getUsername());
-                eamReportAccidentsRegister.setTechnicalDirectorTime(new Date());
-                eamReportAccidentsRegister.setTechnicalDirectorResult(eamReportAccidentsRegisterDto.getTechnicalDirectorResult());
-                eamReportAccidentsRegister.setTechnicalDirectorConfirm(eamReportAccidentsRegisterDto.getTechnicalDirectorConfirm());
-                if ("2".equals(eamReportAccidentsRegisterDto.getCenterDirectorResult())){
+                if ("2".equals(eamReportAccidentsRegisterDto.getTechnicalDirectorResult())){
                     //鎶�鏈礋璐d汉鎷掔粷
-                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
+                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0013);
+                    if (CollectionUtil.isEmpty(userSelectors)) {
+                        throw new JeecgBootException("璁惧鏈瓨鍦ㄧ淮淇尯闀匡紝鏃犳硶杩涘叆涓嬬骇瀹℃壒");
+                    }else {
+                        userApprovalList= userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                        values.put("NextAssignee", userApprovalList);
+                        eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_REPAIR_REGIONAL_MANAGER.name());
+                        eamReportAccidentsRegister.setRepairDistrict(null);
+                        eamReportAccidentsRegister.setRepairDistrictTime(null);
+                        eamReportAccidentsRegister.setRepairDistrictResult(null);
+                        eamReportAccidentsRegister.setRepairDistrictComment(null);
+                    }
                 }else {
                     eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_TECHNICAL_SUPERVISOR.name());
+                    eamReportAccidentsRegister.setCheckAgree(eamReportAccidentsRegisterDto.getCheckAgree());
+                    eamReportAccidentsRegister.setDisagreeReason(eamReportAccidentsRegisterDto.getDisagreeReason());
+                    eamReportAccidentsRegister.setRectificationMeasures(eamReportAccidentsRegisterDto.getRectificationMeasures());
+                    eamReportAccidentsRegister.setAccidentConclusion(eamReportAccidentsRegisterDto.getAccidentConclusion());
+                    eamReportAccidentsRegister.setTechnicalDirector(user.getUsername());
+                    eamReportAccidentsRegister.setTechnicalDirectorTime(new Date());
+                    eamReportAccidentsRegister.setTechnicalDirectorResult(eamReportAccidentsRegisterDto.getTechnicalDirectorResult());
+                    eamReportAccidentsRegister.setTechnicalDirectorConfirm(eamReportAccidentsRegisterDto.getTechnicalDirectorConfirm());
                 }
                 break;
             //寰呮妧鏈富绠″绾ч瀵煎鐞�
@@ -437,16 +509,32 @@
                 }
                 values.put("organization",eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderConfirm());
                 values.put("comment", eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderConfirm());
+                values.put("technicalDirectorLeaderResult", eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderResult());
                 eamReportAccidentsRegisterDto.setComment(eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderConfirm());
-                eamReportAccidentsRegister.setTechnicalDirectorLeader(user.getUsername());
-                eamReportAccidentsRegister.setTechnicalDirectorLeaderTime(new Date());
-                eamReportAccidentsRegister.setTechnicalDirectorLeaderResult(eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderResult());
-                eamReportAccidentsRegister.setTechnicalDirectorLeaderConfirm(eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderConfirm());
-                if ("2".equals(eamReportAccidentsRegisterDto.getCenterDirectorResult())){
+                if ("2".equals(eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderResult())){
                     //鎶�鏈富绠″绾ч瀵兼嫆缁�
-                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
+                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0021);
+                    if (CollectionUtil.isEmpty(userSelectors)) {
+                        throw new JeecgBootException("璁惧鏈瓨鍦ㄦ妧鏈礋璐d汉锛屾棤娉曡繘鍏ヤ笅绾у鎵�");
+                    }else {
+                        userApprovalList= userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                        values.put("NextAssignee", userApprovalList);
+                        eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_TECHNICAL_RESPONSIBLE.name());
+                        eamReportAccidentsRegister.setCheckAgree(null);
+                        eamReportAccidentsRegister.setDisagreeReason(null);
+                        eamReportAccidentsRegister.setRectificationMeasures(null);
+                        eamReportAccidentsRegister.setAccidentConclusion(null);
+                        eamReportAccidentsRegister.setTechnicalDirector(null);
+                        eamReportAccidentsRegister.setTechnicalDirectorTime(null);
+                        eamReportAccidentsRegister.setTechnicalDirectorResult(null);
+                        eamReportAccidentsRegister.setTechnicalDirectorConfirm(null);
+                    }
                 }else {
                     eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_SUPERIOR_DEPARTMENT.name());
+                    eamReportAccidentsRegister.setTechnicalDirectorLeader(user.getUsername());
+                    eamReportAccidentsRegister.setTechnicalDirectorLeaderTime(new Date());
+                    eamReportAccidentsRegister.setTechnicalDirectorLeaderResult(eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderResult());
+                    eamReportAccidentsRegister.setTechnicalDirectorLeaderConfirm(eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderConfirm());
                 }
                 break;
             //寰呬富绠¢儴绾ч瀵煎鐞�
@@ -456,16 +544,28 @@
                 }
                 values.put("organization",eamReportAccidentsRegisterDto.getTechnicalDirectorPartConfirm());
                 values.put("comment", eamReportAccidentsRegisterDto.getTechnicalDirectorPartConfirm());
+                values.put("technicalDirectorPartResult", eamReportAccidentsRegisterDto.getTechnicalDirectorPartResult());
                 eamReportAccidentsRegisterDto.setComment(eamReportAccidentsRegisterDto.getTechnicalDirectorPartConfirm());
-                eamReportAccidentsRegister.setTechnicalDirectorPart(user.getUsername());
-                eamReportAccidentsRegister.setTechnicalDirectorPartTime(new Date());
-                eamReportAccidentsRegister.setTechnicalDirectorPartResult(eamReportAccidentsRegisterDto.getTechnicalDirectorPartResult());
-                eamReportAccidentsRegister.setTechnicalDirectorPartConfirm(eamReportAccidentsRegisterDto.getTechnicalDirectorPartConfirm());
-                if ("2".equals(eamReportAccidentsRegisterDto.getCenterDirectorResult())){
+                if ("2".equals(eamReportAccidentsRegisterDto.getTechnicalDirectorPartResult())){
                     //鎶�鏈富绠″绾ч瀵兼嫆缁�
-                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
+                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0022);
+                    if (CollectionUtil.isEmpty(userSelectors)) {
+                        throw new JeecgBootException("璁惧鏈瓨鍦ㄦ妧鏈富绠″绾ч瀵硷紝鏃犳硶杩涘叆涓嬬骇瀹℃壒");
+                    }else {
+                        userApprovalList= userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                        values.put("NextAssignee", userApprovalList);
+                        eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_TECHNICAL_SUPERVISOR.name());
+                        eamReportAccidentsRegister.setTechnicalDirectorLeader(null);
+                        eamReportAccidentsRegister.setTechnicalDirectorLeaderTime(null);
+                        eamReportAccidentsRegister.setTechnicalDirectorLeaderResult(null);
+                        eamReportAccidentsRegister.setTechnicalDirectorLeaderConfirm(null);
+                    }
                 }else {
                     eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REPAIR_COMPLETED.name());
+                    eamReportAccidentsRegister.setTechnicalDirectorPart(user.getUsername());
+                    eamReportAccidentsRegister.setTechnicalDirectorPartTime(new Date());
+                    eamReportAccidentsRegister.setTechnicalDirectorPartResult(eamReportAccidentsRegisterDto.getTechnicalDirectorPartResult());
+                    eamReportAccidentsRegister.setTechnicalDirectorPartConfirm(eamReportAccidentsRegisterDto.getTechnicalDirectorPartConfirm());
                 }
                 break;
             default:

--
Gitblit v1.9.3