From 036bc71e0889475b42cfcc89c5cf5a1fea8dca9d Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 12 Mar 2024 16:18:24 +0800 Subject: [PATCH] =?UTF-8?q?rev=EF=BC=9A=E5=90=91=E9=A3=9E=E4=B9=A6?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E5=9B=BE=E7=89=87=EF=BC=9A=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/wms/sch/manage/AutoSendSalesIvt.java | 33 ++++++++++++++++++- .../main/java/org/nl/wms/sch/wql/TEST0002.wql | 22 +++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendSalesIvt.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendSalesIvt.java index cf2cfd4a4..07553ba43 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendSalesIvt.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendSalesIvt.java @@ -103,10 +103,41 @@ public class AutoSendSalesIvt { */ private void queryData() { - // 查询所有客户 + /* + * 查询所有客户: + * 1.查询所有客户 + * 2.只查询有库存的客户 + */ + String is_select_cust = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("IS_SELECT_CUST").getValue(); + + // 1.查询所有客户 List custList = WQL.getWO("TEST0002").addParam("flag", "1") .process().getResultJSONArray(0).toJavaList(JSONObject.class); + // 2.只查询有库存的客户 + if (is_select_cust.equals("0")) { + String cust_code_in = custList.stream() + .map(row -> row.getString("cust_code")) + .collect(Collectors.joining("','")); + + List ivtList = WQL.getWO("TEST0002").addParam("flag", "11").addParam("cust_code_in","('"+cust_code_in+"')") + .process().getResultJSONArray(0).toJavaList(JSONObject.class); + + List list = new ArrayList<>(); + custList.forEach(row -> { + String cust_code = row.getString("cust_code"); + + boolean flag = ivtList.stream() + .anyMatch(item -> item.getString("cust_code").equals(cust_code)); + + if (flag) { + list.add(row); + } + + }); + custList = list; + } + // 查询区域 List regionList = WQL.getWO("TEST0002").addParam("flag", "2") .process().getResultJSONArray(0).toJavaList(JSONObject.class); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/TEST0002.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/TEST0002.wql index 388e00f01..d316aab64 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/TEST0002.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/TEST0002.wql @@ -14,6 +14,7 @@ ## 表字段对应输入参数 ################################################# 输入.flag TYPEAS s_string + 输入.cust_code_in TYPEAS f_string [临时表] --这边列出来的临时表就会在运行期动态创建 @@ -55,6 +56,27 @@ ENDQUERY ENDIF + IF 输入.flag = "11" + QUERY + SELECT + SUM(ivt.canuse_qty) AS canuse_qty, + cust.cust_code + FROM + st_ivt_structivt ivt + LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id + LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code + AND ivt.pcsn = sub.container_name + INNER JOIN md_cs_customerbase cust ON cust.cust_code = sub.customer_name + WHERE + ivt.canuse_qty > '0' + AND cust.cust_code in 输入.cust_code_in + + GROUP BY cust.cust_code + + ENDSELECT + ENDQUERY + ENDIF + IF 输入.flag = "2" QUERY SELECT