From 4fb06a58ed5df46f29af1e9fa65cfd40335263ad Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 18 一月 2025 17:06:18 +0800
Subject: [PATCH] # 6. 大屏添加作业类型 (全盘,还是分拣  IOType) 10.平库出库时,当前平库ID是写死在Sql里,需修改 11.平库出库没有判断是否预约出库,且生成拣货单时没有锁定库存,需确认是否考虑回库问题 26. 已拣过货的任务明细,可以再次拣货,拣货明细需添加一个拣货状态 47. 确认发货前,需判断是否已绑定至集货区 48. CTU出库后,库位103不再删除原有库位信息

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java |   60 +++++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 43 insertions(+), 17 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 16e47ac..dc72f46 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
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.zy.asrs.framework.common.R;
 import com.zy.asrs.framework.exception.CoolException;
 import com.zy.asrs.wms.asrs.entity.*;
@@ -17,7 +18,6 @@
 import com.zy.asrs.wms.system.entity.Host;
 import com.zy.asrs.wms.system.service.HostService;
 import io.netty.util.internal.StringUtil;
-import org.aspectj.weaver.ast.Or;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -81,6 +81,12 @@
     private WaveSeedLogService waveSeedLogService;
     @Autowired
     private OrderDetlLogService orderDetlLogService;
+
+    @Autowired
+    private PlatformDetlService platformDetlService;
+    @Autowired
+    private PlatformDetlLogService platformDetlLogService;
+
 
 
     @Override
@@ -257,10 +263,11 @@
                 .eq(PickSheet::getDeleted, 0)
                 .eq(PickSheet::getStatus, 1)
         );
-        BeanUtils.copyProperties(pickSheet, pickDetlDto);
-        if (Objects.isNull(pickDetlDto)) {
-            throw new CoolException("瀵硅薄澶嶅埗澶辫触锛侊紒");
+        if (Objects.isNull(pickSheet)) {
+            throw new CoolException("鎷h揣鍗曚笉瀛樺湪锛侊紒");
         }
+        BeanUtils.copyProperties(pickSheet, pickDetlDto);
+
         List<PickSheetDetl> sheetDetls = pickSheetDetlService.list(new LambdaQueryWrapper<PickSheetDetl>()
                 .eq(PickSheetDetl::getPickId, pickSheet.getId())
                 .eq(PickSheetDetl::getStatus, 1)
@@ -300,8 +307,8 @@
                     throw new CoolException("鏁版嵁閿欒锛侊紒");
                 }
                 //鏇存柊閿佸畾搴撳瓨
-                BigDecimal workQty = BigDecimal.valueOf(detl.getAnfme()).subtract(pickDetl.getAnfme());
-                detl.setWorkQty(workQty.doubleValue());
+//                BigDecimal workQty = BigDecimal.valueOf(detl.getAnfme()).subtract(pickDetl.getAnfme());
+                detl.setWorkQty(0.0);
                 //璁$畻缁撴灉灏忎簬绛変簬闆讹紝绉诲嚭搴撳瓨鏄庣粏
                 BigDecimal qty = BigDecimal.valueOf(detl.getAnfme()).subtract(pickDetl.getAnfme());
                 detl.setAnfme(qty.doubleValue());
@@ -324,7 +331,7 @@
                         .set(Loc::getBarcode, null)
                         .set(Loc::getUpdateTime, new Date())
                         .set(Loc::getLocStsId, LocStsType.O.val()));
-                if (update) {
+                if (!update) {
                     throw new CoolException("搴撳瓨鏇存柊澶辫触锛侊紒 ");
                 }
             }
@@ -442,6 +449,18 @@
         if (params.isEmpty()) {
             throw new CoolException("鍙戣揣鍗曟嵁鏄庣粏涓虹┖锛屼笉鍙墽琛屽彂璐ф搷浣滐紒锛�");
         }
+
+        //鑾峰彇褰撳墠涓婁紶鎵�鏈夎鍗曞彿
+        Set<String> orderNoSet = params.stream().map(ShippingOrderDetlDto::getOrderNo).collect(Collectors.toSet());
+        if (orderNoSet.isEmpty()) {
+            throw new CoolException("涓诲崟淇℃伅涓嶅瓨鍦紝璇锋牳瀵瑰嚭搴撹鍗曪紒锛�");
+        }
+
+        List<Order> orderList = orderService.list(new LambdaQueryWrapper<Order>().in(Order::getOrderNo, orderNoSet));
+        if (orderList.isEmpty()) {
+            throw new CoolException("璁㈠崟涓嶅瓨鍦紒锛�");
+        }
+
         params.forEach(order -> {
             OrderDetl byId = orderDetlService.getById(order.getId());
             if (Objects.isNull(byId)) {
@@ -489,16 +508,6 @@
             }
         });
 
-        //鑾峰彇褰撳墠涓婁紶鎵�鏈夎鍗曞彿
-        Set<String> orderNoSet = params.stream().map(ShippingOrderDetlDto::getOrderNo).collect(Collectors.toSet());
-        if (orderNoSet.isEmpty()) {
-            throw new CoolException("涓诲崟淇℃伅涓嶅瓨鍦紝璇锋牳瀵瑰嚭搴撹鍗曪紒锛�");
-        }
-
-        List<Order> orderList = orderService.list(new LambdaQueryWrapper<Order>().in(Order::getOrderNo, orderNoSet));
-        if (orderList.isEmpty()) {
-            throw new CoolException("璁㈠崟涓嶅瓨鍦紒锛�");
-        }
         orderList.forEach(one -> {
             OrderLog orderLog = new OrderLog();
             BeanUtils.copyProperties(one, orderLog);
@@ -553,6 +562,23 @@
             }
         }
 
+        Set<Long> ordersSet = orderList.stream().map(Order::getId).collect(Collectors.toSet());
+        List<PlatformDetl> platDetls = platformDetlService.list(new LambdaQueryWrapper<PlatformDetl>().in(PlatformDetl::getOrderId, ordersSet));
+        if (platDetls.isEmpty()) {
+            throw new CoolException("璁㈠崟淇℃伅鏈繘闆嗚揣鍖猴紒锛�");
+        }
+        ArrayList<PlatformDetlLog> platformDetls = new ArrayList<>();
+        platDetls.forEach(plat -> {
+            PlatformDetlLog detl = new PlatformDetlLog();
+            BeanUtils.copyProperties(plat, detl);
+            detl.setId(null);
+            platformDetls.add(detl);
+        });
+        //闆嗚揣鍖鸿浆鍘嗗彶妗�
+        if (!platformDetlLogService.saveBatch(platformDetls)) {
+            throw new CoolException("闆嗚揣鍖鸿鍗曡浆鍘嗗彶妗eけ璐ワ紒锛�");
+        }
+
         return R.ok("鍙戣揣瀹屾垚锛侊紒");
     }
 

--
Gitblit v1.9.1