From 01f39fcb06b8713901975153d0a893e86eca6a88 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 07 七月 2025 19:42:26 +0800
Subject: [PATCH] 33.订单历史管理里面增加单据类型选项按钮、单据类型选项按钮 34.单据管理里面增加单据状态选项按钮 35.入库订单全部都入好了,单据状态还是作业中,现在作业中的单据是可以删除的,我不小心把这个单据删除了,怎么恢复? 36.每个界面点下一页都没反应,点第二页是有变化的,之后点任何页面都没反应 37.订单明细点开后的界面改大一点 38.新增出库订单的时候可以输入客户信息(客户名称、收件人、地址、电话等),现在拣货完成后连发给谁都不知道 39.大屏播种界面对应的数量和开单数量不一致

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java |   50 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 34 insertions(+), 16 deletions(-)

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 7c134b5..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
@@ -92,7 +92,6 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean batchMergeOrders(BatchMergeOrdersParam ordersParam) {
-
         Loc locServiceOne = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, ordersParam.getMergeNo()), false);
         if (!Objects.isNull(locServiceOne)) {
             throw new CoolException("鎵樼洏宸插叆搴擄紝涓嶈兘鍐嶇粍鎵橈紒锛�");
@@ -176,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("褰撳墠鎷栫洏娌℃湁缁勬嫋妗�!!");
@@ -204,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紝鍔犲叆鍘嗗彶缁勬嫋妗�
@@ -217,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 ->{
@@ -251,7 +270,6 @@
 //            detlLog.setId(null);
 //            detlLogs.add(detlLog);
 //        });
-
 //        //璁㈠崟鏄庣粏杞巻鍙叉。
 //        if (!orderDetlLogService.saveBatch(detlLogs)) {
 //            throw new CoolException("璁㈠崟鏄庣粏杞巻鍙插け璐ワ紒锛�");

--
Gitblit v1.9.1