From 17f8dd032fc267b38cdddc88de416aeab2600f90 Mon Sep 17 00:00:00 2001
From: zhangfeng <1603559716@qq.com>
Date: 星期三, 21 九月 2022 14:38:23 +0800
Subject: [PATCH] 根据物资类型分类-应急物资列表

---
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencySuppliesServiceImpl.java                 |   39 ++++
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencySuppliesRespDTO.java                   |  117 ++++++++++++++
 emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencySuppliesRPCResp.java           |  117 ++++++++++++++
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencySuppliesController.java                    |   12 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencySuppliesService.java                          |    3 
 emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencySuppliesTypeRPCResp.java       |   45 +++++
 emergency/emergency-rpc-provider/src/main/java/com/gkhy/safePlatform/emergency/rpc/provider/EmergencyRpcProvider.java                    |   32 ++++
 emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencySuppliesInfoMapper.xml                                   |   12 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencySuppliesInfoRepository.java                |    2 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencySuppliesInfoServiceImpl.java |   11 +
 emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/EmergencyRpcAPi.java                                   |    7 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencySuppliesInfoService.java          |    2 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencySuppliesTypeRespDTO.java               |   45 +++++
 13 files changed, 440 insertions(+), 4 deletions(-)

diff --git a/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/EmergencyRpcAPi.java b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/EmergencyRpcAPi.java
index 4df5244..d2ca7b9 100644
--- a/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/EmergencyRpcAPi.java
+++ b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/EmergencyRpcAPi.java
@@ -1,10 +1,14 @@
 package com.gkhy.safePlatform.emergency.rpc.api;
 
+import com.gkhy.safePlatform.commons.co.ContextCacheUser;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
 import com.gkhy.safePlatform.commons.vo.SearchResultVO;
 import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteNumRPCReq;
 import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteTimeRPCReq;
 import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencyExecuteNumRPCResp;
 import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencyExecuteTimeRPCResp;
+import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencySuppliesRPCResp;
+import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencySuppliesTypeRPCResp;
 
 import java.util.List;
 
@@ -21,4 +25,7 @@
 
     // RPC接口--4、传入部门ID和年份月份,查询该部门及其子部门,在指定的年份,或者指定的月份的应急演练的次数
     SearchResultVO<List<EmergencyExecuteNumRPCResp>> getNumByDeptIds(EmergencyExecuteNumRPCReq query);
+
+    //RPC接口--5、按照物资类型获取列表
+    ResultVO<List<EmergencySuppliesTypeRPCResp>> emergencySuppliesList(ContextCacheUser currentUser);
 }
diff --git a/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencySuppliesRPCResp.java b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencySuppliesRPCResp.java
new file mode 100644
index 0000000..33c995e
--- /dev/null
+++ b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencySuppliesRPCResp.java
@@ -0,0 +1,117 @@
+package com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp;
+
+
+/**
+ * 物资信息返回实体信息
+ */
+public class EmergencySuppliesRPCResp {
+    /**
+     * 主键
+     */
+    private Long id;
+    /**
+     * 数量
+     */
+    private Integer count;
+    /**
+     * 类型
+     */
+    private Byte materialType;
+    /**
+     * 类型名称
+     */
+    private String materialTypeName;
+    /**
+     * 名称
+     */
+    private String name;
+    /**
+     * 编号
+     */
+    private String number;
+    /**
+     * 型号
+     */
+    private String model;
+    /**
+     * 所在位置
+     */
+    private String place;
+    /**
+     * 使用说明
+     */
+    private String useExplain;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+
+    public Integer getCount() {
+        return count;
+    }
+
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getNumber() {
+        return number;
+    }
+
+    public void setNumber(String number) {
+        this.number = number;
+    }
+
+    public String getModel() {
+        return model;
+    }
+
+    public void setModel(String model) {
+        this.model = model;
+    }
+
+    public String getPlace() {
+        return place;
+    }
+
+    public void setPlace(String place) {
+        this.place = place;
+    }
+
+    public String getUseExplain() {
+        return useExplain;
+    }
+
+    public void setUseExplain(String useExplain) {
+        this.useExplain = useExplain;
+    }
+
+    public Byte getMaterialType() {
+        return materialType;
+    }
+
+    public void setMaterialType(Byte materialType) {
+        this.materialType = materialType;
+    }
+
+    public String getMaterialTypeName() {
+        return materialTypeName;
+    }
+
+    public void setMaterialTypeName(String materialTypeName) {
+        this.materialTypeName = materialTypeName;
+    }
+}
diff --git a/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencySuppliesTypeRPCResp.java b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencySuppliesTypeRPCResp.java
new file mode 100644
index 0000000..a5954dd
--- /dev/null
+++ b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencySuppliesTypeRPCResp.java
@@ -0,0 +1,45 @@
+package com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp;
+
+import java.util.List;
+
+/**
+ * 返回物资类型以及物资实体
+ */
+public class EmergencySuppliesTypeRPCResp {
+    /**
+     * 物资类型
+     */
+    private Byte materialType;
+    /**
+     * 物资类型名称
+     */
+    private String materialTypeName;
+    /**
+     * 该类型下的所有物资
+     */
+    private List<EmergencySuppliesRPCResp> list;
+
+    public Byte getMaterialType() {
+        return materialType;
+    }
+
+    public void setMaterialType(Byte materialType) {
+        this.materialType = materialType;
+    }
+
+    public String getMaterialTypeName() {
+        return materialTypeName;
+    }
+
+    public void setMaterialTypeName(String materialTypeName) {
+        this.materialTypeName = materialTypeName;
+    }
+
+    public List<EmergencySuppliesRPCResp> getList() {
+        return list;
+    }
+
+    public void setList(List<EmergencySuppliesRPCResp> list) {
+        this.list = list;
+    }
+}
diff --git a/emergency/emergency-rpc-provider/src/main/java/com/gkhy/safePlatform/emergency/rpc/provider/EmergencyRpcProvider.java b/emergency/emergency-rpc-provider/src/main/java/com/gkhy/safePlatform/emergency/rpc/provider/EmergencyRpcProvider.java
index 1e0e11e..c0647ae 100644
--- a/emergency/emergency-rpc-provider/src/main/java/com/gkhy/safePlatform/emergency/rpc/provider/EmergencyRpcProvider.java
+++ b/emergency/emergency-rpc-provider/src/main/java/com/gkhy/safePlatform/emergency/rpc/provider/EmergencyRpcProvider.java
@@ -1,20 +1,34 @@
 package com.gkhy.safePlatform.emergency.rpc.provider;
 
 
