From 952f6d21370d9d142f6ecbe11c179865d482f08f Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 09 六月 2025 14:04:25 +0800
Subject: [PATCH] 下发执行功能优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
index 7a00800..dbe8343 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -28,6 +28,7 @@
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
+import com.vincent.rsf.server.manager.enums.WaveRuleType;
 
 /**
  * @author Ryan
@@ -410,10 +411,10 @@
             throw new CoolException("鏈壘鍒板綋鍓嶇瓥鐣�");
         }
         List<OrderOutItemDto> locItems = null;
-        switch (waveRule.getType()) {
-            case 1:
-                locItems =  efficiencyFirst(param.getOrderId());
-                break;
+        if (WaveRuleType.Efficiency_First.type.equals(waveRule.getType())) {
+            locItems =  efficiencyFirst(param.getOrderId());
+        } else if (WaveRuleType.First_In_First_Out.type.equals(waveRule.getType())) {
+
         }
         return R.ok(locItems);
     }
@@ -421,7 +422,7 @@
     private List<LocItem> getEfficiencyFirstItemList(AsnOrderItem asnOrderItem){
         QueryWrapper<LocItem> locItemQueryWrapper = new QueryWrapper<>();
         locItemQueryWrapper.eq("matnr_code", asnOrderItem.getMatnrCode());
-        locItemQueryWrapper.eq("batch", asnOrderItem.getBatch());
+        locItemQueryWrapper.eq("batch", asnOrderItem.getSplrBatch());
         String applySql = String.format(
                 "EXISTS (SELECT 1 FROM man_loc ml " +
                         "WHERE ml.use_status = '%s'" +
@@ -431,9 +432,7 @@
         );
         locItemQueryWrapper.apply(applySql);
         List<LocItem> locItems = locItemService.list(locItemQueryWrapper);
-        locItems.sort((s1,s2)->{
-            return LocUtils.isShallowLoc(s1.getLocCode())?1:0;
-        });
+        locItems.sort((s1,s2)-> LocUtils.isShallowLoc(s1.getLocCode())?-1:0);
         return locItems;
     }
 
@@ -462,8 +461,10 @@
                 if (issued.doubleValue() > 0){
                     ExistDto existDto = new ExistDto().setBatch(locItem.getBatch()).setMatnr(locItem.getMatnrCode()).setLocNo(locItem.getLocCode());
                     if (existDtos.add(existDto)){
+                        locItem.setWorkQty(issued.doubleValue() >= locItem.getAnfme() ? locItem.getAnfme() : issued.doubleValue());
                         OrderOutItemDto orderOutItemDto = new OrderOutItemDto();
-                        orderOutItemDto.sync(locItem);
+                        orderOutItemDto.setLocItem(locItem);
+
                         List<DeviceSite> deviceSites = deviceSiteService.list(new LambdaQueryWrapper<DeviceSite>()
                                 .eq(DeviceSite::getChannel, loc.getChannel())
                                 .eq(DeviceSite::getType, issued.doubleValue() >= locItem.getAnfme() && itemList.size() == 1 ? TaskType.TASK_TYPE_OUT.type : TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)

--
Gitblit v1.9.1