opt:优化各个分页查询效率
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
输入.customer_name TYPEAS s_string
|
||||
输入.customer_description TYPEAS s_string
|
||||
输入.package_box_sn TYPEAS s_string
|
||||
输入.limits TYPEAS f_string
|
||||
输入.limits TYPEAS s_string
|
||||
输入.container_name TYPEAS s_string
|
||||
输入.is_un_plan_production TYPEAS s_string
|
||||
输入.sap_pcsn TYPEAS s_string
|
||||
@@ -112,14 +112,13 @@
|
||||
|
||||
IF 输入.flag = "2"
|
||||
PAGEQUERY
|
||||
SELECT DISTINCT
|
||||
sub.workorder_id
|
||||
FROM
|
||||
pdm_bi_subpackagerelation sub
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord record ON sub.container_name = record.container_name
|
||||
WHERE
|
||||
1=1
|
||||
|
||||
SELECT
|
||||
sub.workorder_id
|
||||
FROM
|
||||
pdm_bi_subpackagerelation sub
|
||||
INNER JOIN ( SELECT subre.container_name FROM pdm_bi_subpackagerelationrecord subre WHERE 1 = 1 GROUP BY subre.container_name ) c ON sub.container_name = c.container_name
|
||||
WHERE
|
||||
1 =1
|
||||
OPTION 输入.material_code <> ""
|
||||
sub.product_name LIKE 输入.material_code
|
||||
ENDOPTION
|
||||
|
||||
@@ -59,6 +59,7 @@ public class InchargeServiceImpl implements InchargeService {
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(sap_pcsn)) {
|
||||
map.put("sap_pcsn", "%" + sap_pcsn + "%");
|
||||
map.put("flag", "11");
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(pcsn)) {
|
||||
map.put("pcsn", "%" + pcsn + "%");
|
||||
|
||||
@@ -1877,7 +1877,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void download(Map whereJson, HttpServletResponse response) throws IOException {
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
map.put("flag", "1");
|
||||
map.put("flag", "199");
|
||||
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"));
|
||||
@@ -1973,7 +1973,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
||||
if (ObjectUtil.isNotEmpty(in_stor_id)) {
|
||||
map.put("in_stor_id", in_stor_id);
|
||||
}
|
||||
|
||||
JSONArray resultJSONArray = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(map).process().getResultJSONArray(0);
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (int i = 0; i < resultJSONArray.size(); i++) {
|
||||
|
||||
@@ -49,12 +49,77 @@
|
||||
|
||||
IF 输入.flag = "1"
|
||||
PAGEQUERY
|
||||
SELECT DISTINCT
|
||||
SELECT
|
||||
ios.*
|
||||
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
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
dis.iostorinv_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis dis
|
||||
WHERE
|
||||
1 = 1
|
||||
OPTION 输入.pcsn <> ""
|
||||
dis.pcsn like 输入.pcsn
|
||||
ENDOPTION
|
||||
GROUP BY
|
||||
dis.iostorinv_id
|
||||
) b ON b.iostorinv_id = ios.iostorinv_id
|
||||
WHERE
|
||||
ios.is_delete = '0'
|
||||
AND ios.io_type = '0'
|
||||
AND ios.bill_status = '99'
|
||||
AND ios.is_writeoff = '0'
|
||||
AND ios.bill_type = '0002'
|
||||
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 输入.begin_time <> ""
|
||||
ios.input_time >= 输入.begin_time
|
||||
ENDOPTION
|
||||
OPTION 输入.end_time <> ""
|
||||
ios.input_time <= 输入.end_time
|
||||
ENDOPTION
|
||||
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "11"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
ios.*
|
||||
FROM
|
||||
ST_IVT_IOStorInv ios
|
||||
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 输入.sap_pcsn <> ""
|
||||
sub.sap_pcsn like 输入.sap_pcsn
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.pcsn <> ""
|
||||
dis.pcsn like 输入.pcsn
|
||||
ENDOPTION
|
||||
GROUP BY
|
||||
dis.iostorinv_id
|
||||
) b ON b.iostorinv_id = ios.iostorinv_id
|
||||
WHERE
|
||||
ios.is_delete = '0'
|
||||
AND ios.io_type = '0'
|
||||
@@ -62,39 +127,25 @@
|
||||
AND ios.is_writeoff = '0'
|
||||
AND ios.bill_type = '0002'
|
||||
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 输入.sap_pcsn <> ""
|
||||
sub.sap_pcsn like 输入.sap_pcsn
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.pcsn <> ""
|
||||
dis.pcsn like 输入.pcsn
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.bill_type <> ""
|
||||
ios.bill_type = 输入.bill_type
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.create_mode <> ""
|
||||
ios.create_mode = 输入.create_mode
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.begin_time <> ""
|
||||
ios.input_time >= 输入.begin_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.end_time <> ""
|
||||
ios.input_time <= 输入.end_time
|
||||
ENDOPTION
|
||||
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
输入.row_num TYPEAS s_string
|
||||
输入.block_num TYPEAS s_string
|
||||
输入.placement_type TYPEAS s_string
|
||||
输入.limits TYPEAS s_string
|
||||
输入.sql_str TYPEAS f_string
|
||||
输入.in_stor_id TYPEAS f_string
|
||||
输入.in_layer_num TYPEAS f_string
|
||||
@@ -145,11 +146,90 @@
|
||||
OPTION 输入.end_time <> ""
|
||||
ios.input_time <= 输入.end_time
|
||||
ENDOPTION
|
||||
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "199"
|
||||
QUERY
|
||||
SELECT
|
||||
ios.*,
|
||||
IFNULL(dtl.vbeln,'') as vbeln
|
||||
FROM
|
||||
ST_IVT_IOStorInv ios
|
||||
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 pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND ios.bill_code = sub.bill_code
|
||||
WHERE
|
||||
ios.is_delete = '0'
|
||||
AND
|
||||
ios.io_type = '0'
|
||||
AND ios.stor_id in 输入.in_stor_id
|
||||
|
||||
OPTION 输入.box_no <> ""
|
||||
dis.box_no like 输入.box_no
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.box_no_in <> ""
|
||||
dis.box_no IN 输入.box_no_in
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.vbeln <> ""
|
||||
dtl.vbeln like 输入.vbeln
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.vbeln_in <> ""
|
||||
dtl.vbeln IN 输入.vbeln_in
|
||||
ENDOPTION
|
||||
|
||||
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 输入.pcsn <> ""
|
||||
dis.pcsn like 输入.pcsn
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.pcsn_in <> ""
|
||||
dis.pcsn IN 输入.pcsn_in
|
||||
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
|
||||
limit 0,10000
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "29"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
|
||||
@@ -64,23 +64,31 @@
|
||||
|
||||
IF 输入.flag = "1"
|
||||
PAGEQUERY
|
||||
SELECT DISTINCT
|
||||
SELECT
|
||||
cg.changeinv_id AS id,
|
||||
cg.*
|
||||
cg.*
|
||||
FROM
|
||||
st_ivt_structivtchange cg
|
||||
LEFT JOIN st_ivt_structivtchangedtl dtl ON cg.changeinv_id = dtl.changeinv_id
|
||||
inner JOIN (
|
||||
SELECT
|
||||
dtl.changeinv_id
|
||||
FROM
|
||||
st_ivt_structivtchangedtl dtl
|
||||
WHERE
|
||||
1 = 1
|
||||
OPTION 输入.pcsn <> ""
|
||||
dtl.pcsn = 输入.pcsn
|
||||
ENDOPTION
|
||||
GROUP BY
|
||||
dtl.changeinv_id
|
||||
) b ON cg.changeinv_id = b.changeinv_id
|
||||
WHERE
|
||||
1 = 1
|
||||
1 = 1
|
||||
AND cg.is_delete = '0'
|
||||
and cg.stor_id in 输入.in_stor_id
|
||||
|
||||
OPTION 输入.bill_code <> ""
|
||||
cg.bill_code like 输入.bill_code
|
||||
ENDOPTION
|
||||
OPTION 输入.pcsn <> ""
|
||||
dtl.pcsn = 输入.pcsn
|
||||
ENDOPTION
|
||||
OPTION 输入.buss_type <> ""
|
||||
cg.buss_type like 输入.buss_type
|
||||
ENDOPTION
|
||||
@@ -109,42 +117,58 @@
|
||||
|
||||
IF 输入.flag = "2"
|
||||
QUERY
|
||||
SELECT DISTINCT
|
||||
dtl.mfg_order_name AS new_sale_order_name,
|
||||
dtl.customer_name AS new_customer_name,
|
||||
dtl.customer_description AS new_customer_description,
|
||||
dtl.package_box_sn AS storagevehicle_code,
|
||||
sa.sect_name AS turnout_sect_name,
|
||||
sa.struct_code AS turnout_struct_code,
|
||||
mb.material_code,
|
||||
mb.material_name,
|
||||
dtl.seq_no,
|
||||
sub.sale_order_name,
|
||||
sub.customer_name,
|
||||
sub.customer_description,
|
||||
sub.net_weight AS qty,
|
||||
dtl.demand_date,
|
||||
dtl.UpdatedDateOfProduction AS date_of_FG_inbound,
|
||||
dtl.isRePrintPackageBoxLabel,
|
||||
dtl.isUnPackBox,
|
||||
dtl.pcsn
|
||||
FROM
|
||||
st_ivt_structivtchangedtl dtl
|
||||
LEFT JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id
|
||||
LEFT JOIN st_ivt_structattr sa ON sa.storagevehicle_code = dtl.package_box_sn
|
||||
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = dtl.package_box_sn AND sub.container_name = dtl.pcsn
|
||||
WHERE
|
||||
1 = 1
|
||||
OPTION 输入.changeinv_id <> ""
|
||||
dtl.changeinv_id = 输入.changeinv_id
|
||||
ENDOPTION
|
||||
OPTION 输入.changeinvdtl_id <> ""
|
||||
dtl.changeinvdtl_id = 输入.changeinvdtl_id
|
||||
ENDOPTION
|
||||
OPTION 输入.work_status <> ""
|
||||
dtl.work_status <= 输入.work_status
|
||||
ENDOPTION
|
||||
order by dtl.seq_no
|
||||
SELECT * from
|
||||
(
|
||||
select
|
||||
dtl.mfg_order_name AS new_sale_order_name,
|
||||
dtl.customer_name AS new_customer_name,
|
||||
dtl.customer_description AS new_customer_description,
|
||||
dtl.package_box_sn AS storagevehicle_code,
|
||||
dtl.demand_date,
|
||||
dtl.UpdatedDateOfProduction AS date_of_FG_inbound,
|
||||
dtl.isRePrintPackageBoxLabel,
|
||||
dtl.isUnPackBox,
|
||||
dtl.pcsn,
|
||||
dtl.seq_no,
|
||||
sa.sect_name AS turnout_sect_name,
|
||||
sa.struct_code AS turnout_struct_code,
|
||||
mb.material_code,
|
||||
mb.material_name
|
||||
FROM
|
||||
st_ivt_structivtchangedtl dtl
|
||||
LEFT JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id
|
||||
LEFT JOIN st_ivt_structattr sa ON sa.storagevehicle_code = dtl.package_box_sn
|
||||
WHERE
|
||||
1 = 1
|
||||
OPTION 输入.changeinv_id <> ""
|
||||
dtl.changeinv_id = 输入.changeinv_id
|
||||
ENDOPTION
|
||||
OPTION 输入.changeinvdtl_id <> ""
|
||||
dtl.changeinvdtl_id = 输入.changeinvdtl_id
|
||||
ENDOPTION
|
||||
OPTION 输入.work_status <> ""
|
||||
dtl.work_status <= 输入.work_status
|
||||
ENDOPTION
|
||||
order by dtl.seq_no
|
||||
) dtl2
|
||||
LEFT JOIN (
|
||||
select
|
||||
sub.sale_order_name,
|
||||
sub.customer_name,
|
||||
sub.customer_description,
|
||||
sub.net_weight ,
|
||||
sub.package_box_sn,
|
||||
sub.container_name
|
||||
from
|
||||
pdm_bi_subpackagerelation sub
|
||||
group by
|
||||
sub.sale_order_name,
|
||||
sub.customer_name,
|
||||
sub.customer_description,
|
||||
sub.net_weight,
|
||||
sub.package_box_sn,
|
||||
sub.container_name
|
||||
) sub2 ON (sub2.package_box_sn = dtl2.storagevehicle_code AND sub2.container_name = dtl2.pcsn)
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
@@ -79,21 +79,22 @@
|
||||
move.*
|
||||
FROM
|
||||
ST_IVT_MoveInv move
|
||||
inner join (
|
||||
SELECT
|
||||
movedtl.moveinv_id
|
||||
FROM
|
||||
st_ivt_moveinvdtl movedtl
|
||||
INNER JOIN md_me_materialbase mb ON mb.material_id = movedtl.material_id
|
||||
WHERE
|
||||
1 = 1
|
||||
OPTION 输入.material_code <> ""
|
||||
(mb.material_code LIKE 输入.material_code OR mb.material_name LIKE 输入.material_code)
|
||||
ENDOPTION
|
||||
GROUP BY movedtl.moveinv_id
|
||||
) dtl2 on dtl2.moveinv_id = move.moveinv_id
|
||||
WHERE
|
||||
1 = 1
|
||||
AND move.is_delete = '0'
|
||||
AND move.moveinv_id IN (
|
||||
SELECT DISTINCT
|
||||
(movedtl.moveinv_id)
|
||||
FROM
|
||||
st_ivt_moveinvdtl movedtl
|
||||
LEFT JOIN md_me_materialbase mb ON mb.material_id = movedtl.material_id
|
||||
WHERE
|
||||
1 = 1
|
||||
OPTION 输入.material_code <> ""
|
||||
(mb.material_code LIKE 输入.material_code OR mb.material_name LIKE 输入.material_code)
|
||||
ENDOPTION
|
||||
)
|
||||
AND move.stor_id in 输入.in_stor_id
|
||||
|
||||
OPTION 输入.bill_code <> ""
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
mst.input_time <= 输入.end_time
|
||||
ENDOPTION
|
||||
) ios
|
||||
LEFT JOIN (
|
||||
inner JOIN (
|
||||
select
|
||||
dtl.iostorinv_id,
|
||||
dtl.vbeln
|
||||
@@ -158,7 +158,7 @@
|
||||
dtl.iostorinv_id,
|
||||
dtl.vbeln
|
||||
) c ON ios.iostorinv_id = c.iostorinv_id
|
||||
LEFT JOIN (
|
||||
inner JOIN (
|
||||
SELECT
|
||||
dis.iostorinv_id
|
||||
FROM
|
||||
@@ -248,7 +248,7 @@
|
||||
mst.input_time <= 输入.end_time
|
||||
ENDOPTION
|
||||
) ios
|
||||
LEFT JOIN (
|
||||
inner JOIN (
|
||||
select
|
||||
dtl.iostorinv_id,
|
||||
dtl.vbeln
|
||||
@@ -268,7 +268,7 @@
|
||||
dtl.iostorinv_id,
|
||||
dtl.vbeln
|
||||
) c ON ios.iostorinv_id = c.iostorinv_id
|
||||
LEFT JOIN (
|
||||
inner JOIN (
|
||||
SELECT
|
||||
dis.iostorinv_id
|
||||
FROM
|
||||
@@ -426,8 +426,7 @@
|
||||
ENDOPTION
|
||||
|
||||
GROUP BY sub.sale_order_name,spec,ios.iostorinv_id,dtl.iostorinvdtl_id
|
||||
|
||||
|
||||
limit 0,10000
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
Reference in New Issue
Block a user