lyh
3 天以前 40bf019f0b348378385ed0a819b5b06e1708d558
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());
                    if ("2".equals(eamReportAccidentsRegisterDto.getCenterDirectorResult())){
                        //中心主任拒绝驳回
                        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());
                    if ("2".equals(eamReportAccidentsRegisterDto.getCenterDirectorResult())){
                        //中心主任拒绝
                        eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
                    }else {
                        eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_REPAIR_WORKER.name());
                    }
                }
                break;
@@ -332,6 +343,22 @@
                    values.put("comment", eamReportAccidentsRegisterDto.getRepairConfirmComment());
                    values.put("repairConfirmResult", eamReportAccidentsRegisterDto.getRepairConfirmResult());
                    eamReportAccidentsRegisterDto.setComment(eamReportAccidentsRegisterDto.getRepairConfirmComment());
                    if ("2".equals(eamReportAccidentsRegisterDto.getRepairConfirmResult())){
                        //维修工拒绝
                        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());
@@ -343,22 +370,11 @@
                    eamReportAccidentsRegister.setTakeSteps(eamReportAccidentsRegisterDto.getTakeSteps());
                    eamReportAccidentsRegister.setSuggestionTakeSteps(eamReportAccidentsRegisterDto.getSuggestionTakeSteps());
                    eamReportAccidentsRegister.setSuggestionTakeStepsTime(eamReportAccidentsRegisterDto.getSuggestionTakeStepsTime());
                    if ("2".equals(eamReportAccidentsRegisterDto.getRepairConfirmResult())){
                        //维修工拒绝
                        eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
                    }else {
                        eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_REPAIR_TEAM_LEADER.name());
                    }
                }
                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());
                if ("2".equals(eamReportAccidentsRegisterDto.getRepairGroupLeaderResult())){
                    //维修组长拒绝
                    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());
                if ("2".equals(eamReportAccidentsRegisterDto.getRepairGroupLeaderResult())){
                    //维修组长拒绝
                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
                }else {
                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_REPAIR_REGIONAL_MANAGER.name());
                }
                break;
            //待维修区长处理
            case PENDING_REPAIR_REGIONAL_MANAGER:
                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0021);
                if (CollectionUtil.isEmpty(userSelectors)) {
                    throw new JeecgBootException("设备未存在技术负责人,无法进入下级审批");
                }
                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());
                if ("2".equals(eamReportAccidentsRegisterDto.getRepairDistrictResult())){
                    //维修区长拒绝
                    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("设备未存在技术负责人,无法进入下级审批");
                    }
                    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());
                if ("2".equals(eamReportAccidentsRegisterDto.getRepairDistrictResult())){
                    //维修区长拒绝
                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
                }else {
                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_TECHNICAL_RESPONSIBLE.name());
                }
                break;
            //待技术负责人处理
@@ -418,6 +470,22 @@
                values.put("comment", eamReportAccidentsRegisterDto.getTechnicalDirectorConfirm());
                values.put("technicalDirectorResult", eamReportAccidentsRegisterDto.getTechnicalDirectorResult());
                eamReportAccidentsRegisterDto.setComment(eamReportAccidentsRegisterDto.getTechnicalDirectorConfirm());
                if ("2".equals(eamReportAccidentsRegisterDto.getTechnicalDirectorResult())){
                    //技术负责人拒绝
                    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());
@@ -426,11 +494,6 @@
                eamReportAccidentsRegister.setTechnicalDirectorTime(new Date());
                eamReportAccidentsRegister.setTechnicalDirectorResult(eamReportAccidentsRegisterDto.getTechnicalDirectorResult());
                eamReportAccidentsRegister.setTechnicalDirectorConfirm(eamReportAccidentsRegisterDto.getTechnicalDirectorConfirm());
                if ("2".equals(eamReportAccidentsRegisterDto.getTechnicalDirectorResult())){
                    //技术负责人拒绝
                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
                }else {
                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_TECHNICAL_SUPERVISOR.name());
                }
                break;
            //待技术主管室级领导处理
@@ -448,15 +511,30 @@
                values.put("comment", eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderConfirm());
                values.put("technicalDirectorLeaderResult", eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderResult());
                eamReportAccidentsRegisterDto.setComment(eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderConfirm());
                if ("2".equals(eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderResult())){
                    //技术主管室级领导拒绝
                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0021);
                    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_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());
                if ("2".equals(eamReportAccidentsRegisterDto.getTechnicalDirectorLeaderResult())){
                    //技术主管室级领导拒绝
                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
                }else {
                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_SUPERIOR_DEPARTMENT.name());
                }
                break;
            //待主管部级领导处理
@@ -468,15 +546,26 @@
                values.put("comment", eamReportAccidentsRegisterDto.getTechnicalDirectorPartConfirm());
                values.put("technicalDirectorPartResult", eamReportAccidentsRegisterDto.getTechnicalDirectorPartResult());
                eamReportAccidentsRegisterDto.setComment(eamReportAccidentsRegisterDto.getTechnicalDirectorPartConfirm());
                if ("2".equals(eamReportAccidentsRegisterDto.getTechnicalDirectorPartResult())){
                    //技术主管室级领导拒绝
                    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());
                if ("2".equals(eamReportAccidentsRegisterDto.getTechnicalDirectorPartResult())){
                    //技术主管室级领导拒绝
                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REJECTED.name());
                }else {
                    eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.REPAIR_COMPLETED.name());
                }
                break;
            default: