Просмотр исходного кода

Merge branch 'master' of http://101.36.160.140:21044/emergency-report/vsualization-report

ZeroLiYi лет назад: 2
Родитель
Сommit
dc57c321e4

+ 13 - 2
src/main/java/com/unis/vis/controller/VisController.java

@@ -1,6 +1,11 @@
1 1
 package com.unis.vis.controller;
2 2
 
3 3
 import com.unis.vis.model.*;
4
+import com.unis.vis.controller.vo.MaterialReserveSituationVO;
5
+import com.unis.vis.model.InboundMaterialInfo;
6
+import com.unis.vis.model.OutboundMaterialInfo;
7
+import com.unis.vis.model.SysDept;
8
+import com.unis.vis.model.SysTreeDict;
4 9
 import com.unis.vis.service.InboundMaterialInfoService;
5 10
 import com.unis.vis.service.OutboundMaterialInfoService;
6 11
 import com.unis.vis.service.SysDeptService;
@@ -12,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
12 17
 
13 18
 import javax.annotation.Resource;
14 19
 import java.util.List;
20
+import java.util.Map;
15 21
 
16 22
 /**
17 23
  * @author qingsong.han
@@ -88,8 +94,13 @@ public class VisController {
88 94
         List<SysDept> list = sysDeptService.getMapPoint();
89 95
         return list;
90 96
     }
91
-
92
-
97
+    /**
98
+     * 物资储备情况
99
+     */
100
+    @GetMapping("/get-material-situation")
101
+    public Map<String,List<MaterialReserveSituationVO>> selectWarehouseForMaterialType() {
102
+        return inboundMaterialInfoService.selectWarehouseForMaterialType();
103
+    }
93 104
     /**
94 105
      * 出入库记录
95 106
      * type: 1入库 2出库

+ 31 - 0
src/main/java/com/unis/vis/controller/vo/MaterialReserveSituationVO.java

@@ -0,0 +1,31 @@
1
+package com.unis.vis.controller.vo;
2
+
3
+import com.baomidou.mybatisplus.annotation.TableField;
4
+import lombok.Data;
5
+
6
+import java.util.List;
7
+
8
+@Data
9
+public class MaterialReserveSituationVO {
10
+
11
+    /**
12
+     * 物资类别
13
+     */
14
+    private String materialTypeZn;
15
+    /**
16
+     * 物资名称
17
+     */
18
+    private String materialNameZn;
19
+    /**
20
+     * 规格
21
+     */
22
+    private String specs;
23
+    /**
24
+     * 数量+单位
25
+     */
26
+    private String quantityAll;
27
+    /**
28
+     * 总价
29
+     */
30
+    private String totalPriceAll;
31
+}

+ 4 - 0
src/main/java/com/unis/vis/mapper/InboundMaterialInfoMapper.java

@@ -1,6 +1,7 @@
1 1
 package com.unis.vis.mapper;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.unis.vis.controller.vo.MaterialReserveSituationVO;
4 5
 import com.unis.vis.model.InboundMaterialInfo;
5 6
 import com.unis.vis.model.OutAndInboundRecord;
6 7
 import org.apache.ibatis.annotations.Param;
@@ -16,6 +17,9 @@ public interface InboundMaterialInfoMapper extends BaseMapper<InboundMaterialInf
16 17
 
17 18
      List<InboundMaterialInfo> getMaterialSituation();
18 19
 
20
+
21
+    List<MaterialReserveSituationVO> selectWarehouseForMaterialType();
22
+
19 23
      List<InboundMaterialInfo> getInventoryReceiptStatus();
20 24
 
21 25
      List<InboundMaterialInfo> getWzsyqkpm();

+ 3 - 1
src/main/java/com/unis/vis/service/InboundMaterialInfoService.java

@@ -1,11 +1,13 @@
1 1
 package com.unis.vis.service;
2 2
 
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.unis.vis.controller.vo.MaterialReserveSituationVO;
4 5
 import com.unis.vis.model.InboundMaterialInfo;
5 6
 import com.unis.vis.model.OutAndInboundRecord;
6 7
 
7 8
 import java.util.HashMap;
8 9
 import java.util.List;
10
+import java.util.Map;
9 11
 
10 12
 
11 13
 public interface InboundMaterialInfoService extends IService<InboundMaterialInfo> {
@@ -19,5 +21,5 @@ public interface InboundMaterialInfoService extends IService<InboundMaterialInfo
19 21
     HashMap<String, List<InboundMaterialInfo>> getWzsyqkpm();
20 22
 
21 23
     List<OutAndInboundRecord> getEnterExitRecords(Integer type);
22
-
24
+    Map<String,List<MaterialReserveSituationVO>> selectWarehouseForMaterialType();
23 25
 }

+ 12 - 0
src/main/java/com/unis/vis/service/impl/InboundMaterialInfoServiceImpl.java

@@ -2,6 +2,7 @@ package com.unis.vis.service.impl;
2 2
 
3 3
 
