From 50f2f8945f1ab86c931fee6cf9d9bd88a122ae6e Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 07 六月 2025 17:14:47 +0800
Subject: [PATCH] #单据出库

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java |   15 +++++++--------
 rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/WaveRuleType.java               |   17 +++++++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/OrderOutItemDto.java   |    8 +++++---
 3 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/OrderOutItemDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/OrderOutItemDto.java
index 19b2c3a..f013f8a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/OrderOutItemDto.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/OrderOutItemDto.java
@@ -4,12 +4,14 @@
 import com.vincent.rsf.server.manager.utils.Synchro;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import lombok.experimental.Delegate;
 
 import java.util.List;
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class OrderOutItemDto extends LocItem {
 
+@Data
+public class OrderOutItemDto  {
+    @Delegate
+    private LocItem locItem;
 
 
     private List<staListDto> staNos;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/WaveRuleType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/WaveRuleType.java
new file mode 100644
index 0000000..64fac16
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/WaveRuleType.java
@@ -0,0 +1,17 @@
+package com.vincent.rsf.server.manager.enums;
+
+public enum WaveRuleType {
+
+    Efficiency_First("1","鏁堢巼浼樺厛"),
+    First_In_First_Out("2","鍏堣繘鍏堝嚭")
+
+    ;
+
+    public Integer type;
+    public String desc;
+
+    WaveRuleType(String type, String desc) {
+        this.type = Integer.parseInt(type);
+        this.desc = desc;
+    }
+}
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..3c75226 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;
     }
 

--
Gitblit v1.9.1