+import com.gkhy.safePlatform.commons.co.ContextCacheUser;
+import com.gkhy.safePlatform.commons.enums.ResultCodes;
+import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
 import com.gkhy.safePlatform.commons.vo.SearchResultVO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencySuppliesRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencySuppliesTypeRespDTO;
 import com.gkhy.safePlatform.emergency.rpc.api.EmergencyRpcAPi;
 import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteNumRPCReq;
 import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteTimeRPCReq;
 import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencyExecuteNumRPCResp;
 import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencyExecuteTimeRPCResp;
+import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencySuppliesRPCResp;
+import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencySuppliesTypeRPCResp;
 import com.gkhy.safePlatform.emergency.service.EmergencyCountService;
+import com.gkhy.safePlatform.emergency.service.EmergencySuppliesService;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.dubbo.config.annotation.DubboService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @DubboService
 public class EmergencyRpcProvider implements EmergencyRpcAPi {
+    @Autowired
+    private EmergencySuppliesService emergencySuppliesService;
 
     @Autowired
     private EmergencyCountService emergencyCountService;
@@ -39,4 +53,22 @@
     public SearchResultVO<List<EmergencyExecuteNumRPCResp>> getNumByDeptIds(EmergencyExecuteNumRPCReq query) {
         return emergencyCountService.getNumByDeptIds(query);
     }
+
+    @Override
+    public ResultVO<List<EmergencySuppliesTypeRPCResp>> emergencySuppliesList(ContextCacheUser currentUser) {
+
+       List<EmergencySuppliesTypeRespDTO> list = (List<EmergencySuppliesTypeRespDTO>)emergencySuppliesService.emergencySuppliesList(currentUser).getData();
+       List<EmergencySuppliesTypeRPCResp> typeRPCRespList = new ArrayList<>();
+        for (EmergencySuppliesTypeRespDTO typeRespDTO:list) {
+            EmergencySuppliesTypeRPCResp typeRPCResp = new EmergencySuppliesTypeRPCResp();
+            typeRPCResp.setMaterialType(typeRespDTO.getMaterialType());
+            typeRPCResp.setMaterialTypeName(typeRespDTO.getMaterialTypeName());
+            if(!CollectionUtils.isEmpty(typeRespDTO.getList())){
+                List<EmergencySuppliesRPCResp> emergencySuppliesRPCRespList = BeanCopyUtils.copyBeanList(typeRespDTO.getList(), EmergencySuppliesRPCResp.class);
+                typeRPCResp.setList(emergencySuppliesRPCRespList);
+            }
+            typeRPCRespList.add(typeRPCResp);
+        }
+        return new ResultVO<>(ResultCodes.OK,typeRPCRespList);
+    }
 }
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencySuppliesController.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencySuppliesController.java
index c92e158..2d67e62 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencySuppliesController.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencySuppliesController.java
@@ -7,6 +7,8 @@
 import com.gkhy.safePlatform.emergency.model.dto.req.EmergencySuppliesReqDTO;
 import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencySuppliesDetailRespDTO;
 import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencySuppliesPageRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencySuppliesRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencySuppliesTypeRespDTO;
 import com.gkhy.safePlatform.emergency.query.EmergencySuppliesQuery;
 import com.gkhy.safePlatform.emergency.service.EmergencySuppliesService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -65,4 +67,14 @@
     public ResultVO batchDeleteEmergencySupplies(@RequestBody Long[] ids){
         return emergencySuppliesService.batchDeleteEmergencySupplies(ids);
     }
