From 3ad65283c54059e0c61110589fb19398ac3525fe Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 08 七月 2025 08:32:32 +0800
Subject: [PATCH] 完善拣料转全板
---
src/main/java/com/zy/asrs/controller/MapController.java | 59 ++++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 36 insertions(+), 23 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MapController.java b/src/main/java/com/zy/asrs/controller/MapController.java
index 26e9f08..84b64df 100644
--- a/src/main/java/com/zy/asrs/controller/MapController.java
+++ b/src/main/java/com/zy/asrs/controller/MapController.java
@@ -15,6 +15,7 @@
import java.io.*;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
@RestController
@@ -56,23 +57,33 @@
//瑙f瀽json鍦板浘鏁版嵁
List<ArrayList> arrayLists = JSON.parseArray(stringBuffer.toString(), ArrayList.class);
- for (String locNo : DISABLE_LOC_NO) {//绂佺敤璁剧疆搴撲綅
- int row = Utils.getRow(locNo);
- int bay = Utils.getBay(locNo);
- if (row >= 4 && row <= 11) {
- row++;
- }else if (row >= 12 && row <= 18) {
- row += 2;
- } else if (row >= 19 && row <= 21) {
- row += 3;
+ ArrayList<HashMap<String, Integer>> lineRows = new ArrayList<>();
+ int dataRow = 0;
+ int dataRowCount = 0;
+ for (int i = 1; i < arrayLists.size(); i++) {
+ boolean flag = true;
+ ArrayList rows = arrayLists.get(i);
+ for (int j = 1; j < rows.size() - 1; j++) {
+ Object o = rows.get(j);
+ JSONObject jsonObject = JSON.parseObject(o.toString());
+ int value = Integer.parseInt(jsonObject.get("value").toString());
+ if (value >= 0 && value != 3) {
+ //鍙湁璇ヨ涓殑浠讳竴涓�鍒楁湁鏁版嵁锛屽垯涓嶉渶瑕佸垱寤虹┖鐧借
+ flag = false;
+ }
}
- ArrayList rowData = arrayLists.get(row);
- Object o = rowData.get(bay);
- JSONObject jsonObject = JSON.parseObject(o.toString());
- jsonObject.put("value", 10);//灏嗙鐢ㄥ簱浣嶈繘琛岃缃�
- //鏇存柊list
- rowData.set(bay, jsonObject);
- arrayLists.set(row, rowData);
+
+ if (flag) {
+ //绌虹櫧琛岄渶瑕佽烦杩�
+ HashMap<String, Integer> map = new HashMap<>();
+ map.put("start", dataRow);
+ int end = i - 1 - dataRowCount;
+ map.put("end", end);
+ map.put("count", dataRowCount);
+ dataRow = end;
+ dataRowCount++;
+ lineRows.add(map);
+ }
}
//鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁
@@ -80,19 +91,21 @@
for (LocMast locMast : locMasts) {
Integer row = locMast.getRow1();
Integer bay = locMast.getBay1();
- if (row >= 4 && row <= 11) {
- row++;
- }else if (row >= 12 && row <= 18) {
- row += 2;
- } else if (row >= 19 && row <= 21) {
- row += 3;
+ for (HashMap<String, Integer> lineRow : lineRows) {
+ if (row > lineRow.get("start") && row <= lineRow.get("end")) {
+ row += lineRow.get("count");
+ break;
+ }
}
ArrayList rowData = arrayLists.get(row);
Object o = rowData.get(bay);
JSONObject jsonObject = JSON.parseObject(o.toString());
+ if (DISABLE_LOC_NO.contains(locMast.getLocNo())) {
+ //绂佹搴撲綅
+ jsonObject.put("value", 10);//灏嗙鐢ㄥ簱浣嶈繘琛岃缃�
+ }
jsonObject.put("locNo", locMast.getLocNo());//璁剧疆搴撲綅鍙�
jsonObject.put("locSts", locMast.getLocSts());//搴撲綅鐘舵��
-// jsonObject.put("locSts$", locMast.getLocSts$());//搴撲綅鐘舵��
//鏇存柊list
rowData.set(bay, jsonObject);
arrayLists.set(row, rowData);
--
Gitblit v1.9.1