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 |  207 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 148 insertions(+), 59 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 02af5d5..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
@@ -304,15 +304,26 @@
                     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;
@@ -332,33 +343,38 @@
                     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("");
                 }
@@ -366,25 +382,44 @@
                 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("");
                 }
@@ -392,15 +427,32 @@
                 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.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汉澶勭悊
@@ -418,19 +470,30 @@
                 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.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;
             //寰呮妧鏈富绠″绾ч瀵煎鐞�
@@ -448,15 +511,30 @@
                 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.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;
             //寰呬富绠¢儴绾ч瀵煎鐞�
@@ -468,15 +546,26 @@
                 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.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