From 7b40697a357feca756647b6c4afaa1b303f5938d Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期一, 06 十一月 2023 11:47:58 +0800
Subject: [PATCH] 修复拣料回库后库存更新错误bug

---
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java            |    4 ++--
 src/main/java/com/zy/asrs/service/LocDetlService.java          |    2 +-
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java    |   10 ++++++++--
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java    |    4 ++--
 src/main/resources/mapper/LocDetlMapper.xml                    |   14 ++++++++++++++
 src/main/webapp/views/mat/mat.html                             |   12 ++++++------
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java |    6 +++---
 7 files changed, 36 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 1e1303a..46f540d 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -19,9 +19,9 @@
 
     LocDetl selectItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch,@Param("suppCode")String suppCode);
 
-    int deleteItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch);
+    int deleteItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("suppCode")String suppCode, @Param("threeCode")String threeCode, @Param("deadTime")String deadTime);
 
-    int updateAnfme(@Param("anfme")Double anfme, @Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch);
+    int updateAnfme(@Param("anfme")Double anfme, @Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("suppCode")String suppCode, @Param("threeCode")String threeCode, @Param("deadTime")String deadTime);
 
     List<LocDetl> getStockOutPage(Map<String, Object> map);
 
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 5cc7743..1761c93 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -18,7 +18,7 @@
     /**
      * 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏋滄暟閲忎负0锛屽垯鍒犻櫎璁板綍
      */
-    boolean updateAnfme(Double anfme, String locNo, String matnr, String batch);
+    boolean updateAnfme(Double anfme, String locNo, String matnr, String batch, String containerCode, String csoCode, String isoCode);
 
     boolean updateLocNo(String newLocNo, String oldLocNo);
 
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 d04fb7d..da0d56d 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -39,11 +39,11 @@
     }
 
     @Override
-    public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch) {
+    public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch, String containerCode, String csoCode, String isoCode) {
         if (anfme <= 0) {
-            return this.baseMapper.deleteItem(locNo, matnr, batch) > 0;
+            return this.baseMapper.deleteItem(locNo, matnr, batch, containerCode, csoCode, isoCode) > 0;
         } else {
-            return baseMapper.updateAnfme(anfme, locNo, matnr, batch) > 0;
+            return baseMapper.updateAnfme(anfme, locNo, matnr, batch, containerCode, csoCode, isoCode) > 0;
         }
     }
 
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 2c1dab5..36fe8aa 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -858,7 +858,7 @@
                     if (!locDetl.getAnfme().equals(adjust.getCount())) {
                         // todo 鐩樼偣璁板綍
                         // 淇敼搴撳瓨
-                        if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+                        if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getSuppCode(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
                             throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佷慨鏀规暟閲忓け璐�");
                         }
                         // 淇濆瓨璋冩暣璁板綍
@@ -887,7 +887,7 @@
         // 鍒犻櫎搴撳瓨
         for (LocDetl locDetl : locDetls) {
             // todo 鐩樼偣璁板綍
-            if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+            if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getSuppCode(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
                 throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佸簱瀛樻槑缁嗗け璐�");
             }
             // 淇濆瓨璋冩暣璁板綍
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 7ee97c1..bd3d89a 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -138,7 +138,13 @@
 
                         LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getSuppCode());
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(),
+                                    locMast.getLocNo(),
+                                    wrkDetl.getMatnr(),
+                                    wrkDetl.getBatch(),
+                                    wrkDetl.getSuppCode(),
+                                    wrkDetl.getThreeCode(),
+                                    wrkDetl.getDeadTime())) {
                                 exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                             }
                         }
@@ -166,7 +172,7 @@
 
                         LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getSuppCode());
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getSuppCode(),wrkDetl.getThreeCode(),wrkDetl.getDeadTime())) {
                                 exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr());
                             }
                         } else {
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 7124654..b0dabf7 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -81,6 +81,7 @@
         and loc_no = #{locNo}
         and matnr = #{matnr}
         <include refid="batchSeq"></include>
+        <include refid="locdetlCondition"></include>
     </delete>
 
     <update id="updateAnfme">
@@ -90,9 +91,22 @@
         where 1=1
         and loc_no = #{locNo}
         and matnr = #{matnr}
+        <include refid="locdetlCondition"></include>
         <include refid="batchSeq"></include>
     </update>
 
+    <sql id="locdetlCondition">
+        <if test="threeCode!=null and threeCode!='' ">
+            and three_code = #{threeCode}
+        </if>
+        <if test="suppCode!=null and suppCode!='' ">
+            and supp_code = #{suppCode}
+        </if>
+        <if test="deadTime!=null and deadTime!='' ">
+            and dead_time = #{deadTime}
+        </if>
+    </sql>
+
     <sql id="stockOutCondition">
         <if test="loc_no!=null and loc_no!='' ">
             and a.loc_no like '%' + #{loc_no} + '%'
diff --git a/src/main/webapp/views/mat/mat.html b/src/main/webapp/views/mat/mat.html
index cfe2b54..d42083c 100644
--- a/src/main/webapp/views/mat/mat.html
+++ b/src/main/webapp/views/mat/mat.html
@@ -310,17 +310,17 @@
         <hr>
         <!--鍗曢�夋-->
         <div class="layui-form-item" style="display: inline-block; margin-bottom: 10px">
-            <input type="radio" name="selectTemplate" value="1" title="妯℃澘涓�"  lay-filter="selectTemplateRadio" checked="">
-            <input type="radio" name="selectTemplate" value="2" title="妯℃澘浜�" lay-filter="selectTemplateRadio">
-            <input type="radio" name="selectTemplate" value="3" title="妯℃澘涓�" lay-filter="selectTemplateRadio">
-            <input type="radio" name="selectTemplate" value="4" title="妯℃澘鍥�" lay-filter="selectTemplateRadio">
+<!--            <input type="radio" name="selectTemplate" value="1" title="妯℃澘涓�"  lay-filter="selectTemplateRadio" checked="">-->
+<!--            <input type="radio" name="selectTemplate" value="2" title="妯℃澘浜�" lay-filter="selectTemplateRadio">-->
+<!--            <input type="radio" name="selectTemplate" value="3" title="妯℃澘涓�" lay-filter="selectTemplateRadio">-->
+            <input type="radio" name="selectTemplate" value="4" title="妯℃澘鍥�" lay-filter="selectTemplateRadio" checked="checked">
         </div>
         <fieldset class="layui-elem-field site-demo-button" style="margin-top: 30px;text-align: left;">
             <legend>鎵撳嵃棰勮</legend>
             <div id="template-container" style="margin: 20px;text-align: center">
 
                 <!-- 棰勮鍥� 1 -->
-                <div id="template-preview-1" class="template-preview" style="display: inline-block">
+                <div id="template-preview-1" class="template-preview" style="display: none">
                     <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
                         <tr style="height: 74px">
                             <td colspan="3" align="center" scope="col">鐗╂枡鍙�</td>
@@ -383,7 +383,7 @@
                 </div>
 
                 <!-- 棰勮鍥� 4 -->
-                <div id="template-preview-4" class="template-preview" style="display: none">
+                <div id="template-preview-4" class="template-preview" style="display: inline-block">
                     <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
                         <tr style="height: 37px">
                             <td align="center" scope="col" >鍟嗗搧</td>

--
Gitblit v1.9.1