From 82b8c1133e96d7e4b9af4ddbc6ef7c6fb583aa5e Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期六, 31 八月 2024 10:12:42 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/MapController.java | 241 ++++++++++------------------------------------- 1 files changed, 53 insertions(+), 188 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MapController.java b/src/main/java/com/zy/asrs/controller/MapController.java index 8f10ea8..e36642e 100644 --- a/src/main/java/com/zy/asrs/controller/MapController.java +++ b/src/main/java/com/zy/asrs/controller/MapController.java @@ -8,14 +8,18 @@ import com.zy.asrs.entity.LocMast; import com.zy.asrs.service.LocDetlService; import com.zy.asrs.service.LocMastService; +import com.zy.asrs.utils.LocMapConstants; import com.zy.asrs.utils.Utils; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; -import java.io.*; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @RestController @@ -26,197 +30,58 @@ @Autowired private LocDetlService locDetlService; - private static final List<String> DISABLE_LOC_NO = new ArrayList<String>() {{ - - }}; - @GetMapping("/map/getData/auth") @ManagerAuth - public String getMapData(@RequestParam Integer lev,@RequestParam Integer area) { - try { - String mapFilename = "AMap.json"; -// String fileName ="file:" + new ClassPathResource(mapFilename).getPath(); - //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁 - List<LocMast> locMasts = locMastService.selectNodeCLocByLev(lev); + public String getMapData(@RequestParam String area, @RequestParam Integer 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()) { - InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "GBK"); - BufferedReader br = new BufferedReader(isr); - String lineTxt = null; - while ((lineTxt = br.readLine()) != null) { - stringBuffer.append(lineTxt); - } - br.close(); + //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁 + List<LocMast> locMasts = locMastService.selectNodeLocByLev(area, lev); - //瑙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 >= 2 && row <= 12) { - row++; - }else if (row == 13) { - row += 2; - } - 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); - } - - - - for (LocMast locMast : locMasts) { - - Integer row = locMast.getRow1(); - Integer bay = locMast.getBay1(); - -// 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$());//搴撲綅鐘舵�� - //鏇存柊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); - } else { - System.out.println("鏂囦欢涓嶅瓨鍦�!"); - } - } catch (IOException ioException) { - ioException.printStackTrace(); + // 鍔犺浇搴撳尯瀵瑰簲鍦板浘鏁版嵁 + List<ArrayList> arrayLists; + switch (area) { + case "B": + arrayLists = LocMapConstants.B_LOC_MAP_FINAL; + break; + case "C": + arrayLists = LocMapConstants.C_LOC_MAP_FINAL; + break; + case "D": + arrayLists = LocMapConstants.D_LOC_MAP_FINAL; + break; + case "E": + arrayLists = LocMapConstants.E_LOC_MAP_FINAL; + break; + default: + arrayLists = LocMapConstants.A_LOC_MAP_FINAL; + break; } - return null; + + // 闄搴撳尯澶栵紝鍏朵粬鍖烘病鏈夊眰锛岃�屼笖鎶婂垪瀛樺埌浜嗗眰鐨勬暟鎹噷锛岄渶瑕佽浆鎹㈠洖鏉� + if (!"A".equals(area)) { + locMasts = locMasts.stream().peek(locMast -> locMast.setBay1(locMast.getLev1())).collect(Collectors.toList()); + } + + for (LocMast locMast : locMasts) { + + Integer row = locMast.getRow1(); + Integer bay = locMast.getBay1(); + // CDE鍙湁涓�鍒�,鎵�浠ュ垪鍙崇Щ + if ("C".equals(area) || "D".equals(area) || "E".equals(area)) { + ++ bay ; + } + + 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());//搴撲綅鐘舵�� + //鏇存柊list + rowData.set(bay, jsonObject); + arrayLists.set(row, rowData); + } + + return JSONObject.toJSONString(arrayLists); } @RequestMapping("/map/searchData/auth") -- Gitblit v1.9.1