From 469d41fe09ceec3dc5259d01a4060aac1448e09f Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 03 九月 2025 09:59:34 +0800
Subject: [PATCH] 完善订单组托可用数据显示功能
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MapController.java | 125 +++++++++++++++++++++--------------------
1 files changed, 65 insertions(+), 60 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MapController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MapController.java
index 71cec8c..e294719 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MapController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MapController.java
@@ -42,72 +42,77 @@
public String getMapData(@PathVariable("lev") Integer lev) {
BasMap basMap = basMapService.getOne(new LambdaQueryWrapper<BasMap>().eq(BasMap::getLev, lev).eq(BasMap::getHostId, getHostId()));
//瑙f瀽json鍦板浘鏁版嵁
- List<ArrayList> arrayLists = JSON.parseArray(basMap.getData(), ArrayList.class);
- 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);
+ List<ArrayList> arrayLists = new ArrayList<>();
+ try{
+ arrayLists = JSON.parseArray(basMap.getData(), ArrayList.class);
+ 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;
+ }
+ }
+
+ 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);
+ }
+ }
+
+ //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁
+ List<LocMast> locMasts = locMastService.list(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLev1, lev).eq(LocMast::getHostId, getHostId()).in(LocMast::getRow1, 1, 2, 3, 4));
+ for (LocMast locMast : locMasts) {
+ Integer row = locMast.getRow1();
+ Integer bay = locMast.getBay1();
+ 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());
- int value = Integer.parseInt(jsonObject.get("value").toString());
- if (value >= 0 && value != 3) {
- //鍙湁璇ヨ涓殑浠讳竴涓�鍒楁湁鏁版嵁锛屽垯涓嶉渶瑕佸垱寤虹┖鐧借
- flag = false;
+ if (DISABLE_LOC_NO.contains(locMast.getLocNo())) {
+ //绂佹搴撲綅
+ jsonObject.put("value", 10);//灏嗙鐢ㄥ簱浣嶈繘琛岃缃�
}
- }
+ jsonObject.put("locNo", locMast.getLocNo());//璁剧疆搴撲綅鍙�
+ jsonObject.put("locSts", locMast.getLocSts());//搴撲綅鐘舵��
- 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);
- }
- }
-
- //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁
- List<LocMast> locMasts = locMastService.list(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLev1, lev).eq(LocMast::getHostId, getHostId()));
- for (LocMast locMast : locMasts) {
- Integer row = locMast.getRow1();
- Integer bay = locMast.getBay1();
- for (HashMap<String, Integer> lineRow : lineRows) {
- if (row > lineRow.get("start") && row <= lineRow.get("end")) {
- row += lineRow.get("count");
- break;
+ jsonObject.put("lockLocMast", locMast.getLocType3$());
+ jsonObject.put("batch", "");//鎵瑰彿
+ jsonObject.put("barcode", "");//鏉$爜鍙�
+ if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("R")) {
+ List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo, locMast.getLocNo()).eq(LocDetl::getHostId, getHostId()));
+ if (!locDetls.isEmpty()) {
+ LocDetl locDetl = locDetls.get(0);
+ jsonObject.put("batch", locDetl.getBatch());//鎵瑰彿
+ jsonObject.put("barcode", locDetl.getBarcode());//鏉$爜鍙�
+ }
}
- }
- 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("lockLocMast", locMast.getLocType3$());
- jsonObject.put("batch", "");//鎵瑰彿
- jsonObject.put("barcode", "");//鏉$爜鍙�
- if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("R")) {
- List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo, locMast.getLocNo()).eq(LocDetl::getHostId, getHostId()));
- if (!locDetls.isEmpty()) {
- LocDetl locDetl = locDetls.get(0);
- jsonObject.put("batch", locDetl.getBatch());//鎵瑰彿
- jsonObject.put("barcode", locDetl.getBarcode());//鏉$爜鍙�
- }
+ //鏇存柊list
+ rowData.set(bay, jsonObject);
+ arrayLists.set(row, rowData);
}
-
- //鏇存柊list
- rowData.set(bay, jsonObject);
- arrayLists.set(row, rowData);
+ } catch (Exception e){
+ System.out.println("鐣板父锛氱暟甯稿師鍥狅細"+e.getMessage());
}
return JSONObject.toJSONString(arrayLists);
--
Gitblit v1.9.1