From 7e10622ead5bd8b3ce0c9fda39d22ae0e938e030 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期五, 12 九月 2025 13:44:10 +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