From 920a4ebef6f4f70f097ee9d10c05a5481e2d43ab Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期六, 16 十二月 2023 16:56:22 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/MapController.java |  169 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 144 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MapController.java b/src/main/java/com/zy/asrs/controller/MapController.java
index ff28fab..586b525 100644
--- a/src/main/java/com/zy/asrs/controller/MapController.java
+++ b/src/main/java/com/zy/asrs/controller/MapController.java
@@ -16,7 +16,6 @@
 import java.io.*;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Objects;
 
 @RestController
 
@@ -28,25 +27,20 @@
     private LocDetlService locDetlService;
 
     private static final List<String> DISABLE_LOC_NO = new ArrayList<String>() {{
-        add("0200101");
-        add("0300101");
-        add("0400101");
-        add("0500101");
-        add("0600101");
-        add("0700101");
-        add("0800101");
-        add("0900101");
-        add("1000101");
-        add("1100101");
-        add("1200101");
+
     }};
 
-    @GetMapping("/map/getData/{lev}/auth")
+    @GetMapping("/map/getData/auth")
     @ManagerAuth
-    public String getMapData(@PathVariable("lev") Integer lev) {
+    public String getMapData(@RequestParam Integer lev,@RequestParam Integer area) {
         try {
             String mapFilename = "map.json";
-            String fileName = Objects.requireNonNull(this.getClass().getClassLoader().getResource(mapFilename)).getPath();//鑾峰彇鏂囦欢璺緞
+//            String fileName ="file:" + new ClassPathResource(mapFilename).getPath();
+            //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁
+            List<LocMast> locMasts = locMastService.selectNodeLocByLev(lev);
+
+            String fileName = this.getClass().getClassLoader().getResource(mapFilename).getPath();//鑾峰彇鏂囦欢璺緞
+//            File file = new File("D:\\workspace\\zy-asrs\\src\\main\\resources\\map.json");
             File file = new File(fileName);
             StringBuffer stringBuffer = new StringBuffer();
             if (file.isFile() && file.exists()) {
@@ -77,25 +71,142 @@
                     arrayLists.set(row, rowData);
                 }
 
-                //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁
-                List<LocMast> locMasts = locMastService.selectLocByLev(lev);
+
+
                 for (LocMast locMast : locMasts) {
+
                     Integer row = locMast.getRow1();
                     Integer bay = locMast.getBay1();
-                    if (row >= 2 && row <= 12) {
-                        row++;
-                    }else if (row == 13) {
-                        row += 2;
-                    }
+
+//                    switch (area){
+//                        case 1:
+//                            if (row % 4 == 0 || (row+1) % 4 == 0) {
+//                                row=row+locMast.getCrnNo();
+//                            }else{
+//                                row=row+locMast.getCrnNo()-1;
+//                            }
+//                            bay=32-bay;
+//                            break;
+//                        case 2:
+//                        case 3:
+////                            if (row<=3 || row>=5){
+////                                if (row%1==0){
+////                                    row=row+(row/1)-1;
+////                                }else {
+////                                    row=row+((row+1)/1)-1;
+////                                }
+////                            }else {
+////                                if (row%2==0){
+////                                    row=row+(row/2);
+////                                }else {
+////                                    row=row+((row-1)/2);
+////                                }
+////                            }
+////                            if (row == 9){
+////                                row= row -1;
+////                            }
+//
+//                            if (row ==7) {
+//                                row=row+2;
+//                            }else{
+//                                if (row>7){
+//                                    row=row+locMast.getCrnNo()+1;
+//                                }else {
+//                                    row=row+locMast.getCrnNo()-1;
+//                                }
+//                            }
+//                            break;
+////                        case 4:
+//////                            if (row<=11){
+////////                                if (row%2==0){
+////////                                    row=row+(row/2)-1;
+////////                                }else {
+////////                                    row=row+((row+1)/2)-1;
+////////                                }
+////////                            }else {
+////////                                if (row%2==0){
+////////                                    row=row+(row/2);
+////////                                }else {
+////////                                    row=row+((row-1)/2);
+////////                                }
+////////                            }
+////
+////                            if (row % 10 == 0) {
+////                                row=row+2;
+////                            }else{
+////                                if (row>10){
+////                                    row=row+locMast.getCrnNo()+1;
+////                                }else {
+////                                    row=row+locMast.getCrnNo()-1;
+////                                }
+////                            }
+////                            break;
+//                        case 5:
+////                            if (row<=11){
+////                                if (row%2==0){
+////                                    row=row+(row/2)-1;
+////                                }else {
+////                                    row=row+((row+1)/2)-1;
+////                                }
+////                            }else {
+////                                if (row%2==0){
+////                                    row=row+(row/2);
+////                                }else {
+////                                    row=row+((row-1)/2);
+////                                }
+////                            }
+//
+//                            if (row % 7 == 0) {
+//                                row=row+2;
+//                            }else{
+//                                if (row>7){
+//                                    row=row+locMast.getCrnNo()+1;
+//                                }else {
+//                                    row=row+locMast.getCrnNo()-1;
+//                                }
+//                            }
+//                            break;
+//
+//
+//
+//                    }
+
                     ArrayList rowData = arrayLists.get(row);
                     Object o = rowData.get(bay);
                     JSONObject jsonObject = JSON.parseObject(o.toString());
                     jsonObject.put("locNo", locMast.getLocNo());//璁剧疆搴撲綅鍙�
                     jsonObject.put("locSts", locMast.getLocSts());//搴撲綅鐘舵��
-                    jsonObject.put("locSts$", locMast.getLocSts$());//搴撲綅鐘舵��
+                    //jsonObject.put("locSts$", locMast.getLocSts$());//搴撲綅鐘舵��
                     //鏇存柊list
                     rowData.set(bay, jsonObject);
                     arrayLists.set(row, rowData);
+
+
+
+//                    if (area == 1 || area == 6){
+//                        ArrayList rowData = arrayLists.get(row);
+//                        Object o = rowData.get(bay);
+//                        JSONObject jsonObject = JSON.parseObject(o.toString());
+//                        jsonObject.put("locNo", locMast.getLocNo());//璁剧疆搴撲綅鍙�
+//                        jsonObject.put("locSts", locMast.getLocSts());//搴撲綅鐘舵��
+//                        //jsonObject.put("locSts$", locMast.getLocSts$());//搴撲綅鐘舵��
+//                        //鏇存柊list
+//                        rowData.set(bay, jsonObject);
+//                        arrayLists.set(row, rowData);
+//                    }else {
+//                        ArrayList rowData = arrayLists.get(bay);
+//                        Object o = rowData.get(row);
+//                        JSONObject jsonObject = JSON.parseObject(o.toString());
+//                        jsonObject.put("locNo", locMast.getLocNo());//璁剧疆搴撲綅鍙�
+//                        jsonObject.put("locSts", locMast.getLocSts());//搴撲綅鐘舵��
+//                        //jsonObject.put("locSts$", locMast.getLocSts$());//搴撲綅鐘舵��
+//                        //鏇存柊list
+//                        rowData.set(row, jsonObject);
+//                        arrayLists.set(bay, rowData);
+//                    }
+
+
+
                 }
 
                 return JSONObject.toJSONString(arrayLists);
@@ -116,8 +227,8 @@
                        @RequestParam("specs") String specs,
                        @RequestParam("matnr") String matnr,
                        @RequestParam("maktx") String maktx
-                       ) {
-        List<LocDetl> locDetls = locDetlService.searchByLike(orderNo, matnr, maktx, specs, locNo);
+    ) {
+        List<LocDetl> locDetls = locDetlService.searchByLike(orderNo, matnr, maktx, specs, "");
         ArrayList<LocDetl> lists = new ArrayList<>();
         for (LocDetl locDetl : locDetls) {//杩囨护鎺変笉鏄綋鍓嶆ゼ灞傜殑鏁版嵁
             int lev1 = Utils.getLev(locDetl.getLocNo());
@@ -125,6 +236,14 @@
                 lists.add(locDetl);
             }
         }
+
+        //鎼滅储鎸囧畾搴撲綅鍙凤紝鍗充娇搴撲綅涓虹┖锛屼篃鍙互杩斿洖鏁版嵁
+        LocMast locMast = locMastService.selectById(locNo);
+        if (locMast != null) {
+            LocDetl locDetl = new LocDetl();
+            locDetl.setLocNo(locMast.getLocNo());
+            lists.add(locDetl);
+        }
         return R.ok().add(lists);
     }
 

--
Gitblit v1.9.1