+    /**
+     * 应急物资-列表(为特殊作业提供数据)
+     */
+    @RequestMapping(value = "/emergencySuppliesList",method = RequestMethod.POST)
+    public ResultVO<List<EmergencySuppliesTypeRespDTO>> emergencySuppliesList(Authentication authentication){
+        ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal();
+        return emergencySuppliesService.emergencySuppliesList(currentUser);
+    }
+
+
 }
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencySuppliesRespDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencySuppliesRespDTO.java
new file mode 100644
index 0000000..4f84ed4
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencySuppliesRespDTO.java
@@ -0,0 +1,117 @@
+package com.gkhy.safePlatform.emergency.model.dto.resp;
+
+
+/**
+ * 物资信息返回实体信息
+ */
+public class EmergencySuppliesRespDTO {
+    /**
+     * 主键
+     */
+    private Long id;
+    /**
+     * 数量
+     */
+    private Integer count;
+    /**
+     * 类型
+     */
+    private Byte materialType;
+    /**
+     * 类型名称
+     */
+    private String materialTypeName;
+    /**
+     * 名称
+     */
+    private String name;
+    /**
+     * 编号
+     */
+    private String number;
+    /**
+     * 型号
+     */
+    private String model;
+    /**
+     * 所在位置
+     */
+    private String place;
+    /**
+     * 使用说明
+     */
+    private String useExplain;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+
+    public Integer getCount() {
+        return count;
+    }
+
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getNumber() {
+        return number;
+    }
+
+    public void setNumber(String number) {
+        this.number = number;
+    }
+
+    public String getModel() {
+        return model;
+    }
+
+    public void setModel(String model) {
+        this.model = model;
+    }
+
+    public String getPlace() {
+        return place;
+    }
+
+    public void setPlace(String place) {
+        this.place = place;
+    }
+
+    public String getUseExplain() {
+        return useExplain;
+    }
+
+    public void setUseExplain(String useExplain) {
+        this.useExplain = useExplain;
+    }
+
+    public Byte getMaterialType() {
+        return materialType;
+    }
+
+    public void setMaterialType(Byte materialType) {
+        this.materialType = materialType;
+    }
+
+    public String getMaterialTypeName() {
+        return materialTypeName;
+    }
+
+    public void setMaterialTypeName(String materialTypeName) {
+        this.materialTypeName = materialTypeName;
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencySuppliesTypeRespDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencySuppliesTypeRespDTO.java
new file mode 100644
index 0000000..3248a17
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencySuppliesTypeRespDTO.java
@@ -0,0 +1,45 @@
+package com.gkhy.safePlatform.emergency.model.dto.resp;
+
+import java.util.List;
+
+/**
+ * 返回物资类型以及物资实体
+ */
+public class EmergencySuppliesTypeRespDTO {
+    /**
+     * 物资类型
+     */
+    private Byte materialType;
+    /**
+     * 物资类型名称
+     */
+    private String materialTypeName;
+    /**
+     * 该类型下的所有物资
+     */
+    private List<EmergencySuppliesRespDTO> list;
+
+    public Byte getMaterialType() {
+        return materialType;
+    }
+
+    public void setMaterialType(Byte materialType) {
+        this.materialType = materialType;
+    }
+
+    public String getMaterialTypeName() {
+        return materialTypeName;
+    }
+
+    public void setMaterialTypeName(String materialTypeName) {
+        this.materialTypeName = materialTypeName;
+    }
+
+    public List<EmergencySuppliesRespDTO> getList() {
+        return list;
+    }
+
+    public void setList(List<EmergencySuppliesRespDTO> list) {
+        this.list = list;
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencySuppliesInfoRepository.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencySuppliesInfoRepository.java
index 7783407..d5be3bb 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencySuppliesInfoRepository.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencySuppliesInfoRepository.java
@@ -26,4 +26,6 @@
     void deleteEmergencySupplies(@Param("id") Long id);
 
     List<EmergencySuppliesInfoDetailDO> countEmergencySupplies(Page<EmergencySuppliesInfoDetailDO> page, EmergencySuppliesCountQuery query);
+
+    List<EmergencySuppliesInfo> listByNoConditions(@Param("delFlag") Byte delFlag,@Param("status") Byte status);
 }
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencySuppliesService.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencySuppliesService.java
index 7a13d85..90efb43 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencySuppliesService.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencySuppliesService.java
@@ -1,11 +1,13 @@
 package com.gkhy.safePlatform.emergency.service;
 
+import com.gkhy.safePlatform.commons.co.ContextCacheUser;
 import com.gkhy.safePlatform.commons.query.PageQuery;
 import com.gkhy.safePlatform.commons.vo.ResultVO;
 import com.gkhy.safePlatform.commons.vo.SearchResultVO;
 import com.gkhy.safePlatform.emergency.model.dto.req.EmergencySuppliesReqDTO;
 import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencySuppliesDetailRespDTO;
 import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencySuppliesPageRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencySuppliesTypeRespDTO;
 import com.gkhy.safePlatform.emergency.query.EmergencySuppliesQuery;
 
 import java.util.List;
@@ -22,4 +24,5 @@
 
     ResultVO batchDeleteEmergencySupplies( Long[]  ids);
 
+    ResultVO<List<EmergencySuppliesTypeRespDTO>> emergencySuppliesList(ContextCacheUser currentUser);
 }
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencySuppliesInfoService.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencySuppliesInfoService.java
index 0da757e..a68518c 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencySuppliesInfoService.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencySuppliesInfoService.java
@@ -24,4 +24,6 @@
     void deleteEmergencySupplies(Long SuppliesId);
 
     List<EmergencySuppliesInfoDetailDO> countEmergencySupplies(Page<EmergencySuppliesInfoDetailDO> page,EmergencySuppliesCountQuery query);
+
+    List<EmergencySuppliesInfo> listByNoConditions();
 }
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencySuppliesInfoServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencySuppliesInfoServiceImpl.java
index 19b2d8e..1adc63a 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencySuppliesInfoServiceImpl.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencySuppliesInfoServiceImpl.java
@@ -1,14 +1,19 @@
 package com.gkhy.safePlatform.emergency.service.baseService.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gkhy.safePlatform.emergency.entity.EmergencySuppliesInfo;
 import com.gkhy.safePlatform.emergency.entity.EmergencySuppliesInfoDetailDO;
 import com.gkhy.safePlatform.emergency.entity.EmergencySuppliesInfoPageDO;
+import com.gkhy.safePlatform.emergency.enums.EmergencySuppliesClassificationEnum;
+import com.gkhy.safePlatform.emergency.enums.EmergencySuppliesStatusEnum;
 import com.gkhy.safePlatform.emergency.query.EmergencySuppliesCountQuery;
 import com.gkhy.safePlatform.emergency.query.db.EmergencySuppliesDBQuery;
 import com.gkhy.safePlatform.emergency.repository.EmergencySuppliesInfoRepository;
 import com.gkhy.safePlatform.emergency.service.baseService.EmergencySuppliesInfoService;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -50,5 +55,11 @@
         return emergencySuppliesInfoRepository.countEmergencySupplies(page,query);
     }
 
