From dda1b702b20588280124cc848f89d73f3a390774 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 31 八月 2022 16:17:37 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/ManLocDetlMapper.xml                |   10 ++++++++--
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   16 +++++++++++-----
 src/main/java/com/zy/asrs/entity/param/OffSaleParam.java      |    2 ++
 src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java        |    5 ++++-
 4 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/param/OffSaleParam.java b/src/main/java/com/zy/asrs/entity/param/OffSaleParam.java
index 5c891d4..b4dba63 100644
--- a/src/main/java/com/zy/asrs/entity/param/OffSaleParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OffSaleParam.java
@@ -9,5 +9,7 @@
     private String matnr;
     // 搴撲綅缂栧彿
     private String locNo;
+    // 鐗╂枡鏁伴噺
+    private double anfme;
 
 }
diff --git a/src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java
index 03dc5a3..486c524 100644
--- a/src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java
@@ -68,6 +68,9 @@
 
     int updateLocNo0(Long nodeId, String locNo);
 
-    List<ManLocDetl> selectLocNo0(String locNo, String matnr);
+    ManLocDetl selectLocNo0(String locNo, String matnr);
+
     int deleteLocNo0(String locNo, String matnr);
+
+    int updateAnfme0(double anfme, Long nodeId);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 2e8c7f3..63f9a24 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -229,13 +229,19 @@
 
     @Override
     public void offSale(OffSaleParam offSaleParam) {
-        List<ManLocDetl> manLocDetls = manLocDetlMapper.selectLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr());
-        if (Cools.isEmpty(manLocDetls)){
-            throw new CoolException("鍟嗗搧涓嬫灦澶辫触锛�");
+        ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr());
+        if (Cools.isEmpty(manLocDetl)){
+            throw new CoolException("鏃犳鍟嗗搧锛�");
         }
-        int i = manLocDetlMapper.deleteLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr());
-        System.out.println(i);
+        double anfme = manLocDetl.getAnfme() - offSaleParam.getAnfme();
+        if (anfme < 0) {
+            throw new CoolException("鍟嗗搧搴撳瓨涓嶈冻锛�");
+        } else if (anfme == 0){
+            manLocDetlMapper.deleteLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr());
+        }
+        manLocDetlMapper.updateAnfme0(anfme,manLocDetl.getNodeId());
     }
+
     @Override
     @Transactional
     public void adjust(MobileAdjustParam param, Long userId) {
diff --git a/src/main/resources/mapper/ManLocDetlMapper.xml b/src/main/resources/mapper/ManLocDetlMapper.xml
index b246a85..184ce81 100644
--- a/src/main/resources/mapper/ManLocDetlMapper.xml
+++ b/src/main/resources/mapper/ManLocDetlMapper.xml
@@ -219,7 +219,7 @@
     </select>
     <select id="selectLocDetlSumQty" resultType="java.lang.Double"></select>
 
-    <select id="selectLocNo0" resultType="com.zy.asrs.entity.ManLocDetl">
+    <select id="selectLocNo0" resultMap="BaseResultMap">
         select * from man_loc_detl
         where loc_no = #{locNo}
         and matnr = #{matnr}
@@ -230,10 +230,16 @@
         update man_loc_detl set loc_no = #{locNo}
         where node_id = #{nodeId}
     </update>
-    <update id="deleteLocNo0">
+
+    <delete id="deleteLocNo0">
         delete from man_loc_detl
         where loc_no = #{locNo}
         and matnr = #{matnr}
+    </delete>
+
+    <update id="updateAnfme0">
+        update man_loc_detl set anfme = #{anfme}
+        where node_id = #{nodeId} ;
     </update>
 
 </mapper>

--
Gitblit v1.9.1