From 4fa74e859c0a44fa45dafaa129653ad8a8496c80 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 03 六月 2023 16:44:48 +0800
Subject: [PATCH] #平库地图更改

---
 src/main/java/com/zy/asrs/controller/MapController.java |  133 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 111 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MapController.java b/src/main/java/com/zy/asrs/controller/MapController.java
index 8cf5c35..5bcad57 100644
--- a/src/main/java/com/zy/asrs/controller/MapController.java
+++ b/src/main/java/com/zy/asrs/controller/MapController.java
@@ -31,12 +31,25 @@
 
     }};
 
-    @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 ="file:" + new ClassPathResource(mapFilename).getPath();
+            //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁
+            List<LocMast> locMasts = locMastService.selectLocByLev(lev);
+            switch (area){
+                case 1:
+                    break;
+                case 2:
+                case 3:
+                case 4:
+                case 5:
+                    mapFilename = "DTDnode.json";
+                    locMasts = locMastService.selectNodeLocByLev(lev);
+                    break;
+            }
             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);
@@ -69,29 +82,97 @@
                     arrayLists.set(row, rowData);
                 }
 
-                //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁
-                List<LocMast> locMasts = locMastService.selectLocByLev(lev);
+
+
                 for (LocMast locMast : locMasts) {
                     Integer row = locMast.getRow1();
                     Integer bay = locMast.getBay1();
-                    if (row<17){
-                        if (row % 4 == 0 || (row+1) % 4 == 0) {
-                            row=row+locMast.getCrnNo();
-                        }else{
-                            row=row+locMast.getCrnNo()-1;
-                        }
-                    }else {
-                        row=row-100+21;
+
+                    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:
+                        case 4:
+                        case 5:
+                            if (bay % 7 == 0) {
+                                bay=bay+1;
+                            }else{
+                                if (bay>7){
+                                    bay=bay+locMast.getCrnNo();
+                                }else {
+                                    bay=bay+locMast.getCrnNo()-1;
+                                }
+                            }
+                            if (row == 3){
+                                row = row +1;
+                            } else if (row == 5) {
+                                row = row+2;
+                            } else if (row ==8) {
+                                row = row+3;
+                            }
+                            else if (row ==10) {
+                                row = row+4;
+                            }
+                            else if (row ==13) {
+                                row = row+5;
+                            }else if (row ==14) {
+                                row = row+6;
+                            }else {
+                                if (row >3){
+                                    row = row +1;
+                                }
+                                if (row > 5){
+                                    row = row +1;
+                                }
+                                if (row > 8){
+                                    row = row +1;
+                                }
+                                if (row > 10){
+                                    row = row +1;
+                                }
+                                if (row > 13){
+                                    row = row +1;
+                                }
+                                if (row > 14){
+                                    row = row +1;
+                                }
+                            }
+
+
+
                     }
-                    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);
+
+                    if (area == 1){
+                        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);
@@ -113,7 +194,7 @@
                        @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());
@@ -121,6 +202,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