From 0d663103c178d04f725fb0ef3a4ce2fa454b9244 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期三, 22 十月 2025 11:51:27 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/ToSortLineUtils.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 50 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/ToSortLineUtils.java b/src/main/java/com/zy/asrs/utils/ToSortLineUtils.java
index 19ee586..f2b5c46 100644
--- a/src/main/java/com/zy/asrs/utils/ToSortLineUtils.java
+++ b/src/main/java/com/zy/asrs/utils/ToSortLineUtils.java
@@ -1,7 +1,7 @@
package com.zy.asrs.utils;
-import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.param.OrderToLine;
+import com.zy.asrs.utils.param.ItemUtilParam;
import java.util.ArrayList;
import java.util.List;
@@ -36,12 +36,30 @@
return sku+sign_F+po+sign_F+upc;
}
- public static OrderToLine GetOrderToLine(List<GroupedLockerOptimizerUtils.Item> items,OrderToLine orderToLine){
- Long bindingTag = System.currentTimeMillis();//娣锋惌鏍囪
+ public static OrderToLine GetOrderToLine(List<ItemUtilParam.Item> items, OrderToLine orderToLine,String sign){
+ switch (sign){
+ case "Opt":
+ List<OptimizedLockerPackingUtils.Item> itemsOpt = new ArrayList<>();
+ for (ItemUtilParam.Item item:items){
+ itemsOpt.add(new OptimizedLockerPackingUtils.Item(item.getName(),item.getMaxCapacity(),item.getStock()));
+ }
+ return GetOrderToLineOpt(itemsOpt,orderToLine);
+ case "Opt3":
+ List<OptimizedLockerPacking3Utils.Item> itemsOpt3 = new ArrayList<>();
+ for (ItemUtilParam.Item item:items){
+ itemsOpt3.add(new OptimizedLockerPacking3Utils.Item(item.getName(),item.getMaxCapacity(),item.getStock()));
+ }
+ return GetOrderToLineOpt3(itemsOpt3,orderToLine);
+ default:
+ return null;
+ }
+ }
+ public static OrderToLine GetOrderToLineOpt(List<OptimizedLockerPackingUtils.Item> items,OrderToLine orderToLine){
List<OrderToLine.MatList> matLists = new ArrayList<>();
// 浣跨敤鍒嗙粍浼樺厛绠楁硶
- GroupedLockerOptimizerUtils.PackingSolution solution = GroupedLockerOptimizerUtils.packItemsWithGrouping(items);
- for (GroupedLockerOptimizerUtils.Locker locker:solution.lockers) {
+ OptimizedLockerPackingUtils.PackingSolution packingSolution = OptimizedLockerPackingUtils.optimizedPacking(items);
+// System.out.println("\n" + packingSolution);
+ for (OptimizedLockerPackingUtils.Locker locker:packingSolution.lockers) {
for (String mantnr : locker.contents.keySet()){
System.out.println(mantnr+"<===>"+locker.contents.get(mantnr));
String[] split = mantnr.split(Pattern.quote(sign_F));
@@ -52,13 +70,38 @@
split[2], //barcode -> upc -> s2
1,
null, //origin -> supplier 璐ф簮
- bindingTag
+ locker.bindingTags
);
matLists.add(mat);
}
- bindingTag++;
}
orderToLine.setMatList(matLists);
return orderToLine;
}
+
+ public static OrderToLine GetOrderToLineOpt3(List<OptimizedLockerPacking3Utils.Item> items,OrderToLine orderToLine){
+ List<OrderToLine.MatList> matLists = new ArrayList<>();
+ // 浣跨敤鍒嗙粍浼樺厛绠楁硶
+ OptimizedLockerPacking3Utils.PackingSolution packingSolution = OptimizedLockerPacking3Utils.optimizedPacking(items);
+// System.out.println("\n" + packingSolution);
+ for (OptimizedLockerPacking3Utils.Locker locker:packingSolution.lockers) {
+ for (String mantnr : locker.contents.keySet()){
+// System.out.println(mantnr+"<===>"+locker.contents.get(mantnr));
+ String[] split = mantnr.split(Pattern.quote(sign_F));
+ OrderToLine.MatList mat = new OrderToLine.MatList(
+ split[0], // matnr -> sku
+ split[1], // supp -> po -> s1
+ locker.contents.get(mantnr).doubleValue(), //鏁存枡
+ split[2], //barcode -> upc -> s2
+ 1,
+ null, //origin -> supplier 璐ф簮
+ locker.bindingTags
+ );
+ matLists.add(mat);
+ }
+ }
+ orderToLine.setMatList(matLists);
+ return orderToLine;
+ }
+
}
--
Gitblit v1.9.1