From 4a1b8ac17a8f1242306b401d207c55e7c81acf67 Mon Sep 17 00:00:00 2001 From: zhouz <> Date: Thu, 10 Jul 2025 14:55:34 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"feat(wms):=20=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=96=B0=E5=A2=9E=E6=9C=A8=E7=AE=B1=E7=BC=96?= =?UTF-8?q?=E7=A0=81=E5=92=8C=E6=9C=A8=E7=AE=B1=E6=8F=8F=E8=BF=B0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit a89e7507fd3ea022fef986022f4823de31af361d. --- .../service/impl/OutBillQueryServiceImpl.java | 230 ++++++++---------- .../nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql | 6 - 2 files changed, 108 insertions(+), 128 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/stat/service/impl/OutBillQueryServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/stat/service/impl/OutBillQueryServiceImpl.java index 98856c850..32172a27e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/stat/service/impl/OutBillQueryServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/stat/service/impl/OutBillQueryServiceImpl.java @@ -29,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.*; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedDeque; import java.util.function.Function; import java.util.stream.Collectors; @@ -44,8 +45,7 @@ import java.util.stream.Collectors; public class OutBillQueryServiceImpl implements OutBillQueryService { @Autowired - private IpdmBiSubpackagerelationService ipdmBiSubpackagerelationService; - + private IpdmBiSubpackagerelationService ipdmBiSubpackagerelationService; @Override public Map queryAll(Map whereJson, Pageable page, String[] bill_types) { String stor_id = MapUtil.getStr(whereJson, "stor_id"); @@ -285,7 +285,6 @@ public class OutBillQueryServiceImpl implements OutBillQueryService { String end_time = MapUtil.getStr(map, "end_time"); String pcsn = MapUtil.getStr(map, "pcsn"); String customer_name = MapUtil.getStr(map, "customer_name"); - map.put("flag", "22"); map.put("stor_id", stor_id); if (ObjectUtil.isNotEmpty(bill_types)) { @@ -300,11 +299,9 @@ public class OutBillQueryServiceImpl implements OutBillQueryService { if (StrUtil.isNotEmpty(pcsn)){ // 判断是否有空格 boolean matches = pcsn.matches(".*\\s.*"); - if (matches) { String[] s = pcsn.split(" "); String pcsn_in = String.join("','", Arrays.asList(s)); - map.put("pcsn_in", "('"+pcsn_in+"')"); map.put("pcsn", ""); } else { @@ -314,7 +311,6 @@ public class OutBillQueryServiceImpl implements OutBillQueryService { if (ObjectUtil.isNotEmpty(customer_name)) { map.put("customer_name", "%" + customer_name + "%"); } - // 处理时间 if (ObjectUtil.isNotEmpty(begin_time) && ObjectUtil.isNotEmpty(end_time)) { String begin_time_today = begin_time.substring(0, 10); @@ -346,133 +342,122 @@ public class OutBillQueryServiceImpl implements OutBillQueryService { for (List jsonObjects : deque) { datas.addAll(jsonObjects); } - ConcurrentLinkedDeque>> listDeque = new ConcurrentLinkedDeque<>(); - Lists.partition(resultJSONArray,1000).stream().map((Function) o->CompletableFuture.runAsync(() -> { - List> items = new ArrayList<>(); - for (Object item : o) { - JSONObject json = (JSONObject) item; - Map mp = new LinkedHashMap<>(); - // 查询第一次入库的源销售订单 - JSONObject jsonSub = datas.stream() - .filter(row -> row.getString("container_name").equals(json.getString("pcsn"))) - .min(Comparator.comparing(row -> row.getString("insert_time"))) - .orElse(null); + List> list = new ArrayList<>(); + for (int i = 0; i < resultJSONArray.size(); i++) { + JSONObject json = resultJSONArray.getJSONObject(i); + Map mp = new LinkedHashMap<>(); + // 查询第一次入库的源销售订单 + JSONObject jsonSub = datas.stream() + .filter(row -> row.getString("container_name").equals(json.getString("pcsn"))) + .min(Comparator.comparing(row -> row.getString("insert_time"))) + .orElse(null); - mp.put("仓库", json.getString("stor_name")); - if (ObjectUtil.isNotEmpty(bill_type) && "1004".equals(bill_type)) { - mp.put("移入仓库", json.getString("in_stor_name")); + mp.put("仓库", json.getString("stor_name")); + if (ObjectUtil.isNotEmpty(bill_type) && "1004".equals(bill_type)) { + mp.put("移入仓库", json.getString("in_stor_name")); + } + mp.put("库区", json.getString("sect_name")); + mp.put("生产区域", json.getString("pcsn").substring(0, 2)); + String bill_type1 = json.getString("bill_type"); + + String bill_name = ""; + switch (bill_type1) { + case "1001" : + bill_name = "发货出库"; + break; + case "1003" : + bill_name = "改切出库"; + break; + case "1004" : + bill_name = "调拨出库"; + break; + case "1005" : + bill_name = "拆箱出库"; + break; + case "1006" : + bill_name = "返检出库"; + break; + case "1007" : + bill_name = "超期报废"; + break; + case "1008" : + bill_name = "退货报废"; + break; + case "1010" : + bill_name = "质量问题报废"; + break; + case "1002" : + bill_name = "其他报废"; + break; + case "1011" : + bill_name = "分拣出库"; + break; + case "1009" : + bill_name = "手工出库"; + break; + } + mp.put("业务类型", bill_name); + mp.put("交货单号", json.getString("vbeln")); + mp.put("物流公司", json.getString("cust_name")); + mp.put("运费", json.getString("estimated_freight")); + mp.put("木箱号", json.getString("box_no")); + mp.put("物料编码", json.getString("material_code")); + mp.put("物料名称", json.getString("material_name")); + mp.put("子卷号", json.getString("pcsn")); + mp.put("sap批次", json.getString("sap_pcsn")); + mp.put("净重", json.getString("net_weight")); + mp.put("单位", json.getString("qty_unit_name")); + mp.put("管件类型", json.getString("paper_type")); + mp.put("管件编码", json.getString("paper_code")); + mp.put("管件描述", json.getString("paper_name")); + mp.put("客户编码", json.getString("customer_name")); + mp.put("发货客户名称", json.getString("customer_description")); + mp.put("销售订单", json.getString("sale_order_name")); + mp.put("行号", ""); + mp.put("原销售订单", json.getString("sale_order_name")); + mp.put("原行号", ""); + + if (ObjectUtil.isNotEmpty(json.getString("sale_order_name"))) { + try { + mp.put("销售订单", json.getString("sale_order_name").substring(0, json.getString("sale_order_name").indexOf("-"))); + mp.put("行号", json.getString("sale_order_name").substring(json.getString("sale_order_name").indexOf("-") + 1, json.getString("sale_order_name").length())); + } catch (Exception e) { + mp.put("销售订单", json.getString("sale_order_name")); + mp.put("行号", ""); } - mp.put("库区", json.getString("sect_name")); - mp.put("生产区域", json.getString("pcsn").substring(0, 2)); - String bill_type1 = json.getString("bill_type"); - - String bill_name = ""; - switch (bill_type1) { - case "1001" : - bill_name = "发货出库"; - break; - case "1003" : - bill_name = "改切出库"; - break; - case "1004" : - bill_name = "调拨出库"; - break; - case "1005" : - bill_name = "拆箱出库"; - break; - case "1006" : - bill_name = "返检出库"; - break; - case "1007" : - bill_name = "超期报废"; - break; - case "1008" : - bill_name = "退货报废"; - break; - case "1010" : - bill_name = "质量问题报废"; - break; - case "1002" : - bill_name = "其他报废"; - break; - case "1011" : - bill_name = "分拣出库"; - break; - case "1009" : - bill_name = "手工出库"; - break; - } - mp.put("业务类型", bill_name); - mp.put("交货单号", json.getString("vbeln")); - mp.put("物流公司", json.getString("cust_name")); - mp.put("运费", json.getString("estimated_freight")); - mp.put("木箱号", json.getString("box_no")); - mp.put("木箱编码", json.getString("box_material_code")); - mp.put("木箱描述", json.getString("box_material_name")); - mp.put("物料编码", json.getString("material_code")); - mp.put("物料名称", json.getString("material_name")); - mp.put("子卷号", json.getString("pcsn")); - mp.put("sap批次", json.getString("sap_pcsn")); - mp.put("净重", json.getString("net_weight")); - mp.put("单位", json.getString("qty_unit_name")); - mp.put("管件类型", json.getString("paper_type")); - mp.put("管件编码", json.getString("paper_code")); - mp.put("管件描述", json.getString("paper_name")); - mp.put("客户编码", json.getString("customer_name")); - mp.put("发货客户名称", json.getString("customer_description")); - mp.put("销售订单", json.getString("sale_order_name")); - mp.put("行号", ""); - mp.put("原销售订单", json.getString("sale_order_name")); - mp.put("原行号", ""); - + } + // 原销售订单 + if (ObjectUtil.isEmpty(jsonSub)) { if (ObjectUtil.isNotEmpty(json.getString("sale_order_name"))) { try { - mp.put("销售订单", json.getString("sale_order_name").substring(0, json.getString("sale_order_name").indexOf("-"))); - mp.put("行号", json.getString("sale_order_name").substring(json.getString("sale_order_name").indexOf("-") + 1, json.getString("sale_order_name").length())); + mp.put("原销售订单", json.getString("sale_order_name").substring(0, json.getString("sale_order_name").indexOf("-"))); + mp.put("原行号", json.getString("sale_order_name").substring(json.getString("sale_order_name").indexOf("-") + 1, json.getString("sale_order_name").length())); } catch (Exception e) { - mp.put("销售订单", json.getString("sale_order_name")); - mp.put("行号", ""); + mp.put("原销售订单", json.getString("sale_order_name")); + mp.put("原行号", ""); } } - // 原销售订单 - if (ObjectUtil.isEmpty(jsonSub)) { - if (ObjectUtil.isNotEmpty(json.getString("sale_order_name"))) { - try { - mp.put("原销售订单", json.getString("sale_order_name").substring(0, json.getString("sale_order_name").indexOf("-"))); - mp.put("原行号", json.getString("sale_order_name").substring(json.getString("sale_order_name").indexOf("-") + 1, json.getString("sale_order_name").length())); - } catch (Exception e) { - mp.put("原销售订单", json.getString("sale_order_name")); - mp.put("原行号", ""); - } - } - } else { - if (ObjectUtil.isNotEmpty(jsonSub.getString("sale_order_name"))) { - try { - mp.put("原销售订单", jsonSub.getString("sale_order_name").substring(0, jsonSub.getString("sale_order_name").indexOf("-"))); - mp.put("原行号", jsonSub.getString("sale_order_name").substring(jsonSub.getString("sale_order_name").indexOf("-") + 1, jsonSub.getString("sale_order_name").length())); - } catch (Exception e) { - mp.put("原销售订单", jsonSub.getString("sale_order_name")); - mp.put("原行号", ""); - } + } else { + if (ObjectUtil.isNotEmpty(jsonSub.getString("sale_order_name"))) { + try { + mp.put("原销售订单", jsonSub.getString("sale_order_name").substring(0, jsonSub.getString("sale_order_name").indexOf("-"))); + mp.put("原行号", jsonSub.getString("sale_order_name").substring(jsonSub.getString("sale_order_name").indexOf("-") + 1, jsonSub.getString("sale_order_name").length())); + } catch (Exception e) { + mp.put("原销售订单", jsonSub.getString("sale_order_name")); + mp.put("原行号", ""); } } - - mp.put("业务员", json.getString("sales_owner")); - mp.put("出库日期", json.getString("input_time")); - mp.put("产品规格", String.format("%.0f", json.getDoubleValue("width"))); - mp.put("产品厚度", json.getString("thickness")); - mp.put("单位面积", json.getString("mass_per_unit_area")); - mp.put("制单人", json.getString("input_optname")); - mp.put("备注", json.getString("remark")); - items.add(mp); } - listDeque.add(items); - })).parallel().forEach(CompletableFuture::join); - List> list = new ArrayList<>(); - for (List> maps : listDeque) { - list.addAll(maps); + mp.put("业务员", json.getString("sales_owner")); + mp.put("出库日期", json.getString("input_time")); + mp.put("产品规格", String.format("%.0f", json.getDoubleValue("width"))); + mp.put("产品厚度", json.getString("thickness")); + mp.put("单位面积", json.getString("mass_per_unit_area")); + mp.put("制单人", json.getString("input_optname")); + mp.put("备注", json.getString("remark")); + list.add(mp); } - Set set = listDeque.getFirst().get(0).keySet(); + Set set = list.get(0).keySet(); int colIndex = 0; String[] col = new String[set.size()]; for (String s : set) { @@ -480,5 +465,6 @@ public class OutBillQueryServiceImpl implements OutBillQueryService { colIndex++; } new FileUtil().downloadExcelIO(list,col,response); +// FileUtil.downloadExcel(list, response); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql index 05a64a90d..4c0bacbcd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql @@ -266,8 +266,6 @@ base.cust_name, dis.sect_name, dis.box_no, - bib.material_code box_material_code, - bib.material_name box_material_name, dis.qty_unit_name, mater.material_code, mater.material_name, @@ -319,7 +317,6 @@ a.pcsn ) AS c inner JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id - inner JOIN bst_ivt_boxinfo bib ON dis.box_no = bib.box_no inner JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id inner JOIN st_ivt_iostorinvdtl dtl ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id LEFT JOIN md_cs_transportationbase base ON base.cust_code = mst.trans_code @@ -388,8 +385,6 @@ base.cust_name, dis.sect_name, dis.box_no, - bib.material_code box_material_code, - bib.material_name box_material_name, dis.qty_unit_name, mater.material_code, mater.material_name, @@ -441,7 +436,6 @@ a.pcsn ) AS c inner JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id - inner JOIN bst_ivt_boxinfo bib ON dis.box_no = bib.box_no inner JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id inner JOIN st_ivt_iostorinvdtl dtl ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id LEFT JOIN md_cs_transportationbase base ON base.cust_code = mst.trans_code