From 5c5e89db4fd219d3d685b2473465f522204235b6 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期二, 07 一月 2025 15:33:42 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/Utils.java | 36 ++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 38 ++++++++++++++++++-
2 files changed, 72 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 251c301..840b025 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -19,6 +19,7 @@
import com.zy.asrs.utils.CodeDetectionUtil;
import com.zy.asrs.utils.MatUtils;
import com.zy.asrs.utils.PostMesDataUtils;
+import com.zy.asrs.utils.Utils;
import com.zy.common.model.DetlDto;
import com.zy.common.model.LocTypeDto;
import com.zy.common.model.StartupDto;
@@ -1314,12 +1315,45 @@
if (locDetlArrayList.size()<batchNum){
throw new CoolException("搴撳瓨鏁伴噺:"+locDetlArrayList.size()+"锛涘皬浜庨渶姹傛暟閲�:"+param.getBatchNum());
}
+ ArrayList<String> locS = new ArrayList<>();
+
+ ArrayList<LocDetl> locDetlArrayAnd = new ArrayList<>();
+ for (LocDetl locDetl : locDetlArrayList){
+ if (!locS.contains(locDetl.getLocNo())){
+ locDetlArrayAnd.add(locDetl);
+ locS.add(locDetl.getLocNo());
+ if (crnList.contains(1) || crnList.contains(2)){
+ String singleLoc = Utils.singleLoc(locDetl.getLocNo());
+ if (Cools.isEmpty(singleLoc)){
+ log.error("寮傚父搴撲綅鍙凤細"+singleLoc+"锛涜緭鍏ュ簱浣嶅彿锛�"+locDetl.getLocNo());
+ continue;
+ }
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", singleLoc));
+ if (locMast.getLocSts().equals("F")){
+ LocDetl locDetl1 = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", singleLoc));
+ if (!locS.contains(locDetl1.getLocNo())){
+ if (locDetl1.getMatnr().equals(locDetl.getMatnr())){
+ locDetlArrayAnd.add(locDetl1);
+ locS.add(locDetl1.getLocNo());
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (locDetlArrayAnd.isEmpty()){
+ throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight());
+ }
+ if (locDetlArrayAnd.size()<batchNum){
+ throw new CoolException("搴撳瓨鏁伴噺:"+locDetlArrayAnd.size()+"锛涘皬浜庨渶姹傛暟閲�:"+param.getBatchNum());
+ }
ArrayList<LocDetl> locDetlArraySou = new ArrayList<>();
- for (LocDetl locDetl : locDetlArrayList){
+ for (LocDetl locDetl : locDetlArrayAnd){
if (batchNum <= 0){
- return;
+ break;
}
locDetlArraySou.add(locDetl);
batchNum --;
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 08446f5..884f9e1 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -247,7 +247,43 @@
boolean deepLocLeft = isDeepLocLeft(slaveProperties, shallowRow-1);//鍒ゆ柇鏄惁涓哄乏娴呭簱浣�
return deepLocLeft? (shallowRow - 1) : (shallowRow + 1);
}
+ /**
+ * 鑾峰彇 灏忔枡搴撲綅瀵瑰簲鐨勬繁鑾锋祬搴撲綅
+ */
+ public static String singleLoc(String locNo) {
+ int row = getRow(locNo);
+ int rowOther = 0;
+ switch (row){
+ case 1:
+ rowOther = 2;
+ break;
+ case 2:
+ rowOther = 1;
+ break;
+ case 3:
+ rowOther = 4;
+ break;
+ case 4:
+ rowOther = 3;
+ break;
+ case 5:
+ rowOther = 6;
+ break;
+ case 6:
+ rowOther = 5;
+ break;
+ case 7:
+ rowOther = 8;
+ break;
+ case 8:
+ rowOther = 7;
+ break;
+ default:
+ return null;
+ }
+ return zerofill(String.valueOf(rowOther), 2) + locNo.substring(2);
+ }
/**
* 閫氳繃搴撲綅鍙疯幏鍙� 鎺�
*/
--
Gitblit v1.9.1