From 3a1b824203d9e6a4c2a55e2d0d8adc0bae4f03d0 Mon Sep 17 00:00:00 2001
From: zf <1603559716@qq.com>
Date: 星期一, 25 三月 2024 13:11:32 +0800
Subject: [PATCH] 安全物资和设备管理调整v2

---
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java |  206 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 128 insertions(+), 78 deletions(-)

diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java
index e59c480..436069c 100644
--- a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java
@@ -14,6 +14,10 @@
 import com.gkhy.safePlatform.commons.vo.ResultVO;
 import com.gkhy.safePlatform.commons.vo.SearchResultVO;
 import com.gkhy.safePlatform.equipment.entity.*;
+import com.gkhy.safePlatform.equipment.enums.EquipmentLifeCycleEnum;
+import com.gkhy.safePlatform.equipment.enums.EquipmentRepairStatusEnum;
+import com.gkhy.safePlatform.equipment.enums.EquipmentResultCodes;
+import com.gkhy.safePlatform.equipment.enums.EquipmentStopStatusEnum;
 import com.gkhy.safePlatform.equipment.excepiton.EquipmentException;
 import com.gkhy.safePlatform.equipment.model.dto.req.*;
 import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentInfoDto;
@@ -235,6 +239,10 @@
 
     @Override
     public void addOrUpdate(EquipmentInfoSaveOrUpdate infoDto) {
+
+	    // 验证枚举
+        checkEnum(infoDto);
+
         if(infoDto.getInfoType() == null || infoDto.getEquipmentTypeId() == null){
             throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL);
         }
@@ -253,45 +261,55 @@
 
         //保存设备保养
         List<EquipmentTakecareDetail> takecareDetailList = infoDto.getTakecareDetailList();
