From ebdfa825c07189b5f8e89f147d96d1bc612589db Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 15 七月 2025 08:32:17 +0800
Subject: [PATCH] 代码优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java |   33 +++++++++++++++++++++++++--------
 1 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
index 36d255b..398e43d 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -46,6 +46,8 @@
     private WcsService wcsService;
     @Autowired
     private OutStockService outStockService;
+    @Autowired
+    private WaveService waveService;
 
 
     /**
@@ -71,11 +73,19 @@
         String siteNo = map.getSiteNo();
         List<LocItem> items = map.getItems();
         Map<Long, List<LocItem>> listMap = items.stream().collect(Collectors.groupingBy(LocItem::getLocId));
-        AsnOrder order;
+        WkOrder order;
+        Wave wave;
         if (!Objects.isNull(map.getSourceId())) {
-            order = outStockService.getById(map.getSourceId());
+            if (map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) {
+                order = new WkOrder();
+                wave = waveService.getById(map.getSourceId());
+            } else {
+                wave = new Wave();
+                order = outStockService.getById(map.getSourceId());
+            }
         } else {
-            order = new AsnOrder();
+            wave = new Wave();
+            order = new WkOrder();
         }
 
         listMap.keySet().forEach(key -> {
@@ -117,9 +127,11 @@
             List<LocItem> locItemList = listMap.get(key);
             Double outQty = locItemList.stream().mapToDouble(LocItem::getOutQty).sum();
 
-            if (map.getType().equals(Constants.TASK_TYPE_OUT_STOCK) || map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK)) {
+            if (map.getType().equals(Constants.TASK_TYPE_OUT_STOCK)
+                    || map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK)
+                    || map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) {
                 if (orgQty.compareTo(outQty) > 0) {
-                    //鎷f枡鍑哄簱
+                    //鎷f枡鍑哄簱 -- 鐩樼偣鍑哄簱
                     DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
                             .eq(DeviceSite::getSite, siteNo)
                             .eq(DeviceSite::getChannel, loc.getChannel())
@@ -199,14 +211,19 @@
                         .setCreateBy(loginUserId)
                         .setCreateTime(new Date())
                         .setUpdateTime(new Date())
-                        .setOrderType(OrderType.ORDER_OUT.type)
-                        .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type));
+                        .setOrderType(OrderType.ORDER_OUT.type);
                 if (map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK)) {
                     taskItem.setWkType(Short.parseShort(order.getWkType()))
                             .setSourceCode(order.getCode())
                             .setSourceId(order.getId());
+                } else if (map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) {
+                    taskItem.setSourceId(wave.getId())
+                            .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_OTHER.type))
+                            .setSourceCode(wave.getCode())
+                            .setSource(item.getSource());
                 } else if (map.getType().equals(Constants.TASK_TYPE_OUT_CHECK) || map.getType().equals(Constants.TASK_TYPE_OUT_STOCK)) {
-                    taskItem.setSource(item.getId())
+                    taskItem.setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type))
+                            .setSource(item.getId())
                             .setSourceId(item.getLocId())
                             .setSourceCode(item.getLocCode());
                 }

--
Gitblit v1.9.1