From 0916bb4ea987c0599b6af6bb8dd251a071770e05 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 23 十月 2025 14:32:15 +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