+    @Override
+    public List<EmergencySuppliesInfo> listByNoConditions() {
+
+        return baseMapper.listByNoConditions((byte)0,EmergencySuppliesStatusEnum.STATUS_ONE.getCode());
+    }
+
 
 }
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..c33c62e 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,37 @@
         }
     }
 
+    /**
+     * 按照物资类型分类获取列表
+     * @param currentUser
+     * @return
+     */
+    @Override
+    public ResultVO<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 new ResultVO<>(ResultCodes.OK,typeRespDTOList);
+    }
+
     private void deleteEmergencySupplies(Long id) {
         //查询是否存在
         EmergencySuppliesInfoDetailDO emergencySuppliesInfoDetailDO = emergencySuppliesInfoService.selectEmergencySuppliesById(id);
diff --git a/emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencySuppliesInfoMapper.xml b/emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencySuppliesInfoMapper.xml
index f9d36cf..5e4a688 100644
--- a/emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencySuppliesInfoMapper.xml
+++ b/emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencySuppliesInfoMapper.xml
@@ -152,4 +152,16 @@
     <update id="deleteEmergencySupplies">
         update emergency_supplies set del_flag = 1 where id = #{id}
     </update>
+    <select id="listByNoConditions" resultType="com.gkhy.safePlatform.emergency.entity.EmergencySuppliesInfo">
+        select id,
+               name,
+               number,
+               model,
+               count,
+               classification,
+               place,
+               use_explain
+        from emergency_supplies
+        where del_flag = #{delFlag} and status = #{status}
+   </select>
 </mapper>

--
Gitblit v1.9.2