From 2a24c69b830d9dc97a8673f5f69418e9f95f3e1b Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 07 七月 2025 10:43:33 +0800
Subject: [PATCH] no message

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/ZpalletBarcodeController.java |    4 ++++
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaitPakinServiceImpl.java   |    2 +-
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java         |    2 ++
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java      |   49 ++++++++++++++++++++++++++++++++++---------------
 4 files changed, 41 insertions(+), 16 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java
index e0a90c8..db6218b 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java
@@ -27,6 +27,7 @@
 import com.zy.asrs.wms.system.service.UserService;
 import io.jsonwebtoken.lang.Collections;
 import io.netty.util.internal.StringUtil;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
@@ -65,6 +66,7 @@
      * @param barcode
      * @return
      */
+    @ApiOperation("鍏ュ簱鍗曟嵁--鎵爜鑾峰彇璁㈠崟鏄庣粏鍒楄〃")
     @PostMapping("/mat/auth")
     public R getProductForBarcode(@RequestBody Map<String, String> barcode) {
         if (Objects.isNull(barcode)) {
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/ZpalletBarcodeController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/ZpalletBarcodeController.java
index 5838111..b304cf3 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/ZpalletBarcodeController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/ZpalletBarcodeController.java
@@ -55,6 +55,10 @@
     @OperationLog("娣诲姞瀹瑰櫒绠$悊")
     @PostMapping("/zpalletBarcode/save")
     public R save(@RequestBody ZpalletBarcode zpalletBarcode) {
+        ZpalletBarcode one = zpalletBarcodeService.getOne(new LambdaQueryWrapper<ZpalletBarcode>().eq(ZpalletBarcode::getBarcode, zpalletBarcode.getBarcode()));
+        if (!Objects.isNull(one)) {
+            return R.error("瀹瑰櫒宸插瓨鍦紝涓嶅彲閲嶅娣诲姞锛侊紒");
+        }
         if (!zpalletBarcodeService.save(zpalletBarcode)) {
             return R.error("娣诲姞澶辫触");
         }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
index 4039614..804f426 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
@@ -175,7 +175,6 @@
         if (!locService.updateById(loc)) {
             throw new CoolException("搴撲綅鏇存柊澶辫触锛侊紒");
         }
-
         List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, shelvesParams.getBarcode()));
         if (waitPakins.isEmpty()) {
             throw new CoolException("褰撳墠鎷栫洏娌℃湁缁勬嫋妗�!!");
@@ -203,6 +202,16 @@
             }
             //淇敼鐘舵�佷负鍏ュ簱涓�
             pakin.setIoStatus(1);
+
+            OrderDetl detl = orderDetlService.getById(pakin.getDetlId());
+            if (Objects.isNull(detl)) {
+                throw new CoolException("鏁版嵁閿欒锛氬崟鎹槑缁嗕笉瀛樺湪锛侊紒");
+            }
+            Double qty = Math.round((detl.getQty() + pakin.getAnfme()) * 1000) / 1000.0;
+            detl.setQty(qty);
+            if (!orderDetlService.updateById(detl)) {
+                throw new CoolException("鍗曟嵁鏄庣粏淇敼澶辫触锛侊紒");
+            }
         });
 
         //鍒犻櫎缁勬嫋妗o紝鍔犲叆鍘嗗彶缁勬嫋妗�
@@ -216,30 +225,41 @@
             }
         });
 
-
         //閫氳繃缁勬嫋璁㈠崟ID鑾峰彇璁㈠崟锛屽苟鍒犻櫎鍘熷崟鎹紝鍔犲叆鍗曟嵁鍘嗗彶妗�
         Set<Long> list = waitPakins.stream().map(WaitPakin::getOrderId).collect(Collectors.toSet());
         List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().in(Order::getId, list));
