From 9357451b183efb098f51c47ebcfdfd028f4d47b3 Mon Sep 17 00:00:00 2001 From: liuxy Date: Thu, 13 Feb 2025 10:37:58 +0800 Subject: [PATCH] =?UTF-8?q?rev=EF=BC=9AWQL=20DISTINCT=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OutChargeServiceImpl.java | 4 + .../impl/RawAssistIStorServiceImpl.java | 6 +- .../st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql | 363 +++++++++++++++--- .../nl/wms/stat/wql/ST_IVT_INBILLQUERY.wql | 12 +- .../nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql | 2 +- 5 files changed, 334 insertions(+), 53 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java index cec8ec850..13ce24b23 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java @@ -96,6 +96,10 @@ public class OutChargeServiceImpl implements OutChargeService { map.put("end_time", end_time); } + if (ObjectUtil.isNotEmpty(map.get("sap_pcsn"))) { + map.put("flag", "151"); + } + JSONObject json = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "ios.iostorinv_id DESC"); return json; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java index debaae6a7..4860667b5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java @@ -75,7 +75,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { @Override public Map pageQuery(Map whereJson, Pageable page) { HashMap map = new HashMap<>(); - map.put("flag", "1"); + map.put("flag", "30"); map.put("buss_type", (String) whereJson.get("buss_type")); map.put("stor_id", (String) whereJson.get("stor_id")); map.put("bill_type", (String) whereJson.get("bill_type")); @@ -172,6 +172,10 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { map.put("in_stor_id", in_stor_id); } + if (ObjectUtil.isNotEmpty(map.get("sap_pcsn_in"))) { + map.put("flag", "29"); + } + JSONObject jo = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "iostorinv_id desc"); return jo; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql index 54f3dae62..fcdd698f6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql @@ -72,7 +72,7 @@ IF 输入.flag = "1" PAGEQUERY - SELECT DISTINCT + SELECT ios.*, IFNULL(dtl.vbeln,'') as vbeln FROM @@ -150,6 +150,203 @@ ENDPAGEQUERY ENDIF + IF 输入.flag = "29" + PAGEQUERY + SELECT + ios2.*, + IFNULL(dtl2.vbeln,'') as vbeln + FROM + ( + SELECT + ios.* + FROM + ST_IVT_IOStorInv ios + WHERE + ios.is_delete = '0' + AND ios.io_type = '0' + AND ios.stor_id in 输入.in_stor_id + OPTION 输入.stor_id <> "" + ios.stor_id = 输入.stor_id + ENDOPTION + + OPTION 输入.bill_type <> "" + ios.bill_type = 输入.bill_type + ENDOPTION + + OPTION 输入.bill_code <> "" + ios.bill_code like 输入.bill_code + ENDOPTION + + OPTION 输入.create_mode <> "" + ios.create_mode = 输入.create_mode + ENDOPTION + + OPTION 输入.bill_status <> "" + ios.bill_status = 输入.bill_status + ENDOPTION + + OPTION 输入.begin_time <> "" + ios.input_time >= 输入.begin_time + ENDOPTION + + OPTION 输入.end_time <> "" + ios.input_time <= 输入.end_time + ENDOPTION + ) ios2 + INNER JOIN ( + SELECT + dis.iostorinv_id + FROM + st_ivt_iostorinvdis dis + LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn + WHERE + 1 = 1 + OPTION 输入.box_no <> "" + dis.box_no like 输入.box_no + ENDOPTION + + OPTION 输入.box_no_in <> "" + dis.box_no IN 输入.box_no_in + ENDOPTION + + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + + OPTION 输入.pcsn_in <> "" + dis.pcsn IN 输入.pcsn_in + ENDOPTION + + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + + OPTION 输入.sap_pcsn_in <> "" + sub.sap_pcsn IN 输入.sap_pcsn_in + ENDOPTION + GROUP BY dis.iostorinv_id + ) dis2 ON dis2.iostorinv_id = ios2.iostorinv_id + INNER JOIN ( + SELECT + dtl.iostorinv_id, + MAX( vbeln ) AS vbeln + FROM + st_ivt_iostorinvdtl dtl + WHERE + 1 = 1 + OPTION 输入.vbeln <> "" + dtl.vbeln like 输入.vbeln + ENDOPTION + + OPTION 输入.vbeln_in <> "" + dtl.vbeln IN 输入.vbeln_in + ENDOPTION + GROUP BY + dtl.iostorinv_id + ) dtl2 ON ios2.iostorinv_id = dtl2.iostorinv_id + + ENDSELECT + ENDPAGEQUERY + ENDIF + + IF 输入.flag = "30" + PAGEQUERY + SELECT + ios2.*, + IFNULL(dtl2.vbeln,'') as vbeln + FROM + ( + SELECT + ios.* + FROM + ST_IVT_IOStorInv ios + WHERE + ios.is_delete = '0' + AND ios.io_type = '0' + AND ios.stor_id in 输入.in_stor_id + OPTION 输入.stor_id <> "" + ios.stor_id = 输入.stor_id + ENDOPTION + + OPTION 输入.bill_type <> "" + ios.bill_type = 输入.bill_type + ENDOPTION + + OPTION 输入.bill_code <> "" + ios.bill_code like 输入.bill_code + ENDOPTION + + OPTION 输入.create_mode <> "" + ios.create_mode = 输入.create_mode + ENDOPTION + + OPTION 输入.bill_status <> "" + ios.bill_status = 输入.bill_status + ENDOPTION + + OPTION 输入.begin_time <> "" + ios.input_time >= 输入.begin_time + ENDOPTION + + OPTION 输入.end_time <> "" + ios.input_time <= 输入.end_time + ENDOPTION + ) ios2 + INNER JOIN ( + SELECT + dis.iostorinv_id + FROM + st_ivt_iostorinvdis dis + WHERE + 1 = 1 + OPTION 输入.box_no <> "" + dis.box_no like 输入.box_no + ENDOPTION + + OPTION 输入.box_no_in <> "" + dis.box_no IN 输入.box_no_in + ENDOPTION + + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + + OPTION 输入.pcsn_in <> "" + dis.pcsn IN 输入.pcsn_in + ENDOPTION + + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + + OPTION 输入.sap_pcsn_in <> "" + sub.sap_pcsn IN 输入.sap_pcsn_in + ENDOPTION + GROUP BY dis.iostorinv_id + ) dis2 ON dis2.iostorinv_id = ios2.iostorinv_id + INNER JOIN ( + SELECT + dtl.iostorinv_id, + MAX( vbeln ) AS vbeln + FROM + st_ivt_iostorinvdtl dtl + WHERE + 1 = 1 + OPTION 输入.vbeln <> "" + dtl.vbeln like 输入.vbeln + ENDOPTION + + OPTION 输入.vbeln_in <> "" + dtl.vbeln IN 输入.vbeln_in + ENDOPTION + GROUP BY + dtl.iostorinv_id + ) dtl2 ON ios2.iostorinv_id = dtl2.iostorinv_id + + ENDSELECT + ENDPAGEQUERY + ENDIF + IF 输入.flag = "2" PAGEQUERY SELECT @@ -715,52 +912,128 @@ IF 输入.flag = "15" PAGEQUERY - SELECT DISTINCT - ios.* + SELECT + ios2.* FROM - ST_IVT_IOStorInv ios - LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinv_id = ios.iostorinv_id - LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn - WHERE - ios.is_delete = '0' - AND - ios.io_type = '1' - AND - ios.is_writeoff = '0' - AND - ios.bill_status = '99' - AND - ios.bill_type in ('1001','1009') - AND - ios.stor_id in 输入.in_stor_id + ( + SELECT + ios.* + FROM + ST_IVT_IOStorInv ios + WHERE + ios.is_delete = '0' + AND + ios.io_type = '1' + AND + ios.is_writeoff = '0' + AND + ios.bill_status = '99' + AND + ios.bill_type in ('1001','1009') + AND + ios.stor_id in 输入.in_stor_id + OPTION 输入.bill_code <> "" + ios.bill_code like 输入.bill_code + ENDOPTION + OPTION 输入.stor_id <> "" + ios.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.bill_type <> "" + ios.bill_type = 输入.bill_type + ENDOPTION + OPTION 输入.create_mode <> "" + ios.create_mode = 输入.create_mode + ENDOPTION + OPTION 输入.bill_status <> "" + ios.bill_status = 输入.bill_status + ENDOPTION + OPTION 输入.begin_time <> "" + ios.input_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + ios.input_time <= 输入.end_time + ENDOPTION + ) ios2 + INNER JOIN ( + SELECT + dis.iostorinv_id + FROM + st_ivt_iostorinvdis dis + WHERE + 1 = 1 + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + GROUP BY dis.iostorinv_id + ) dis2 ON dis2.iostorinv_id = ios2.iostorinv_id - OPTION 输入.bill_code <> "" - ios.bill_code like 输入.bill_code - ENDOPTION - OPTION 输入.stor_id <> "" - ios.stor_id = 输入.stor_id - ENDOPTION - OPTION 输入.pcsn <> "" - dis.pcsn like 输入.pcsn - ENDOPTION - OPTION 输入.sap_pcsn <> "" - sub.sap_pcsn like 输入.sap_pcsn - ENDOPTION - OPTION 输入.bill_type <> "" - ios.bill_type = 输入.bill_type - ENDOPTION - OPTION 输入.create_mode <> "" - ios.create_mode = 输入.create_mode - ENDOPTION - OPTION 输入.bill_status <> "" - ios.bill_status = 输入.bill_status - ENDOPTION - OPTION 输入.begin_time <> "" - ios.input_time >= 输入.begin_time - ENDOPTION - OPTION 输入.end_time <> "" - ios.input_time <= 输入.end_time - ENDOPTION + ENDSELECT + ENDPAGEQUERY + ENDIF + + IF 输入.flag = "151" + PAGEQUERY + SELECT + ios2.* + FROM + ( + SELECT + ios.* + FROM + ST_IVT_IOStorInv ios + WHERE + ios.is_delete = '0' + AND + ios.io_type = '1' + AND + ios.is_writeoff = '0' + AND + ios.bill_status = '99' + AND + ios.bill_type in ('1001','1009') + AND + ios.stor_id in 输入.in_stor_id + OPTION 输入.bill_code <> "" + ios.bill_code like 输入.bill_code + ENDOPTION + OPTION 输入.stor_id <> "" + ios.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.bill_type <> "" + ios.bill_type = 输入.bill_type + ENDOPTION + OPTION 输入.create_mode <> "" + ios.create_mode = 输入.create_mode + ENDOPTION + OPTION 输入.bill_status <> "" + ios.bill_status = 输入.bill_status + ENDOPTION + OPTION 输入.begin_time <> "" + ios.input_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + ios.input_time <= 输入.end_time + ENDOPTION + ) ios2 + INNER JOIN ( + SELECT + dis.iostorinv_id + FROM + st_ivt_iostorinvdis dis + LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn + WHERE + 1 = 1 + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + GROUP BY dis.iostorinv_id + ) dis2 ON dis2.iostorinv_id = ios2.iostorinv_id ENDSELECT ENDPAGEQUERY diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_INBILLQUERY.wql b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_INBILLQUERY.wql index c85cfb7d5..f915a3194 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_INBILLQUERY.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_INBILLQUERY.wql @@ -53,7 +53,7 @@ IF 输入.flag = "1" PAGEQUERY - SELECT DISTINCT + SELECT mst.stor_name, dis.sect_name, dis.struct_code, @@ -212,7 +212,7 @@ IF 输入.flag = "2" PAGEQUERY - SELECT DISTINCT + SELECT MAX(mst.stor_name) AS stor_name, MAX(dis.sect_name) AS sect_name, MAX(dis.struct_code) AS struct_code, @@ -340,7 +340,7 @@ IF 输入.flag = "3" PAGEQUERY - SELECT DISTINCT + SELECT mst.stor_name, dis.sect_name, dis.struct_code, @@ -501,7 +501,7 @@ IF 输入.flag = "4" PAGEQUERY - SELECT DISTINCT + SELECT MAX(mst.stor_name) AS stor_name, MAX(dis.sect_name) AS sect_name, MAX(dis.struct_code) AS struct_code, @@ -631,7 +631,7 @@ IF 输入.flag = "5" PAGEQUERY - SELECT DISTINCT + SELECT mst.stor_name, dis.sect_name, dis.struct_code, @@ -832,7 +832,7 @@ IF 输入.flag = "6" PAGEQUERY - SELECT DISTINCT + SELECT MAX(mst.stor_name) AS stor_name, MAX(dis.sect_name) AS sect_name, MAX(dis.struct_code) AS struct_code, 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 1b58ebf3e..0e5648aeb 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 @@ -150,7 +150,7 @@ IF 输入.flag = "2" PAGEQUERY - SELECT DISTINCT + SELECT mst.stor_name, dis.sect_name, mst.bill_type,