From 3e29b0363ad4571183fc856fdbb893dcfe74a022 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期二, 12 九月 2023 11:11:41 +0800
Subject: [PATCH] #预警

---
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java              |    4 +
 src/main/webapp/static/js/nodeLoc/nodeLoc.js                     |    2 
 src/main/java/com/zy/asrs/service/LocDetlService.java            |    2 
 src/main/java/com/zy/asrs/controller/LocDetlController.java      |   26 ++++++++
 src/main/resources/mapper/LocDetlMapper.xml                      |   68 ++++++++++++++++++++++
 src/main/webapp/static/js/locDetlNumWarning/locDetlNumWarning.js |    6 +
 src/main/webapp/static/js/manLocDetl/manLocDetl.js               |    6 +-
 src/main/webapp/static/js/order/order.js                         |   11 ++-
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java   |    7 ++
 src/main/webapp/views/locDetlNumWarning/locDetlNumWarning.html   |    2 
 src/main/java/com/zy/asrs/entity/result/LocDetlAll.java          |    2 
 11 files changed, 124 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index d10ed26..3eaa3f7 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -43,8 +43,32 @@
     @Autowired
     private ManLocDetlService manLocDetlService;
 
+    @RequestMapping(value = "/locDetl/selectAllNumWarning/auth")
+    @ManagerAuth(memo = "搴撳瓨鏁伴噺棰勮")
+    public R selectAllNumWarning(@RequestParam(defaultValue = "1")Integer curr,
+                    @RequestParam(defaultValue = "10")Integer limit,
+                    @RequestParam Map<String, Object> param) {
+//        Page<LocDetl> stockStatis = locDetlService.getStockStatis(toPage(curr, limit, param, LocDetl.class));
+//        for (LocDetl locDetl : stockStatis.getRecords()) {
+//            Mat mat = matService.selectByMatnr(locDetl.getMatnr());
+//            if (mat != null) {
+//                locDetl.sync(mat);
+//            }
+//        }
+//        return R.ok().add(stockStatis);
+
+        Page<LocDetlAll> stockStatis = locDetlService.getWarningNumPage(toPage(curr, limit, param, LocDetlAll.class));
+        for (LocDetlAll locDetlAll : stockStatis.getRecords()) {
+            Mat mat = matService.selectByMatnr(locDetlAll.getMatnr());
+            if (mat != null) {
+                locDetlAll.sync(mat);
+            }
+        }
+        return R.ok().add(stockStatis);
+    }
+
     @RequestMapping(value = "/locDetl/selectAllWarning/auth")
-    @ManagerAuth(memo = "搴撳瓨棰勮")
+    @ManagerAuth(memo = "搴撻緞棰勮")
     public Map<String,Object> queryViewStayTimeListByPages(@RequestParam(defaultValue = "1")Integer curr,
                                                            @RequestParam(defaultValue = "10")Integer limit,
                                                            @RequestParam Map<String, Object> param){
diff --git a/src/main/java/com/zy/asrs/entity/result/LocDetlAll.java b/src/main/java/com/zy/asrs/entity/result/LocDetlAll.java
index e5c80f5..5ac7325 100644
--- a/src/main/java/com/zy/asrs/entity/result/LocDetlAll.java
+++ b/src/main/java/com/zy/asrs/entity/result/LocDetlAll.java
@@ -29,6 +29,8 @@
     private Date appe_time;
     private String meno;
     private String manu;
+    private Integer inventory_max;
+    private Integer inventory_min;
 
     public String getOwner$(){
         LocOwnerService service = SpringUtils.getBean(LocOwnerService.class);
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index bbe6d10..ebb5594 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -52,6 +52,10 @@
 
     Integer getStockStatisCountAll(Map<String, Object> map);
 
+    List<LocDetlAll> getWarningNumList(Map<String, Object> map);
+
+    Integer getWarningNumListCount(Map<String, Object> map);
+
     List<LocDetl> getStockStatisExcel();
 
     @Select("select sum(a.anfme) as sum from asr_loc_detl a left join asr_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr}")
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 3c6e64b..fc6fe53 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -39,6 +39,8 @@
     Page<LocDetl> getStockStatis(Page<LocDetl> page);
     Page<LocDetlAll> getStockStatisAll(Page<LocDetlAll> page);
 
+    Page<LocDetlAll> getWarningNumPage(Page<LocDetlAll> page);
+
     Double sumAll();
 
     Double getSumAnfme(String matnr);
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index bf461d8..e13669c 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -77,6 +77,13 @@
     }
 
     @Override
+    public Page<LocDetlAll> getWarningNumPage(Page<LocDetlAll> page) {
+        page.setRecords(baseMapper.getWarningNumList(page.getCondition()));
+        page.setTotal(baseMapper.getWarningNumListCount(page.getCondition()));
+        return page;
+    }
+
+    @Override
     public Double sumAll() {
         return this.baseMapper.sumAll();
     }
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index b98527a..71f512f 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -592,6 +592,74 @@
         ) b
     </select>
 
