From e85f0e74d21e49b9c68474bc4d19f5eceacf1a46 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 20 十月 2025 08:40:04 +0800
Subject: [PATCH] 对接
---
src/main/java/com/zy/asrs/utils/Utils.java | 99 +++++++++++++++++++++++--------------------------
1 files changed, 46 insertions(+), 53 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 8f5121c..ac837db 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -8,17 +8,10 @@
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.RowLastno;
import com.zy.asrs.service.RowLastnoService;
-import com.zy.common.CodeBuilder;
-import com.zy.common.model.LocDetlDto;
import com.zy.common.properties.SlaveProperties;
-import com.zy.common.service.CommonService;
-import com.zy.system.service.UserService;
-
import java.text.DecimalFormat;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
/**
@@ -123,17 +116,12 @@
*/
public static String getShallowLoc(SlaveProperties slaveProperties, String deepLoc) {
int row = getRow(deepLoc);
- int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
- int shallowRow = remainder == 1 ? (row + 1) : (row - 1);
+ if (row ==1 || row == 6){
+ return deepLoc;
+ }
+ boolean deepLocLeft = isDeepLocLeft(slaveProperties, row);//鍒ゆ柇鏄惁涓哄乏娣卞簱浣�
+ int shallowRow = deepLocLeft ? (row + 1) : (row - 1);
return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2);
- }
-
- /**
- * 鑾峰彇 娣卞簱浣嶆帓瀵瑰簲鐨勬祬搴撲綅鎺�
- */
- public static Integer getShallowRow(SlaveProperties slaveProperties, Integer deepRow) {
- int remainder = (int) Arith.remainder(deepRow, slaveProperties.getGroupCount());
- return remainder == 1 ? (deepRow + 1) : (deepRow - 1);
}
/**
@@ -141,32 +129,47 @@
*/
public static String getDeepLoc(SlaveProperties slaveProperties, String shallowLoc) {
int row = getRow(shallowLoc);
- int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
- int targetRow;
- if (remainder == 2) {
- targetRow = row - 1;
- } else if (remainder == 3) {
- targetRow = row + 1;
- } else {
- throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖");
+ boolean deepLocLeft = isDeepLocLeft(slaveProperties, row - 1);//鍒ゆ柇鏄惁涓哄乏娴呭簱浣�
+ int shallowRow = deepLocLeft ? (row - 1) : (row + 1);
+ return zerofill(String.valueOf(shallowRow), 2) + shallowLoc.substring(2);
+ }
+
+ /**
+ * 鑾峰彇 娴呭簱浣嶅搴旂殑娣卞簱浣嶅彿,濡傛灉娌℃湁娣卞簱浣嶏紝鍒欒繑鍥炰负绌�
+ */
+ public static String getDeepLoc2(SlaveProperties slaveProperties, String shallowLoc) {
+ int row = getRow(shallowLoc);
+ boolean deepLoc = isDeepLoc(slaveProperties, row);//鍒ゆ柇鏄惁涓烘繁搴撲綅
+ if (deepLoc) {
+ return null;
}
- return zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2);
+ if (row == 1 || row == 6) {
+ return null;
+ }
+ //2,8,11,15,19,23
+ if (row == 5 || row == 8 || row == 12 || row == 16 || row == 20 || row == 24) {
+ return zerofill(String.valueOf(row - 1), 2) + shallowLoc.substring(2);
+ } else {
+ return zerofill(String.valueOf(row + 1), 2) + shallowLoc.substring(2);
+ }
+ }
+
+
+ /**
+ * 鑾峰彇 娣卞簱浣嶆帓瀵瑰簲鐨勬祬搴撲綅鎺�
+ */
+ public static Integer getShallowRow(SlaveProperties slaveProperties, Integer deepRow) {
+// int remainder = (int) Arith.remainder(deepRow, slaveProperties.getGroupCount());
+ boolean deepLocLeft = isDeepLocLeft(slaveProperties, deepRow);//鍒ゆ柇鏄惁涓哄乏娣卞簱浣�
+ return deepLocLeft ? (deepRow + 1) : (deepRow - 1);
}
/**
* 鑾峰彇 娴呭簱浣嶆帓瀵瑰簲鐨勬繁搴撲綅鎺�
*/
public static Integer getDeepRow(SlaveProperties slaveProperties, Integer shallowRow) {
- int remainder = (int) Arith.remainder(shallowRow, slaveProperties.getGroupCount());
- int targetRow;
- if (remainder == 2) {
- targetRow = shallowRow - 1;
- } else if (remainder == 3) {
- targetRow = shallowRow + 1;
- } else {
- throw new RuntimeException(shallowRow + "涓嶆槸娴呭簱浣嶆帓锛岀郴缁熺箒蹇�");
- }
- return targetRow;
+ boolean deepLocLeft = isDeepLocLeft(slaveProperties, shallowRow - 1);//鍒ゆ柇鏄惁涓哄乏娴呭簱浣�
+ return deepLocLeft ? (shallowRow - 1) : (shallowRow + 1);
}
/**
@@ -216,17 +219,6 @@
String targetLoc = zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2);
}
-
-// public static void main(String[] args) {
-// SlaveProperties slaveProperties = new SlaveProperties();
-// slaveProperties.setDoubleDeep(true);
-// List<Integer> list = new ArrayList<>();
-// list.add(1);list.add(4);list.add(5);list.add(8);list.add(9);list.add(12);
-// slaveProperties.setDoubleLocs(list);
-// slaveProperties.setGroupCount(4);
-// Integer deepRow = getDeepRow(slaveProperties, 6);
-// System.out.println(deepRow);
-// }
public static Integer GetWhsType(Integer sourceStaNo) {
RowLastnoService rowLastnoService = SpringUtils.getBean(RowLastnoService.class);
@@ -489,6 +481,7 @@
return necessaryParameters;
}
+
//鍥涘悜搴擄紙鐗涚溂\鍏夋嘲锛�
public static int[] LocNecessaryParametersDoubleExtension6(RowLastno rowLastno, Integer curRow, Integer crnNumber) {
int[] necessaryParameters = new int[]{0, 0, 0, 0};
@@ -498,7 +491,7 @@
necessaryParameters[0] = crnNumber; // 杞娆℃暟
curRow = curRow - offset;
//婊℃澘姝e父鍏ュ簱
- switch (curRow){
+ switch (curRow) {
case 1:
necessaryParameters[1] = 4; //curRow 鏈�娣卞簱浣嶆帓
necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿
@@ -544,7 +537,7 @@
Integer sCrnNo = rowLastno.getsCrnNo();//璧峰鍫嗗灈鏈哄彿
necessaryParameters[0] = crnNumber; // 杞娆℃暟
//婊℃澘姝e父鍏ュ簱
- if (curRow.equals(rowLastno.geteRow())){
+ if (curRow.equals(rowLastno.geteRow())) {
necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓
necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿
necessaryParameters[3] = sRow; //nearRow 鏈�娴呭簱浣嶆帓
@@ -619,12 +612,12 @@
// 澶栦晶鏂瑰悜鐨勮揣浣� 浼樺厛鍏ュ簱鏂瑰悜 ===>> 鍙嶄箣
public static List<String> getGroupOutLocCrn(Integer curRow, Integer nearRow, String locNo, boolean pakin) {
List<String> result = new ArrayList<>();
- if (pakin){
- for (int row = curRow;row>=nearRow;row--){
+ if (pakin) {
+ for (int row = curRow; row >= nearRow; row--) {
result.add(zerofill(String.valueOf(row), 2) + locNo.substring(2));
}
- }else {
- for (int row = curRow;row<=nearRow;row++){
+ } else {
+ for (int row = curRow; row <= nearRow; row++) {
result.add(zerofill(String.valueOf(row), 2) + locNo.substring(2));
}
}
--
Gitblit v1.9.1