From 6bbaeff9658e297a6087c559352393fc732e8742 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 15 五月 2023 08:39:04 +0800
Subject: [PATCH] 库存明细-库存冻结

---
 src/main/webapp/static/js/locDetl/locDetl.js                   |   16 ++++++++
 src/main/webapp/views/locDetl/locDetl.html                     |    4 ++
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java            |    2 +
 src/main/java/com/zy/asrs/service/LocDetlService.java          |    2 +
 src/main/java/com/zy/asrs/controller/LocDetlController.java    |   10 +++++
 src/main/java/com/zy/asrs/entity/LocDetl.java                  |   11 +++++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java    |    5 ++
 src/main/resources/mapper/LocDetlMapper.xml                    |   10 +++++
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java |    5 ++
 9 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index 30ec08b..cf08cdd 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -163,6 +163,16 @@
         return R.ok();
     }
 
+    @RequestMapping(value = "/locDetl/updateStockFreeze/auth")
+    @ManagerAuth(memo = "搴撲綅鍐荤粨")
+    public R updateStockFreeze(LocDetl locDetl){
+        if (Cools.isEmpty(locDetl) || null==locDetl.getMatnr()){
+            return R.error();
+        }
+        locDetlService.updateStockFreeze(locDetl.getMatnr(), locDetl.getLocNo(), locDetl.getStockFreeze());
+        return R.ok();
+    }
+
     @RequestMapping(value = "/locDetl/delete/auth")
     @ManagerAuth(memo = "搴撲綅鏄庣粏鍒犻櫎")
     public R delete(@RequestParam String param){
diff --git a/src/main/java/com/zy/asrs/entity/LocDetl.java b/src/main/java/com/zy/asrs/entity/LocDetl.java
index 47dd290..789ca66 100644
--- a/src/main/java/com/zy/asrs/entity/LocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/LocDetl.java
@@ -157,6 +157,10 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+    @TableField("stock_freeze")
+    @ApiModelProperty(value= "搴撳瓨鍐荤粨{1:姝e父,0:鍐荤粨}")
+    private Integer stockFreeze;
+
     public String getLocNo$(){
         LocMastService service = SpringUtils.getBean(LocMastService.class);
         LocMast locMast = service.selectById(this.locNo);
@@ -252,4 +256,11 @@
         Synchro.Copy(source, this);
     }
 
+    public String getStockFreeze$() {
+        if (Cools.isEmpty(this.stockFreeze)){
+            return "";
+        }
+        return this.stockFreeze == 1 ? "姝e父" : "鍐荤粨";
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 2e3ecdb..004592e 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -69,4 +69,6 @@
 
     List<LocDetl> selectByLocNo(String locNo);
 
+    int updateStockFreeze(String matnr, String locNo, Integer stockFreeze);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 4b4ccce..2a0111c 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -21,6 +21,8 @@
 
     boolean updateLocNo(String newLocNo, String oldLocNo);
 
+    int updateStockFreeze(String matnr, String locNo, Integer stockFreeze);
+
     /**
      * 鑾峰彇鐩稿悓瑙勬牸璐х墿鐨勬繁搴撲綅鍙�
      * @param 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 357cb56..fe22f58 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -126,4 +126,9 @@
     public List<LocDetl> selectByLocNo(String locNo) {
         return this.baseMapper.selectByLocNo(locNo);
     }
+
+    @Override
+    public int updateStockFreeze(String matnr, String locNo, Integer stockFreeze) {
+        return this.baseMapper.updateStockFreeze(matnr, locNo, stockFreeze);
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 2f55cb9..fc9d604 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -176,6 +176,11 @@
 
             //妫�娴嬪嚭搴撶殑璐х墿涓槸鍚︽湁鐘舵�佷负绂佹鐨勮揣鐗┿��
             for (LocDetl locDetl : locDetlService.selectByLocNo(locNo)) {
+                if (locDetl.getStockFreeze() == 0) {
+                    th="搴撲綅鍙凤細"+locNo+" 鏈夌姝㈠嚭搴撶殑璐х墿锛�";
+                    throw new CoolException("鍑哄簱澶辫触锛�"+th);
+                }
+
                 Mat mat = matService.selectByMatnr(locDetl.getMatnr());
                 if (mat == null) {
                     continue;
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 2d0859d..6b33153 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -44,6 +44,7 @@
         <result column="appe_user" property="appeUser" />
         <result column="appe_time" property="appeTime" />
         <result column="memo" property="memo" />
+        <result column="stock_freeze" property="stockFreeze" />
     </resultMap>
 
     <sql id="batchSeq">
@@ -347,4 +348,13 @@
         where 1=1
         and loc_no = #{locNo}
     </select>
+
+    <update id="updateStockFreeze">
+        update asr_loc_detl
+        set stock_freeze = #{stockFreeze}
+        , modi_time = getdate()
+        where 1=1
+        and loc_no = #{locNo}
+        and matnr = #{matnr}
+    </update>
 </mapper>
diff --git a/src/main/webapp/static/js/locDetl/locDetl.js b/src/main/webapp/static/js/locDetl/locDetl.js
index 34bdbae..4b7432f 100644
--- a/src/main/webapp/static/js/locDetl/locDetl.js
+++ b/src/main/webapp/static/js/locDetl/locDetl.js
@@ -1,4 +1,5 @@
 var pageCurr;
+var tableData;
 function getCol() {
     var cols = [
         {field: 'locNo$', align: 'center',title: '搴撲綅鍙�'},
@@ -41,6 +42,7 @@
     // cols.push.apply(cols, detlCols);
     cols.push({field: 'modiUser$', align: 'center',title: '淇敼浜哄憳',hide: true}
         ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'}
+        ,{field: 'stockFreeze', align: 'center',title: '搴撳瓨鍐荤粨', templet: '#stockFreezeTpl'}
     )
     return cols;
 }
@@ -86,6 +88,7 @@
             if (res.code === 403) {
                 top.location.href = baseUrl+"/";
             }
+            tableData = table.cache.locDetl;
             pageCurr=curr;
             limit();
             form.on('checkbox(tableCheckbox)', function (data) {
@@ -491,6 +494,19 @@
         type: 'datetime'
     });
 
+    form.on('switch(stockFreezeSwitch)', function (obj) {
+        let index  = obj.othis.parents('tr').attr("data-index");
+        let data = tableData[index];
+        data[this.stockFreeze] = obj.elem.checked?1:0;
+        http.post(baseUrl + "/locDetl/updateStockFreeze/auth", {
+            locNo: data.locNo,
+            matnr: data.matnr,
+            stockFreeze: data[this.stockFreeze]
+        }, function (res) {
+            layer.msg(res.msg, {icon: 1});
+        });
+    })
+
 
 });
 
diff --git a/src/main/webapp/views/locDetl/locDetl.html b/src/main/webapp/views/locDetl/locDetl.html
index 8ddbe26..83ed293 100644
--- a/src/main/webapp/views/locDetl/locDetl.html
+++ b/src/main/webapp/views/locDetl/locDetl.html
@@ -64,6 +64,10 @@
     <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>
 </script>
 
+<script type="text/html" id="stockFreezeTpl">
+    <input type="checkbox" name="stockFreeze" value="{{d.stockFreeze}}" lay-skin="switch" lay-text="姝e父|鍐荤粨" lay-filter="stockFreezeSwitch" {{ d.stockFreeze === 1 ? 'checked' : '' }}>
+</script>
+
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
 <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>

--
Gitblit v1.9.1