From bd96ecd68841a7115231131bce5ba874914b89b5 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期五, 03 一月 2025 15:33:58 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 108 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java b/src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java
index bba7f06..af3d97a 100644
--- a/src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java
+++ b/src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java
@@ -207,7 +207,114 @@
int sign = 0;
int staA=118;
- int staB=119;
+ int staB=118;
+ for (List<StockOutParam.LocDetl> locDetlList:lists){
+ sign++;
+ if (locDetlList.size()==0){
+ continue;
+ }
+ if (sign>lists.size()/2) {
+ //120銆�121
+ staA=120;
+ staB=121;
+ }
+ List<StockOutParam.LocDetl> locDetlsA = new ArrayList<>();
+ List<StockOutParam.LocDetl> locDetlsB = new ArrayList<>();
+ List<String> locNos = new ArrayList<>();
+ for (StockOutParam.LocDetl locDetl:locDetlList){
+ if (locDetlsA.size()<locDetlList.size()/2){
+ locDetlsA.add(locDetl);
+ if (!locNos.contains(locDetl.getLocNo())){
+ locNos.add(locDetl.getLocNo());
+ }
+ }else {
+ if (locNos.contains(locDetl.getLocNo())){
+ locDetlsA.add(locDetl);
+ }else {
+ locDetlsB.add(locDetl);
+ }
+ }
+ }
+ if (locDetlsA.size()!=0){
+ StockOutParam stockOutParamA = new StockOutParam();
+ stockOutParamA.setOutSite(staA);
+ stockOutParamA.setOrderNo(param.getOrderNo());
+ stockOutParamA.setLocDetls(locDetlsA);
+ stockOutParams.add(stockOutParamA);
+ }
+ if (locDetlsB.size()!=0){
+ StockOutParam stockOutParamB = new StockOutParam();
+ stockOutParamB.setOutSite(staB);
+ stockOutParamB.setOrderNo(param.getOrderNo());
+ stockOutParamB.setLocDetls(locDetlsB);
+ stockOutParams.add(stockOutParamB);
+ }
+ }
+ }
+
+ return stockOutParams;
+ }
+
+ public static List<StockOutParam> OutboundClassificationNew(StockOutParam param){
+ List<StockOutParam> stockOutParams = new ArrayList<>();
+
+ List<StockOutParam.LocDetl> locDetls = param.getLocDetls();
+ List<String> brands = new ArrayList<>();
+ for (StockOutParam.LocDetl locDetl:locDetls){
+ if (Cools.isEmpty(locDetl.getBrand())){
+ locDetl.setBrand("");
+ }
+ if (!brands.contains(locDetl.getBrand())){
+ brands.add(locDetl.getBrand());
+ }
+ }
+
+ for (String brand : brands){
+ List<StockOutParam.LocDetl> locDetls1 = new ArrayList<>();
+ List<StockOutParam.LocDetl> locDetls2 = new ArrayList<>();
+ List<StockOutParam.LocDetl> locDetls3 = new ArrayList<>();
+ List<StockOutParam.LocDetl> locDetls4 = new ArrayList<>();
+ List<StockOutParam.LocDetl> locDetls5 = new ArrayList<>();
+ List<StockOutParam.LocDetl> locDetls6 = new ArrayList<>();
+ for (StockOutParam.LocDetl locDetl:locDetls){
+ if (Cools.isEmpty(locDetl.getBrand())){
+ locDetl.setBrand("");
+ }
+ if (locDetl.getBrand().equals(brand)){
+ switch (Utils.getRow(locDetl.getLocNo())){
+ case 1: case 2: case 3: case 4:
+ locDetls1.add(locDetl);
+ break;
+ case 5: case 6: case 7: case 8:
+ locDetls2.add(locDetl);
+ break;
+ case 9: case 10: case 11: case 12:
+ locDetls3.add(locDetl);
+ break;
+ case 13: case 14: case 15: case 16:
+ locDetls4.add(locDetl);
+ break;
+ case 17: case 18: case 19: case 20:
+ locDetls5.add(locDetl);
+ break;
+ case 21: case 22: case 23: case 24:
+ locDetls6.add(locDetl);
+ break;
+ default:
+ }
+ }
+ }
+ ArrayList<List<StockOutParam.LocDetl>> lists = new ArrayList<>();
+ lists.add(locDetls1);
+ lists.add(locDetls2);
+ lists.add(locDetls3);
+ lists.add(locDetls4);
+ lists.add(locDetls5);
+ lists.add(locDetls6);
+
+ int sign = 0;
+ int staA=118;
+ int staB=118;
for (List<StockOutParam.LocDetl> locDetlList:lists){
sign++;
if (locDetlList.size()==0){
--
Gitblit v1.9.1