-        takecareDetailList.forEach(f->{
-            f.setEquipmentId(equipmentInfo.getId());
-            f.setInfoTpe(equipmentInfo.getInfoType());
-        });
-        equipmentTakecareDetailBaseService.saveOrUpdateBatch(takecareDetailList);
-        if(StringUtils.hasText(infoDto.getDelTakecareDetails())){
-            List<Long> idList = Arrays.stream(infoDto.getDelTakecareDetails().split(",")).map(s-> Long.parseLong(s.trim()))
-                    .collect(Collectors.toList());
-
-            List<EquipmentTakecareDetail> delList = new ArrayList<>();
-            idList.forEach(f->{
-                EquipmentTakecareDetail info = new EquipmentTakecareDetail();
-                info.setDelFlag(1);
-                info.setId(f);
-                delList.add(info);
+        if(takecareDetailList != null && !takecareDetailList.isEmpty()){
+            takecareDetailList.forEach(f->{
+                f.setEquipmentId(equipmentInfo.getId());
+                f.setInfoTpe(equipmentInfo.getInfoType());
             });
-            equipmentTakecareDetailBaseService.updateBatchById(delList);
+            equipmentTakecareDetailBaseService.saveOrUpdateBatch(takecareDetailList);
+        }
+        if(infoDto.getTakecareDetailList() != null){
+            if(StringUtils.hasText(infoDto.getDelTakecareDetails())){
+                List<Long> idList = Arrays.stream(infoDto.getDelTakecareDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                        .collect(Collectors.toList());
+
+                if(idList != null && !idList.isEmpty()){
+                    List<EquipmentTakecareDetail> delList = new ArrayList<>();
+                    idList.forEach(f->{
+                        EquipmentTakecareDetail info = new EquipmentTakecareDetail();
+                        info.setDelFlag(1);
+                        info.setId(f);
+                        delList.add(info);
+                    });
+                    equipmentTakecareDetailBaseService.updateBatchById(delList);
+                }
+            }
         }
 
 
 
         //保存设备检测
         List<EquipmentTestDetail> testDetailList = infoDto.getTestDetailList();
-        testDetailList.forEach(f->{
-            f.setEquipmentId(equipmentInfo.getId());
-            f.setInfoTpe(equipmentInfo.getInfoType());
-        });
-        equipmentTestDetailBaseService.saveOrUpdateBatch(testDetailList);
-        if(StringUtils.hasText(infoDto.getDelTestDetails())){
-            List<Long> idList = Arrays.stream(infoDto.getDelTestDetails().split(",")).map(s-> Long.parseLong(s.trim()))
-                    .collect(Collectors.toList());
-            List<EquipmentTestDetail> delList = new ArrayList<>();
-            idList.forEach(f->{
-                EquipmentTestDetail info = new EquipmentTestDetail();
-                info.setDelFlag(1);
-                info.setId(f);
-                delList.add(info);
+        if(testDetailList != null && !testDetailList.isEmpty()){
+            testDetailList.forEach(f->{
+                f.setEquipmentId(equipmentInfo.getId());
+                f.setInfoTpe(equipmentInfo.getInfoType());
             });
-            equipmentTestDetailBaseService.updateBatchById(delList);
+            equipmentTestDetailBaseService.saveOrUpdateBatch(testDetailList);
+        }
+        if(infoDto.getDelTestDetails() != null && !infoDto.getDelTestDetails().isEmpty()){
+            if(StringUtils.hasText(infoDto.getDelTestDetails())){
+                List<Long> idList = Arrays.stream(infoDto.getDelTestDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                        .collect(Collectors.toList());
+                List<EquipmentTestDetail> delList = new ArrayList<>();
+                idList.forEach(f->{
+                    EquipmentTestDetail info = new EquipmentTestDetail();
+                    info.setDelFlag(1);
+                    info.setId(f);
+                    delList.add(info);
+                });
+                equipmentTestDetailBaseService.updateBatchById(delList);
+            }
         }
 
         //设备检查 TODO
@@ -299,64 +317,77 @@
 
         //保存设备维修
         List<EquipmentRepairDetail> repaireDetailList = infoDto.getRepaireDetailList();
-        repaireDetailList.forEach(f->{
-            f.setEquipmentId(equipmentInfo.getId());
-            f.setInfoTpe(equipmentInfo.getInfoType());
-        });
-        equipmentRepairDetailBaseService.saveOrUpdateBatch(repaireDetailList);
-        if(StringUtils.hasText(infoDto.getDelRepaireDetails())){
-            List<Long> idList = Arrays.stream(infoDto.getDelRepaireDetails().split(",")).map(s-> Long.parseLong(s.trim()))
-                    .collect(Collectors.toList());
-            List<EquipmentRepairDetail> delList = new ArrayList<>();
-            idList.forEach(f->{
-                EquipmentRepairDetail info = new EquipmentRepairDetail();
-                info.setDelFlag(1);
-                info.setId(f);
-                delList.add(info);
+        if(repaireDetailList != null && !repaireDetailList.isEmpty()){
+            repaireDetailList.forEach(f->{
+                f.setEquipmentId(equipmentInfo.getId());
+                f.setInfoTpe(equipmentInfo.getInfoType());
             });
-            equipmentRepairDetailBaseService.updateBatchById(delList);
+            equipmentRepairDetailBaseService.saveOrUpdateBatch(repaireDetailList);
         }
+        if(infoDto.getDelRepaireDetails() != null && !infoDto.getDelRepaireDetails().isEmpty()){
+            if(StringUtils.hasText(infoDto.getDelRepaireDetails())){
+                List<Long> idList = Arrays.stream(infoDto.getDelRepaireDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                        .collect(Collectors.toList());
+                List<EquipmentRepairDetail> delList = new ArrayList<>();
+                idList.forEach(f->{
+                    EquipmentRepairDetail info = new EquipmentRepairDetail();
+                    info.setDelFlag(1);
+                    info.setId(f);
+                    delList.add(info);
+                });
+                equipmentRepairDetailBaseService.updateBatchById(delList);
+            }
+        }
+
 
         //保存检查标准
         List<EquipmentCheckStandardDetail> checkStandardeDetailList = infoDto.getCheckStandardeDetailList();
-        checkStandardeDetailList.forEach(f->{
-            f.setEquipmentId(equipmentInfo.getId());
-            f.setInfoTpe(equipmentInfo.getInfoType());
-        });
-        equipmentCheckStandardDetailBaseService.saveOrUpdateBatch(checkStandardeDetailList);
-        if(StringUtils.hasText(infoDto.getDelCheckStandardeDetails())){
-            List<Long> idList = Arrays.stream(infoDto.getDelCheckStandardeDetails().split(",")).map(s-> Long.parseLong(s.trim()))
-                    .collect(Collectors.toList());
-            List<EquipmentCheckStandardDetail> delList = new ArrayList<>();
-            idList.forEach(f->{
-                EquipmentCheckStandardDetail info = new EquipmentCheckStandardDetail();
-                info.setDelFlag(1);
-                info.setId(f);
-                delList.add(info);
+        if(checkStandardeDetailList != null && !checkStandardeDetailList.isEmpty()){
+            checkStandardeDetailList.forEach(f->{
+                f.setEquipmentId(equipmentInfo.getId());
+                f.setInfoTpe(equipmentInfo.getInfoType());
             });
-            equipmentCheckStandardDetailBaseService.updateBatchById(delList);
+            equipmentCheckStandardDetailBaseService.saveOrUpdateBatch(checkStandardeDetailList);
         }
+        if(infoDto.getDelCheckStandardeDetails() != null && !infoDto.getDelCheckStandardeDetails().isEmpty()){
+            if(StringUtils.hasText(infoDto.getDelCheckStandardeDetails())){
+                List<Long> idList = Arrays.stream(infoDto.getDelCheckStandardeDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                        .collect(Collectors.toList());
+                List<EquipmentCheckStandardDetail> delList = new ArrayList<>();
+                idList.forEach(f->{
+                    EquipmentCheckStandardDetail info = new EquipmentCheckStandardDetail();
+                    info.setDelFlag(1);
+                    info.setId(f);
+                    delList.add(info);
+                });
+                equipmentCheckStandardDetailBaseService.updateBatchById(delList);
+            }
+        }
+
 
         //保存保养标准
         List<EquipmentTakecareStardardDetail> takecareStardardeDetailList = infoDto.getTakecareStardardeDetailList();
-        takecareStardardeDetailList.forEach(f->{
-            f.setEquipmentId(equipmentInfo.getId());
-            f.setInfoTpe(equipmentInfo.getInfoType());
-        });
-        equipmentTakecareStardardDetailBaseService.saveOrUpdateBatch(takecareStardardeDetailList);
-        if(StringUtils.hasText(infoDto.getDelTakecareStardardeDetails())){
-            List<Long> idList = Arrays.stream(infoDto.getDelTakecareStardardeDetails().split(",")).map(s-> Long.parseLong(s.trim()))
-                    .collect(Collectors.toList());
-            List<EquipmentTakecareStardardDetail> delList = new ArrayList<>();
-            idList.forEach(f->{
-                EquipmentTakecareStardardDetail info = new EquipmentTakecareStardardDetail();
-                info.setDelFlag(1);
-                info.setId(f);
-                delList.add(info);
+        if(takecareStardardeDetailList != null && !takecareStardardeDetailList.isEmpty()){
+            takecareStardardeDetailList.forEach(f->{
+                f.setEquipmentId(equipmentInfo.getId());
+                f.setInfoTpe(equipmentInfo.getInfoType());
             });
-            equipmentTakecareStardardDetailBaseService.updateBatchById(delList);
+            equipmentTakecareStardardDetailBaseService.saveOrUpdateBatch(takecareStardardeDetailList);
         }
-
+        if(infoDto.getDelTakecareStardardeDetails() != null && !infoDto.getDelTakecareStardardeDetails().isEmpty()){
+            if(StringUtils.hasText(infoDto.getDelTakecareStardardeDetails())){
+                List<Long> idList = Arrays.stream(infoDto.getDelTakecareStardardeDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                        .collect(Collectors.toList());
+                List<EquipmentTakecareStardardDetail> delList = new ArrayList<>();
+                idList.forEach(f->{
+                    EquipmentTakecareStardardDetail info = new EquipmentTakecareStardardDetail();
+                    info.setDelFlag(1);
+                    info.setId(f);
+                    delList.add(info);
+                });
+                equipmentTakecareStardardDetailBaseService.updateBatchById(delList);
+            }
+        }
 
     }
 
@@ -559,4 +590,23 @@
         ExcelUtil.exportExcel(map,respList , response.getOutputStream(),DateUtils.PATTERN_STANDARD);
         response.getOutputStream().close();
     }
-}
\ No newline at end of file
+
+
+    /**
+     * 枚举验证
+     * @param infoDto
+     */
+    public void checkEnum(EquipmentInfoSaveOrUpdate infoDto){
+        if (EquipmentLifeCycleEnum.getByCode(infoDto.getLifeCycle()) == null) {
+            throw new EquipmentException(EquipmentResultCodes.EQUIPMENT_ENUM_LIFE_CYCLE_NOT_EXIST);
+        }
+
+        if (EquipmentRepairStatusEnum.getByCode(infoDto.getRepairStatus()) == null) {
+            throw new EquipmentException(EquipmentResultCodes.EQUIPMENT_ENUM_STOP_STATUS_NOT_EXIST);
+        }
+
+        if (EquipmentStopStatusEnum.getByCode(infoDto.getStopStatus()) == null) {
+            throw new EquipmentException(EquipmentResultCodes.EQUIPMENT_ENUM_REPAIR_STATUS_NOT_EXIST);
+        }
+    }
+}

--
Gitblit v1.9.2