+<!--    鏁伴噺棰勮-->
+    <select id="getWarningNumList" resultType="com.zy.asrs.entity.result.LocDetlAll">
+        select * from
+        (
+        select
+        ROW_NUMBER() over (order by sum(a.anfme) desc) as row
+        , a.matnr
+        , sum(a.anfme) as anfme
+        from asr_loc_detl_all a
+        where 1=1
+        <include refid="stockOutCondition"></include>
+        group by a.matnr
+        ) t
+        LEFT JOIN man_mat m ON t.matnr = m.matnr
+        WHERE t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+        and t.anfme > m.inventory_max or t.anfme &lt; m.inventory_min
+
+
+<!--        select * from-->
+<!--        (-->
+<!--        select-->
+<!--        ROW_NUMBER() over (order by sum(a.anfme) desc) as row-->
+<!--        , a.matnr-->
+<!--        , sum(a.anfme) as anfme-->
+<!--        ,m.inventory_max-->
+<!--        ,m.inventory_min-->
+<!--        from asr_loc_detl_all a-->
+<!--        LEFT JOIN man_mat m on a.matnr = m.matnr-->
+<!--        where 1=1-->
+<!--        <include refid="stockOutCondition"></include>-->
+<!--        group by a.matnr,m.inventory_max,m.inventory_min-->
+<!--        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})-->
+<!--        and t.anfme>t.inventory_max or t.anfme &lt; t.inventory_min-->
+    </select>
+
+    <select id="getWarningNumListCount" parameterType="java.util.Map" resultType="java.lang.Integer">
+<!--        select count(1) from-->
+<!--        (-->
+<!--        select-->
+<!--        ROW_NUMBER() over (order by sum(a.anfme) desc) as row-->
+<!--        , a.matnr-->
+<!--        , sum(a.anfme) as anfme-->
+<!--        ,m.inventory_max-->
+<!--        ,m.inventory_min-->
+<!--        from asr_loc_detl_all a-->
+<!--        LEFT JOIN man_mat m on a.matnr = m.matnr-->
+<!--        where 1=1-->
+<!--        <include refid="stockOutCondition"></include>-->
+<!--        group by a.matnr,m.inventory_max,m.inventory_min-->
+<!--        ) t-->
+
+        select count(1) from
+        (
+        select
+        ROW_NUMBER() over (order by sum(a.anfme) desc) as row
+        , a.matnr
+        , sum(a.anfme) as anfme
+        from asr_loc_detl_all a
+        where 1=1
+        <include refid="stockOutCondition"></include>
+        group by a.matnr
+        ) t
+        LEFT JOIN man_mat m ON t.matnr = m.matnr
+    </select>
+
+
+
+
     <select id="sumAll" resultType="java.lang.Double">
         SELECT SUM(anfme) FROM asr_loc_detl_all
     </select>
