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 | 144 +++++++++++++++++++++--------------------------
1 files changed, 64 insertions(+), 80 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..e36642e 100644
--- a/src/main/java/com/zy/asrs/controller/MapController.java
+++ b/src/main/java/com/zy/asrs/controller/MapController.java
@@ -8,15 +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.Objects;
+import java.util.stream.Collectors;
@RestController
@@ -27,85 +30,58 @@
@Autowired
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) {
- try {
- String mapFilename = "map.json";
- String fileName = Objects.requireNonNull(this.getClass().getClassLoader().getResource(mapFilename)).getPath();//鑾峰彇鏂囦欢璺緞
- 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();
+ public String getMapData(@RequestParam String area, @RequestParam Integer 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);
- }
+ //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁
+ List<LocMast> locMasts = locMastService.selectNodeLocByLev(area, lev);
- //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁
- 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;
- }
- 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);
- }
-
- 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")
@@ -116,8 +92,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 +101,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