From 0414ddb0b2b3a7199ae6181a770f97ac140dbd73 Mon Sep 17 00:00:00 2001
From: zhangf <1603559716@qq.com>
Date: 星期三, 08 五月 2024 16:46:22 +0800
Subject: [PATCH] spi统计

---
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencySuppliesServiceImpl.java |   73 ++++++++++++++++++++++++++++++++++--
 1 files changed, 69 insertions(+), 4 deletions(-)

diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencySuppliesServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencySuppliesServiceImpl.java
index 442af4e..b05a09b 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencySuppliesServiceImpl.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencySuppliesServiceImpl.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService;
 import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepInfoRPCRespDTO;
+import com.gkhy.safePlatform.commons.co.ContextCacheUser;
+import com.gkhy.safePlatform.commons.enums.E;
 import com.gkhy.safePlatform.commons.enums.ResultCodes;
 import com.gkhy.safePlatform.commons.query.PageQuery;
 import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
@@ -28,10 +30,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service("emergencySuppliesService")
 public class EmergencySuppliesServiceImpl implements EmergencySuppliesService {
@@ -196,6 +196,50 @@
         }
     }
 
+    /**
+     * 按照物资类型分类获取列表
+     * @param currentUser
+     * @return
+     */
+    @Override
+    public List<EmergencySuppliesTypeRespDTO> emergencySuppliesList(ContextCacheUser currentUser) {
+
+        List<EmergencySuppliesInfo> emergencySuppliesInfoList = emergencySuppliesInfoService.listByNoConditions();
+        List<EmergencySuppliesTypeRespDTO> typeRespDTOList = new ArrayList<>();
+        for (EmergencySuppliesClassificationEnum teamLevelEnum : EmergencySuppliesClassificationEnum.values()) {
+            EmergencySuppliesTypeRespDTO typeRespDTO = new EmergencySuppliesTypeRespDTO();
+            typeRespDTO.setMaterialType(teamLevelEnum.getCode());
+            typeRespDTO.setMaterialTypeName(teamLevelEnum.getValue());
+            List<EmergencySuppliesRespDTO> respDTOList = new ArrayList<>();
+            List<EmergencySuppliesInfo> collect = emergencySuppliesInfoList.stream().filter(item -> item.getClassification().equals(teamLevelEnum.getCode())).collect(Collectors.toList());
+            if(!CollectionUtils.isEmpty(collect)){
+                for (EmergencySuppliesInfo info : collect) {
+                    EmergencySuppliesRespDTO respDTO = new EmergencySuppliesRespDTO();
+                    BeanUtils.copyProperties(info,respDTO);
+                    respDTO.setMaterialType(info.getClassification());
+                    respDTO.setMaterialTypeName(teamLevelEnum.getValue());
+                    respDTOList.add(respDTO);
+                }
+            }
+            typeRespDTO.setList(respDTOList);
+            typeRespDTOList.add(typeRespDTO);
+        }
+        return typeRespDTOList;
+    }
+
+    @Override
+    public List<EmergencySuppliesRespDTO> listCountByIds(ContextCacheUser currentUser, List<Long> ids) {
+        if(null == ids || ids.size() == 0 ){
+            throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL);
+        }
+        List<EmergencySuppliesInfo> emergencySuppliesInfos = emergencySuppliesInfoService.listCountByIds(ids);
+        List<EmergencySuppliesRespDTO> respDTOList = new ArrayList<>();
+        if(!CollectionUtils.isEmpty(emergencySuppliesInfos)){
+            respDTOList = BeanCopyUtils.copyBeanList(emergencySuppliesInfos,EmergencySuppliesRespDTO.class);
+        }
+        return respDTOList;
+    }
+
     private void deleteEmergencySupplies(Long id) {
         //查询是否存在
         EmergencySuppliesInfoDetailDO emergencySuppliesInfoDetailDO = emergencySuppliesInfoService.selectEmergencySuppliesById(id);
@@ -212,6 +256,8 @@
 
         }
     }
+
+
 
     /**
      * 验证必填项
@@ -235,4 +281,23 @@
             throw new EmergencyException(EmergencyResultCodes.SUPPLIES_ENUM_STATUS_NOT_EXIST);
         }
     }
+
+    public List<EmergencySuppliesInfoRespDTO> getEmergencySupplies(){
+        List<EmergencySuppliesInfo> allEmergencySupplies = emergencySuppliesInfoService.getAllEmergencySupplies();
+        List<EmergencySuppliesInfoRespDTO> collect = allEmergencySupplies.stream().map(es -> {
+            EmergencySuppliesInfoRespDTO e = new EmergencySuppliesInfoRespDTO();
+            BeanUtils.copyProperties(es,e);
+            e.setClassificationName(EmergencySuppliesClassificationEnum.getByCode(es.getClassification()).getValue());
+            ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(es.getDepartmentId());
+            if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) {
+                if (rpcResult.getData() != null) {
+                    DepInfoRPCRespDTO dep = (DepInfoRPCRespDTO) rpcResult.getData();
+                    e.setDepartmentName(dep.getDepName());
+                }
+            }
+            return e;
+        }).collect(Collectors.toList());
+        return collect;
+
+    }
 }

--
Gitblit v1.9.2