From 7f959c4938705b186749f898bc7a2ce80e610dde Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 25 三月 2022 15:12:12 +0800
Subject: [PATCH] #杰克缝纫机立库 【根据单号检索单据数据】 优化1

---
 src/main/resources/mapper/OrderDetlMapper.xml                    |   11 +++++
 src/main/java/com/zy/asrs/entity/OrderDetl.java                  |    5 ++
 src/main/java/com/zy/asrs/service/OrderDetlService.java          |    2 +
 src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java            |    2 +
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |    5 ++
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java    |   35 ++++++++++++++---
 src/main/java/com/zy/asrs/controller/MobileController.java       |    5 --
 7 files changed, 53 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 4b2ae7d..b7f5391 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -44,6 +44,7 @@
 
     /**
      * 鏍规嵁鍗曞彿妫�绱㈠崟鎹暟鎹�
+     * http://localhost:8081/jkwms/mobile/order/serach/orderNo/auth?orderNo=123123
      */
     @RequestMapping("/order/search/orderNo/auth")
     @ManagerAuth
@@ -60,10 +61,6 @@
     }
 
 
-
-    /**
-     * 缁勬墭
-     */
     @RequestMapping("/comb/auth")
     @ManagerAuth(memo = "缁勬墭")
     public R comb(@RequestBody CombParam combParam){
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index b5594ff..cf557a8 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -275,7 +275,10 @@
     }
 
     public Double getEnableQty() {
-        return this.anfme - this.qty;
+        if (null != this.anfme && this.qty != null) {
+            return this.anfme - this.qty;
+        }
+        return null;
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 1090d1f..d098b7a 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -16,4 +16,6 @@
 
     List<OrderDetl> selectWorkingDetls(Long orderId);
 
+    int increase(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index 9171207..8db8550 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -13,4 +13,6 @@
 
     OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch);
 
+    boolean increase(Long orderId, String matnr, String batch, Double qty);
+
 }
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 50ca63f..fd0a2c1 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -6,12 +6,10 @@
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.MatCode;
 import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.WaitPakin;
 import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.service.MatCodeService;
-import com.zy.asrs.service.MobileService;
-import com.zy.asrs.service.OrderService;
-import com.zy.asrs.service.WaitPakinService;
+import com.zy.asrs.service.*;
 import com.zy.asrs.utils.VersionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -32,6 +30,8 @@
     private WaitPakinService waitPakinService;
     @Autowired
     private OrderService orderService;
+    @Autowired
+    private OrderDetlService orderDetlService;
 
     @Override
     @Transactional
@@ -72,9 +72,30 @@
             if (order.getSettle() > 2) {
                 throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
             }
-
-
-
+            for (CombParam.CombMat comb : param.getCombMats()) {
+                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), comb.getMatNo(), comb.getBatch());
+                if (comb.getCount() > orderDetl.getEnableQty()) {
+                    throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
+                }
+                // 淇敼鍗曠粏鏁伴噺
+                if (!orderDetlService.increase(order.getId(), comb.getMatNo(), comb.getBatch(), comb.getCount())) {
+                    throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
+                }
+                // 娣诲姞鍏ュ簱閫氱煡妗�
+                WaitPakin waitPakin = new WaitPakin();
+                waitPakin.setZpallet(param.getBarcode());   // 鎵樼洏鐮�
+                waitPakin.setStatus("Y");    // 鐘舵��
+                waitPakin.setAnfme(comb.getCount());  // 鏁伴噺
+                waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
+                waitPakin.setAppeUser(userId);
+                waitPakin.setAppeTime(new Date());
+                waitPakin.setModiUser(userId);
+                waitPakin.setModiTime(new Date());
+//                VersionUtils.setWaitPakIn(waitPakin, orderDetl);
+                if (!waitPakinService.insert(waitPakin)) {
+                    throw new CoolException("娣诲姞鍏ュ簱閫氱煡妗eけ璐�");
+                }
+            }
         }
 
     }
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 3acd86a..a823d3e 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -38,4 +38,9 @@
         }
         return null;
     }
+
+    @Override
+    public boolean increase(Long orderId, String matnr, String batch, Double qty) {
+        return this.baseMapper.increase(orderId, matnr, batch, qty) > 0;
+    }
 }
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 1dc2613..28c3977 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -47,4 +47,15 @@
         and qty &lt; anfme
     </select>
 
+    <update id="increase">
+        update man_order_detl
+        set qty = qty + #{qty}
+        where 1=1
+        and order_id = #{orderId}
+        and matnr = #{matnr}
+        <if test="batch != null and batch != ''">
+            and batch = #{batch}
+        </if>
+    </update>
+
 </mapper>

--
Gitblit v1.9.1