-        //璁㈠崟鍏ュ巻鍙叉。
         orders.forEach(order -> {
-//            if (order.getOrderType() != OrderType.PK_IN_ORDER.id) {
-//                throw new CoolException("褰撳墠璁㈠崟绫诲瀷:" + order.getOrderType() + ",涓嶅彲鍋氬钩搴撲笂鏋舵搷浣滐紒锛�");
-//            }
-            //淇敼璁㈠崟鐘舵�佷负宸插畬鎴�
-            order.setOrderSettle(OrderSettleType.COMPLETE.val());
-            OrderLog orderLog = new OrderLog();
-            BeanUtils.copyProperties(order, orderLog);
-            orderLog.setId(null);
-            if (!orderLogService.save(orderLog)) {
-                throw new CoolException("鍘嗗彶鍗曟嵁鏇存柊澶辫触锛侊紒");
+            List<OrderDetl> detls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()));
+            Double sum = detls.stream().mapToDouble(OrderDetl::getQty).sum();
+            Double summed = detls.stream().mapToDouble(OrderDetl::getWorkQty).sum();
+            Double v = Math.round((sum + summed) * 1000) / 1000.0;
+            Double anfme = detls.stream().mapToDouble(OrderDetl::getAnfme).sum();
+            if (v.compareTo(anfme) == 0.0) {
+                order.setOrderSettle(OrderSettleType.COMPLETE.val());
+                if (! orderService.updateById(order)) {
+                    throw new CoolException("鍗曟嵁鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                }
             }
         });
 
+//        //璁㈠崟鍏ュ巻鍙叉。
+//        orders.forEach(order -> {
+////            if (order.getOrderType() != OrderType.PK_IN_ORDER.id) {
+////                throw new CoolException("褰撳墠璁㈠崟绫诲瀷:" + order.getOrderType() + ",涓嶅彲鍋氬钩搴撲笂鏋舵搷浣滐紒锛�");
+////            }
+//            //淇敼璁㈠崟鐘舵�佷负宸插畬鎴�
+//            order.setOrderSettle(OrderSettleType.COMPLETE.val());
+//            OrderLog orderLog = new OrderLog();
+//            BeanUtils.copyProperties(order, orderLog);
+//            orderLog.setId(null);
+//            if (!orderLogService.save(orderLog)) {
+//                throw new CoolException("鍘嗗彶鍗曟嵁鏇存柊澶辫触锛侊紒");
+//            }
+//        });
 //        //鍒犻櫎璁㈠崟鏁版嵁
 //        if (!orderService.removeBatchByIds(orders)) {
 //            throw new CoolException("璁㈠崟鍒犻櫎澶辫触锛侊紒");
 //        }
-
 //        List<OrderDetl> detls = orderDetlMapper.selectList(new LambdaQueryWrapper<OrderDetl>().in(OrderDetl::getOrderId, list));
 //        List<OrderDetlLog> detlLogs = new ArrayList<>();
 //        detls.forEach(delt ->{
@@ -250,7 +270,6 @@
 //            detlLog.setId(null);
 //            detlLogs.add(detlLog);
 //        });
-
 //        //璁㈠崟鏄庣粏杞巻鍙叉。
 //        if (!orderDetlLogService.saveBatch(detlLogs)) {
 //            throw new CoolException("璁㈠崟鏄庣粏杞巻鍙插け璐ワ紒锛�");
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaitPakinServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaitPakinServiceImpl.java
index 28aa38d..1952355 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaitPakinServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaitPakinServiceImpl.java
@@ -60,7 +60,7 @@
         }
 
         //鍙敤鏁伴噺
-        Double count = orderDetl.getAnfme() - orderDetl.getWaitQty();
+        Double count = Math.round((orderDetl.getAnfme() - orderDetl.getWorkQty() - orderDetl.getQty()) * 1000) / 1000.0;
         if (waitPakin.getAnfme() > count) {
             throw new CoolException("缁勬墭鏁伴噺瓒呰繃鍓╀綑鍙敤鏁伴噺");
         }

--
Gitblit v1.9.1