opt:优化,出库查询页面效率
This commit is contained in:
@@ -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"))) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user