From d61b21c50e62298f185ecafa8e0b22f7ee8c4973 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 21 八月 2025 18:13:17 +0800
Subject: [PATCH] 430报表接口与列表流程添加

---
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java |   67 ++++++++++++++++++++++++++++++---
 1 files changed, 61 insertions(+), 6 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java
index 21645f0..8850de0 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java
@@ -22,6 +22,8 @@
 import org.jeecg.modules.eam.constant.BusinessCodeConst;
 import org.jeecg.modules.eam.constant.EamReportAccidentsRegisterEnum;
 import org.jeecg.modules.eam.constant.EamReportProductHazardsEnum;
+import org.jeecg.modules.eam.constant.SecondMaintenanceStatusEnum;
+import org.jeecg.modules.eam.dto.EamReportProductHazardsDto;
 import org.jeecg.modules.eam.dto.EamReportProductHazardsDto;
 import org.jeecg.modules.eam.entity.EamEquipment;
 import org.jeecg.modules.eam.entity.EamReportAccidentsRegister;
@@ -294,15 +296,27 @@
                 values.put("comment", eamReportProductHazardsDto.getDeputyDepartmentComment());
                 values.put("deputyDepartmentResult", eamReportProductHazardsDto.getDeputyDepartmentResult());
                 eamReportProductHazardsDto.setComment(eamReportProductHazardsDto.getDeputyDepartmentComment());
-                eamReportProductHazards.setDeputyDepartment(user.getUsername());
-                eamReportProductHazards.setDeputyDepartmentTime(new Date());
-                eamReportProductHazards.setDeputyDepartmentResult(eamReportProductHazardsDto.getDeputyDepartmentResult());
-                eamReportProductHazards.setDeputyDepartmentComment(eamReportProductHazardsDto.getDeputyDepartmentComment());
+
                 if ("2".equals(eamReportProductHazardsDto.getDeputyDepartmentResult())){
-                    //鍓儴绾ч瀵兼嫆缁�
-                    eamReportProductHazards.setConfirmStatus(EamReportProductHazardsEnum.REJECTED.name());
+                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0024);
+                    if (CollectionUtil.isEmpty(userSelectors)) {
+                        throw new JeecgBootException("璁惧鏈瓨鍦ㄤ富绠″伐鑹猴紝鏃犳硶杩涘叆椹冲洖鎿嶄綔锛�");
+                    }else {
+                        userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                        values.put("NextAssignee", userApprovalList);
+                        //鍓儴绾ч瀵兼嫆缁�
+                        eamReportProductHazards.setConfirmStatus(EamReportProductHazardsEnum.PENDING_SUPERIOR_TECHNICAL_CONFIRMATION.name());
+                        eamReportProductHazards.setTechnologist(null);
+                        eamReportProductHazards.setTechnologistTime(null);
+                        eamReportProductHazards.setTechnologistResult(null);
+                        eamReportProductHazards.setTechnologistComment(null);
+                    }
                 }else {
                     eamReportProductHazards.setConfirmStatus(EamReportProductHazardsEnum.REPAIR_COMPLETED.name());
+                    eamReportProductHazards.setDeputyDepartment(user.getUsername());
+                    eamReportProductHazards.setDeputyDepartmentTime(new Date());
+                    eamReportProductHazards.setDeputyDepartmentResult(eamReportProductHazardsDto.getDeputyDepartmentResult());
+                    eamReportProductHazards.setDeputyDepartmentComment(eamReportProductHazardsDto.getDeputyDepartmentComment());
                 }
                 break;
             default:
@@ -368,6 +382,47 @@
         return true;
     }
 
+    /**
+     * 浜у搧瀹夊叏闅愭偅纭鎵撳嵃
+     * @param ids
+     * @return
+     */
+    @Override
+    public List<EamReportProductHazardsDto> findListByIds(String ids){
+        QueryWrapper<EamReportProductHazardsDto> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("erph.del_flag",CommonConstant.DEL_FLAG_0.toString());
+        queryWrapper.eq("erph.confirm_status",EamReportProductHazardsEnum.REPAIR_COMPLETED.name() );
+        //鐢ㄦ埛鏁版嵁鏉冮檺
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (sysUser == null) {
+            return new ArrayList<>();
+        }
+        if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
+            //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
+            List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
+            queryWrapper.in("e.equipment_code", equipArr);
+        } else {
+            //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶�
+            List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService.
+                    list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId()));
+            if(!CollectionUtils.isEmpty(baseFactoryUserList)){
+                Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet());
+                Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
+                queryWrapper.in("e.factory_org_code", factoryCode);
+            } else {
+                return new ArrayList<>();
+            }
+        }
+        //鏌ヨ鏉′欢杩囨护
+        if (StrUtil.isNotEmpty(ids)) {
+            List<String> idList = Arrays.asList(ids.split(","));
+            queryWrapper.in("erph.id", idList);
+        } else {
+            queryWrapper.orderByDesc("erph.create_time");
+        }
+        return this.baseMapper.queryList(queryWrapper);
+    }
+
     @Override
     public void afterFlowHandle(FlowMyBusiness business) {
 

--
Gitblit v1.9.3