diff --git a/src/main/webapp/static/js/locDetlNumWarning/locDetlNumWarning.js b/src/main/webapp/static/js/locDetlNumWarning/locDetlNumWarning.js
index fd1da33..eec1d38 100644
--- a/src/main/webapp/static/js/locDetlNumWarning/locDetlNumWarning.js
+++ b/src/main/webapp/static/js/locDetlNumWarning/locDetlNumWarning.js
@@ -1,7 +1,9 @@
 var pageCurr;
 function getCol() {
     var cols = [
-        {field: 'anfme', align: 'center',title: '搴撳瓨鏁伴噺', style: 'font-weight: bold'}
+        {field: 'anfme', align: 'center',title: '搴撳瓨鏁伴噺', style: 'font-weight: bold'},
+        {field: 'inventory_max', align: 'center',title: '搴撳瓨涓婇檺', style: 'font-weight: bold'},
+        {field: 'inventory_min', align: 'center',title: '搴撳瓨涓嬮檺', style: 'font-weight: bold'}
     ];
     arrRemove(detlCols, "field", "anfme")
     arrRemove(detlCols, "field", "zpallet")
@@ -22,7 +24,7 @@
     tableIns = table.render({
         elem: '#locDetlStatis',
         headers: {token: localStorage.getItem('token')},
-        url: baseUrl+'/locDetl/statis/auth',
+        url: baseUrl+'/locDetl/selectAllNumWarning/auth',
         page: true,
         limit: 20,
         limits: [20, 30, 50, 100, 200, 500],
diff --git a/src/main/webapp/static/js/manLocDetl/manLocDetl.js b/src/main/webapp/static/js/manLocDetl/manLocDetl.js
index 40982cc..405073b 100644
--- a/src/main/webapp/static/js/manLocDetl/manLocDetl.js
+++ b/src/main/webapp/static/js/manLocDetl/manLocDetl.js
@@ -6,9 +6,9 @@
         ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', sort:true}
         ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: true}
         ,{field: 'specs', align: 'center',title: '瑙勬牸'}
-        ,{field: 'weight', align: 'center',title: '搴撲綅鎬婚噸閲�', hide: false}
+        ,{field: 'weight', align: 'center',title: '搴撲綅鎬婚噸閲�', hide: true}
 
-        ,{field: 'batch', align: 'center',title: '鎵瑰彿', width: 300, sort:true, hide: true}
+        ,{field: 'batch', align: 'center',title: '鎵瑰彿', sort:true}
         ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
         ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'}
         ,{field: 'model', align: 'center',title: '浠g爜', hide: true}
@@ -41,7 +41,7 @@
 
     // cols.push.apply(cols, detlCols);
     cols.push({field: 'modiUser$', align: 'center',title: '淇敼浜哄憳',hide: true}
-        ,{field: 'stockFreeze', align: 'center',title: '搴撳瓨鍐荤粨', templet: '#stockFreezeTpl'}
+        // ,{field: 'stockFreeze', align: 'center',title: '搴撳瓨鍐荤粨', templet: '#stockFreezeTpl'}
         ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'}
     )
     return cols;
diff --git a/src/main/webapp/static/js/nodeLoc/nodeLoc.js b/src/main/webapp/static/js/nodeLoc/nodeLoc.js
index d3d77af..bc795a3 100644
--- a/src/main/webapp/static/js/nodeLoc/nodeLoc.js
+++ b/src/main/webapp/static/js/nodeLoc/nodeLoc.js
@@ -63,7 +63,7 @@
             {field: 'parentName', align: 'center',title: '搴撳尯', hide: false},
             {field: 'createBy$', align: 'center',title: '鍒涘缓浜�', hide: false},
             {field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿', hide: false},
-            {field: 'status', align: 'center',title: '搴撲綅鍐荤粨', templet: '#stockFreezeTpl'},
+            // {field: 'status', align: 'center',title: '搴撲綅鍐荤粨', templet: '#stockFreezeTpl'},
             {field: 'type$', align: 'center',title: '绫诲瀷', templet: '#tagTpl', hide: false}
         ]],
         request: {
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index afa749e..b3f59d9 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -193,7 +193,7 @@
                             {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
                             {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
 
-                            // {field: 'batch', title: '鎵瑰彿'},
+                            {field: 'batch', title: '鎵瑰彿'},
                             {field: 'anfme', title: '鏁伴噺'},
                             {field: 'workQty', title: '浣滀笟鏁伴噺'},
                             {field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'},
@@ -206,7 +206,6 @@
                             // {field: 'inQty', title: '宸插叆搴撻噺'},
                             // {field: 'color', title: '棰滆壊'},
                             // {field: 'specs', title: '瑙勬牸'},
-                             {field: 'weight', title: '閲嶉噺'}
                         ]],
                         request: {
                             pageName: 'curr',
@@ -262,7 +261,11 @@
                     console.log(nList);
                     for (let xi = 0; xi < nList.length; xi++) {
                         if (nList[xi].anfme <= 0){
-                            layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2});
+                            layer.msg('鏄庣粏鏁伴噺涓嶅悎娉�', {icon: 2});
+                            return false;
+                        }
+                        if (nList[xi].batch == null || nList[xi].batch == ""){
+                            layer.msg('鎵规涓嶅悎娉�', {icon: 2});
                             return false;
                         }
                         if (nList[xi].anfme < nList[xi].workQty){
@@ -312,7 +315,7 @@
                         {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
                         {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200},
                         {field: 'specs', title: '瑙勬牸'},
-                        {field: 'weight', title: '閲嶉噺', edit: true},
+                        {field: 'batch', title: '鎵规', edit: true},
                         {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
 
                         // {field: 'payment', title: '璐х墿鐘舵��',align: 'center', templet: '#payment'},
diff --git a/src/main/webapp/views/locDetlNumWarning/locDetlNumWarning.html b/src/main/webapp/views/locDetlNumWarning/locDetlNumWarning.html
index a03acd0..0681b46 100644
--- a/src/main/webapp/views/locDetlNumWarning/locDetlNumWarning.html
+++ b/src/main/webapp/views/locDetlNumWarning/locDetlNumWarning.html
@@ -52,7 +52,7 @@
 <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/js/locDetlStatis/locDetlStatis.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/locDetlNumWarning/locDetlNumWarning.js" charset="utf-8"></script>
 
 </body>
 </html>

--
Gitblit v1.9.1