4 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
+import com.unis.vis.controller.vo.MaterialReserveSituationVO;
5 6
 import com.unis.vis.mapper.InboundMaterialInfoMapper;
6 7
 import com.unis.vis.model.InboundMaterialInfo;
7 8
 import com.unis.vis.model.OutAndInboundRecord;
@@ -12,6 +13,8 @@ import javax.annotation.Resource;
12 13
 import java.util.Comparator;
13 14
 import java.util.HashMap;
14 15
 import java.util.List;
16
+import java.util.Map;
17
+import java.util.stream.Collectors;
15 18
 import java.util.stream.Collectors;
16 19
 
17 20
 @Service
@@ -32,6 +35,15 @@ public class InboundMaterialInfoServiceImpl extends ServiceImpl<InboundMaterialI
32 35
     }
33 36
 
34 37
     @Override
38
+    public Map<String, List<MaterialReserveSituationVO>> selectWarehouseForMaterialType() {
39
+        List<MaterialReserveSituationVO> situationVOS = inboundMaterialInfoMapper.selectWarehouseForMaterialType();
40
+        Map<String, List<MaterialReserveSituationVO>> collect =new HashMap<>();
41
+        if (situationVOS!=null&&!situationVOS.isEmpty()){
42
+             collect = situationVOS.stream().collect(Collectors.groupingBy(MaterialReserveSituationVO::getMaterialTypeZn));
43
+        }
44
+        return collect;
45
+    }
46
+    @Override
35 47
     public List<InboundMaterialInfo> getInventoryReceiptStatus() {
36 48
         return inboundMaterialInfoMapper.getInventoryReceiptStatus();
37 49
     }

+ 14 - 2
src/main/resources/mapper/vis/InboundMaterialInfoMapper.xml

@@ -39,10 +39,9 @@
39 39
                SUM(imi.total_price) as total_price
40 40
         FROM "inbound_material_info" imi
41 41
                  LEFT JOIN "inbound_info" ii ON imi."inbound_id" = ii."inbound_id"
42
-                 LEFT JOIN "SYS_TREE_DICT" std ON std."id" = ii."material_type"
42
+                 INNER JOIN "SYS_TREE_DICT" std ON std."id" = ii."material_type" AND std.DIFFERENCE_ = 2
43 43
         WHERE ii."status" = 5
44 44
           AND ii."is_available" = 0
45
-          AND ii."material_type" in (SELECT id FROM SYS_TREE_DICT std WHERE std.DIFFERENCE_ = 2)
46 45
         GROUP BY std.NAME_
47 46
     </select>
48 47
     <!-- 出入库记录 -->
@@ -98,4 +97,17 @@
98 97
         ORDER BY record.bound_time desc
99 98
     </select>
100 99
 
100
+
101
+    <select id="selectWarehouseForMaterialType" resultType="com.unis.vis.controller.vo.MaterialReserveSituationVO">
102
+        SELECT c.NAME_ as materialTypeZn,d.NAME_ as materialNameZn,a.specs as specs
103
+             ,concat(TO_CHAR(sum(to_number(a.quantity))),e.NAME_)  as quantityAll ,sum(TO_NUMBER(a.total_price)) as totalPriceAll
104
+        from inbound_material_info a
105
+                 left join inbound_info b ON a.inbound_id=b.inbound_id
106
+                 left JOIN SYS_TREE_DICT c on a.material_type=c.ID
107
+                 left JOIN SYS_TREE_DICT d on a.material_name=d.ID
108
+                 left JOIN SYS_TREE_DICT e on a.unit=e.ID
109
+        where b.status=5  AND  b.is_available=0 AND  a.is_available=0
110
+        group  by  b.warehouse,a.material_type,a.material_name
111
+    </select>
112
+
101 113
 </mapper>

+ 2 - 3
src/main/resources/mapper/vis/OutboundMaterialInfoMapper.xml

@@ -52,17 +52,16 @@
52 52
         GROUP BY dic.NAME_
53 53
 
54 54
     </select>
55
-    <!-- 物资出库 -->
55
+    <!-- 物资出库情况 -->
56 56
     <select id="getInventoryDispatchStatus" resultType="com.unis.vis.model.OutboundMaterialInfo">
57 57
         SELECT std.NAME_            as material_type,
58 58
                SUM(imi.quantity)    as quantity,
59 59
                SUM(imi.total_price) as total_price
60 60
         FROM "outbound_material_info" imi
61 61
                  LEFT JOIN "outbound_info" ii ON imi."outbound_id" = ii."outbound_id"
62
-                 LEFT JOIN "SYS_TREE_DICT" std ON std."id" = ii."material_type"
62
+                 INNER JOIN "SYS_TREE_DICT" std ON std."id" = ii."material_type" AND std.DIFFERENCE_ = 2
63 63
         WHERE ii."status" = 5
64 64
           AND ii."is_available" = 0
65
-          AND ii."material_type" in (SELECT id FROM SYS_TREE_DICT std WHERE std.DIFFERENCE_ = 2)
66 65
         GROUP BY std.NAME_
67 66
     </select>
68 67