opt:优化,出库查询页面效率

This commit is contained in:
DESKTOP-5DIJMF9\admin
2025-02-11 09:08:26 +08:00
parent 28f7ea731d
commit 9580b6c81b
3 changed files with 216 additions and 122 deletions

View File

@@ -164,6 +164,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
} else {
map.put("sap_pcsn", "%" + map.get("sap_pcsn") + "%");
}
map.put("flag", "11");
}
if (StrUtil.isNotEmpty(map.get("cust_code"))) {

View File

@@ -88,40 +88,217 @@
##########################################
IF 输入.flag = "1"
PAGEQUERY
SELECT DISTINCT
ios.*,
cu.shd_dtl_num,
cu.cust_name,
IFNULL(dtl.vbeln,'') as vbeln,
cu.cust_simple_name,
a.plan_qty,
attr.stor_name AS out_stor_name
PAGEQUERY
SELECT
ios.*,
a.plan_qty,
IFNULL(c.vbeln,'') as vbeln
FROM
(
SELECT
mst.*,
cu.shd_dtl_num,
cu.cust_name,
cu.cust_simple_name,
attr.stor_name AS out_stor_name
FROM
st_ivt_iostorinv mst
LEFT JOIN md_cs_customerbase cu ON mst.cust_code = cu.cust_code
LEFT JOIN st_ivt_bsrealstorattr attr ON attr.stor_id = mst.out_stor_id
WHERE
mst.io_type = '1'
and mst.is_delete='0'
and mst.stor_id in 输入.in_stor_id
OPTION 输入.bill_code <> ""
mst.bill_code like 输入.bill_code
ENDOPTION
OPTION 输入.cust_code <> ""
(cu.cust_code like 输入.cust_code or
cu.cust_simple_name like 输入.cust_code)
ENDOPTION
OPTION 输入.is_upload <> ""
mst.is_upload = 输入.is_upload
ENDOPTION
OPTION 输入.billTypes <> ""
mst.bill_type in 输入.billTypes
ENDOPTION
OPTION 输入.storIds <> ""
mst.stor_id in 输入.storIds
ENDOPTION
OPTION 输入.create_mode <> ""
mst.create_mode = 输入.create_mode
ENDOPTION
OPTION 输入.billStatuses <> ""
mst.bill_status in 输入.billStatuses
ENDOPTION
OPTION 输入.begin_time <> ""
mst.input_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
mst.input_time <= 输入.end_time
ENDOPTION
) ios
LEFT JOIN (
select
dtl.iostorinv_id,
dtl.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
OPTION 输入.width <> ""
dtl.width like 输入.width
ENDOPTION
GROUP BY
dtl.iostorinv_id,
dtl.vbeln
) c ON ios.iostorinv_id = c.iostorinv_id
LEFT JOIN (
SELECT
dis.iostorinv_id
FROM
st_ivt_iostorinvdis dis
WHERE
1 = 1
OPTION 输入.pcsn <> ""
dis.pcsn like 输入.pcsn
ENDOPTION
OPTION 输入.pcsn_in <> ""
dis.pcsn IN 输入.pcsn_in
ENDOPTION
OPTION 输入.box_no <> ""
dis.box_no like 输入.box_no
ENDOPTION
OPTION 输入.box_no_in <> ""
dis.box_no IN 输入.box_no_in
ENDOPTION
GROUP BY
dis.iostorinv_id
) b ON b.iostorinv_id = ios.iostorinv_id
LEFT JOIN (
SELECT
SUM(a.plan_qty) AS plan_qty,
a.iostorinv_id
FROM
st_ivt_iostorinvdis a
LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id
WHERE
b.io_type = '1'
and b.is_delete='0'
and b.is_overdue = '0'
GROUP BY a.iostorinv_id
) a ON a.iostorinv_id = ios.iostorinv_id
ENDSELECT
ENDPAGEQUERY
ENDIF
IF 输入.flag = "11"
PAGEQUERY
SELECT
ios.*,
a.plan_qty,
IFNULL(c.vbeln,'') as vbeln
FROM
ST_IVT_IOStorInv ios
LEFT JOIN md_cs_customerbase cu ON ios.cust_code = cu.cust_code
LEFT JOIN st_ivt_iostorinvdtl dtl ON ios.iostorinv_id = dtl.iostorinv_id
LEFT JOIN st_ivt_iostorinvdis dis ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id
LEFT JOIN st_ivt_bsrealstorattr attr ON attr.stor_id = ios.out_stor_id
LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn AND sub.bill_code = ios.bill_code
LEFT JOIN (
SELECT
SUM(a.plan_qty) AS plan_qty,
a.iostorinv_id
FROM
st_ivt_iostorinvdis a
LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id
WHERE
b.io_type = '1'
and b.is_delete='0'
and a.is_overdue = '0'
and b.is_overdue = '1'
GROUP BY a.iostorinv_id
UNION
SELECT
(
SELECT
mst.*,
cu.shd_dtl_num,
cu.cust_name,
cu.cust_simple_name,
attr.stor_name AS out_stor_name
FROM
st_ivt_iostorinv mst
LEFT JOIN md_cs_customerbase cu ON mst.cust_code = cu.cust_code
LEFT JOIN st_ivt_bsrealstorattr attr ON attr.stor_id = mst.out_stor_id
WHERE
mst.io_type = '1'
and mst.is_delete='0'
and mst.stor_id in 输入.in_stor_id
OPTION 输入.bill_code <> ""
mst.bill_code like 输入.bill_code
ENDOPTION
OPTION 输入.cust_code <> ""
(cu.cust_code like 输入.cust_code or
cu.cust_simple_name like 输入.cust_code)
ENDOPTION
OPTION 输入.is_upload <> ""
mst.is_upload = 输入.is_upload
ENDOPTION
OPTION 输入.billTypes <> ""
mst.bill_type in 输入.billTypes
ENDOPTION
OPTION 输入.storIds <> ""
mst.stor_id in 输入.storIds
ENDOPTION
OPTION 输入.create_mode <> ""
mst.create_mode = 输入.create_mode
ENDOPTION
OPTION 输入.billStatuses <> ""
mst.bill_status in 输入.billStatuses
ENDOPTION
OPTION 输入.begin_time <> ""
mst.input_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
mst.input_time <= 输入.end_time
ENDOPTION
) ios
LEFT JOIN (
select
dtl.iostorinv_id,
dtl.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
OPTION 输入.width <> ""
dtl.width like 输入.width
ENDOPTION
GROUP BY
dtl.iostorinv_id,
dtl.vbeln
) c ON ios.iostorinv_id = c.iostorinv_id
LEFT JOIN (
SELECT
dis.iostorinv_id
FROM
st_ivt_iostorinvdis dis
LEFT JOIN pdm_bi_subpackagerelationrecord sub ON (sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id)
WHERE
1 = 1
OPTION 输入.pcsn <> ""
dis.pcsn like 输入.pcsn
ENDOPTION
OPTION 输入.pcsn_in <> ""
dis.pcsn IN 输入.pcsn_in
ENDOPTION
OPTION 输入.box_no <> ""
dis.box_no like 输入.box_no
ENDOPTION
OPTION 输入.box_no_in <> ""
dis.box_no IN 输入.box_no_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
) b ON b.iostorinv_id = ios.iostorinv_id
LEFT JOIN (
SELECT
SUM(a.plan_qty) AS plan_qty,
a.iostorinv_id
FROM
@@ -132,93 +309,10 @@
and b.is_delete='0'
and b.is_overdue = '0'
GROUP BY a.iostorinv_id
) a ON a.iostorinv_id = ios.iostorinv_id
WHERE
ios.io_type = '1'
and ios.is_delete='0'
and ios.stor_id in 输入.in_stor_id
OPTION 输入.bill_code <> ""
ios.bill_code like 输入.bill_code
ENDOPTION
OPTION 输入.sap_pcsn <> ""
sub.sap_pcsn like 输入.sap_pcsn
ENDOPTION
OPTION 输入.sap_pcsn_in <> ""
sub.sap_pcsn IN 输入.sap_pcsn_in
ENDOPTION
OPTION 输入.cust_code <> ""
(cu.cust_code like 输入.cust_code or
cu.cust_simple_name like 输入.cust_code)
ENDOPTION
OPTION 输入.pcsn <> ""
dis.pcsn like 输入.pcsn
ENDOPTION
OPTION 输入.pcsn_in <> ""
dis.pcsn IN 输入.pcsn_in
ENDOPTION
OPTION 输入.is_upload <> ""
ios.is_upload = 输入.is_upload
ENDOPTION
OPTION 输入.io_type <> ""
ios.io_type = 输入.io_type
ENDOPTION
OPTION 输入.vbeln <> ""
dtl.vbeln like 输入.vbeln
ENDOPTION
OPTION 输入.vbeln_in <> ""
dtl.vbeln IN 输入.vbeln_in
ENDOPTION
OPTION 输入.width <> ""
dtl.width like 输入.width
ENDOPTION
OPTION 输入.box_no <> ""
dis.box_no like 输入.box_no
ENDOPTION
OPTION 输入.box_no_in <> ""
dis.box_no IN 输入.box_no_in
ENDOPTION
OPTION 输入.billTypes <> ""
ios.bill_type in 输入.billTypes
ENDOPTION
OPTION 输入.storIds <> ""
ios.stor_id in 输入.storIds
ENDOPTION
OPTION 输入.create_mode <> ""
ios.create_mode = 输入.create_mode
ENDOPTION
OPTION 输入.billStatuses <> ""
ios.bill_status in 输入.billStatuses
ENDOPTION
OPTION 输入.begin_time <> ""
ios.input_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
ios.input_time <= 输入.end_time
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF
) a ON a.iostorinv_id = ios.iostorinv_id
ENDSELECT
ENDPAGEQUERY
ENDIF
IF 输入.flag = "111"
QUERY

View File

@@ -200,9 +200,8 @@
iostorinv_id
FROM
st_ivt_iostorinvdis dis
LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn
AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id
WHERE
LEFT JOIN pdm_bi_subpackagerelationrecord sub ON (sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id)
WHERE
1=1
OPTION 输入.pcsn <> ""
dis.pcsn like 输入.pcsn