From 82bcd0328dddbaad65933e2fada22bc68e82b3d5 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期六, 26 八月 2023 10:07:46 +0800 Subject: [PATCH] # 导入订单增加单据类型 --- src/main/java/com/zy/asrs/controller/MapController.java | 69 ++++++++++++++++++++++------------ 1 files changed, 45 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MapController.java b/src/main/java/com/zy/asrs/controller/MapController.java index 852beb9..84b64df 100644 --- a/src/main/java/com/zy/asrs/controller/MapController.java +++ b/src/main/java/com/zy/asrs/controller/MapController.java @@ -15,6 +15,7 @@ import java.io.*; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; @RestController @@ -56,23 +57,33 @@ //瑙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 >= 4 && row <= 11) { - row++; - }else if (row >= 12 && row <= 18) { - row += 2; - } else if (row >= 19 && row <= 21) { - row += 3; + ArrayList<HashMap<String, Integer>> lineRows = new ArrayList<>(); + int dataRow = 0; + int dataRowCount = 0; + for (int i = 1; i < arrayLists.size(); i++) { + boolean flag = true; + ArrayList rows = arrayLists.get(i); + for (int j = 1; j < rows.size() - 1; j++) { + Object o = rows.get(j); + JSONObject jsonObject = JSON.parseObject(o.toString()); + int value = Integer.parseInt(jsonObject.get("value").toString()); + if (value >= 0 && value != 3) { + //鍙湁璇ヨ涓殑浠讳竴涓�鍒楁湁鏁版嵁锛屽垯涓嶉渶瑕佸垱寤虹┖鐧借 + flag = false; + } } - 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); + + if (flag) { + //绌虹櫧琛岄渶瑕佽烦杩� + HashMap<String, Integer> map = new HashMap<>(); + map.put("start", dataRow); + int end = i - 1 - dataRowCount; + map.put("end", end); + map.put("count", dataRowCount); + dataRow = end; + dataRowCount++; + lineRows.add(map); + } } //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁 @@ -80,19 +91,21 @@ for (LocMast locMast : locMasts) { Integer row = locMast.getRow1(); Integer bay = locMast.getBay1(); - if (row >= 4 && row <= 11) { - row++; - }else if (row >= 12 && row <= 18) { - row += 2; - } else if (row >= 19 && row <= 21) { - row += 3; + for (HashMap<String, Integer> lineRow : lineRows) { + if (row > lineRow.get("start") && row <= lineRow.get("end")) { + row += lineRow.get("count"); + break; + } } ArrayList rowData = arrayLists.get(row); Object o = rowData.get(bay); JSONObject jsonObject = JSON.parseObject(o.toString()); + if (DISABLE_LOC_NO.contains(locMast.getLocNo())) { + //绂佹搴撲綅 + jsonObject.put("value", 10);//灏嗙鐢ㄥ簱浣嶈繘琛岃缃� + } jsonObject.put("locNo", locMast.getLocNo());//璁剧疆搴撲綅鍙� jsonObject.put("locSts", locMast.getLocSts());//搴撲綅鐘舵�� - jsonObject.put("locSts$", locMast.getLocSts$());//搴撲綅鐘舵�� //鏇存柊list rowData.set(bay, jsonObject); arrayLists.set(row, rowData); @@ -117,7 +130,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()); @@ -125,6 +138,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