OPT:优化新成品入库查询 导出
This commit is contained in:
@@ -379,9 +379,9 @@ public class InBillQueryServiceImpl implements InBillQueryService {
|
||||
|
||||
JSONObject mapParam = new JSONObject();
|
||||
if ("0".equals(is_all)) {
|
||||
mapParam.put("flag", "5");
|
||||
mapParam.put("flag", "55");
|
||||
} else {
|
||||
mapParam.put("flag", "6");
|
||||
mapParam.put("flag", "66");
|
||||
}
|
||||
mapParam.put("bill_type", bill_type);
|
||||
mapParam.put("with", with);
|
||||
|
||||
@@ -961,3 +961,334 @@
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "55"
|
||||
QUERY
|
||||
SELECT
|
||||
mst.stor_name,
|
||||
dis.sect_name,
|
||||
dis.struct_code,
|
||||
dis.struct_name,
|
||||
mst.bill_type,
|
||||
dis.box_no,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
mb.material_name AS box_name,
|
||||
dis.pcsn,
|
||||
sub.sap_pcsn,
|
||||
sub.net_weight,
|
||||
dis.qty_unit_name,
|
||||
sub.customer_name,
|
||||
cust.sales_owner,
|
||||
cust.cust_name,
|
||||
sub.quanlity_in_box,
|
||||
sub.customer_description,
|
||||
sub.sale_order_name,
|
||||
mst.input_time,
|
||||
mst.confirm_time,
|
||||
sub.date_of_production,
|
||||
mst.input_optname,
|
||||
sub.width,
|
||||
case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS paper_type,
|
||||
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then plan.FRP_material end AS paper_code,
|
||||
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_description when plan.paper_tube_or_FRP = '2' then plan.FRP_description end AS paper_name,
|
||||
sub.thickness,
|
||||
sub.box_weight,
|
||||
sub.length,
|
||||
sub.thickness_request,
|
||||
sub.width_standard,
|
||||
sub.mass_per_unit_area,
|
||||
sub.demand_limit,
|
||||
sub.standard_limit,
|
||||
sub.actual_value,
|
||||
(case when plan.parent_container_name <> '' then plan.parent_container_name else plan.restruct_container_name end) AS parent_container_name,
|
||||
mst.remark,
|
||||
(case when DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >='08:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '19:59:59' then '白班'
|
||||
when ((
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >='20:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '23:59:59'
|
||||
OR
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >='00:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '07:59:59'
|
||||
)) then '晚班' end) AS classes,
|
||||
CONCAT( sub.box_length,'*',sub.box_width,'*',sub.box_high) AS box_size,
|
||||
CASE
|
||||
|
||||
WHEN DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >= '08:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '23:59:59'
|
||||
THEN mst.confirm_time
|
||||
WHEN DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >= '00:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '07:59:59'
|
||||
THEN DATE_SUB(mst.confirm_time,INTERVAL 1 day)
|
||||
END AS confirm_time_class
|
||||
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '0'
|
||||
OPTION 输入.bill_type <> ""
|
||||
b.bill_type = 输入.bill_type
|
||||
ENDOPTION
|
||||
OPTION 输入.pcsn <> ""
|
||||
a.pcsn = 输入.pcsn
|
||||
ENDOPTION
|
||||
OPTION 输入.begin_time <> ""
|
||||
b.confirm_time >= 输入.begin_time
|
||||
ENDOPTION
|
||||
OPTION 输入.end_time <> ""
|
||||
b.confirm_time <= 输入.end_time
|
||||
ENDOPTION
|
||||
AND b.bill_status = '99'
|
||||
|
||||
GROUP BY
|
||||
pcsn
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '0'
|
||||
OPTION 输入.bill_type = "0001"
|
||||
b.bill_type = '0007'
|
||||
ENDOPTION
|
||||
OPTION 输入.bill_type <> "0001"
|
||||
b.bill_type = '-1'
|
||||
ENDOPTION
|
||||
OPTION 输入.pcsn <> ""
|
||||
a.pcsn = 输入.pcsn
|
||||
ENDOPTION
|
||||
OPTION 输入.begin_time <> ""
|
||||
b.confirm_time >= 输入.begin_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.end_time <> ""
|
||||
b.confirm_time <= 输入.end_time
|
||||
ENDOPTION
|
||||
AND b.bill_status = '99'
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS c
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_sectattr sect ON sect.sect_id = dis.sect_id
|
||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = dis.material_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
LEFT JOIN md_cs_customerbase cust ON cust.cust_code = sub.customer_name
|
||||
LEFT JOIN (SELECT
|
||||
container_name,
|
||||
MAX(paper_tube_or_FRP) AS paper_tube_or_FRP,
|
||||
MAX(paper_tube_material) AS paper_tube_material,
|
||||
MAX(paper_tube_description) AS paper_tube_description,
|
||||
MAX(paper_tube_model) AS paper_tube_model,
|
||||
MAX(FRP_material) AS FRP_material,
|
||||
MAX(parent_container_name) AS parent_container_name,
|
||||
MAX(restruct_container_name) AS restruct_container_name,
|
||||
MAX(FRP_description) AS FRP_description,
|
||||
MAX(FRP_model) AS FRP_model
|
||||
FROM
|
||||
pdm_bi_slittingproductionplan plan1
|
||||
WHERE
|
||||
plan1.is_delete = '0'
|
||||
GROUP BY container_name) plan ON plan.container_name = sub.container_name
|
||||
LEFT JOIN md_me_materialbase mb ON mb.material_code = sub.box_type
|
||||
WHERE
|
||||
mst.io_type = '0'
|
||||
AND mst.is_delete = '0'
|
||||
AND mst.bill_status = '99'
|
||||
|
||||
OPTION 输入.storIds <> ""
|
||||
mst.stor_id in 输入.storIds
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.is_virtual = "0"
|
||||
sect.sect_type_attr <> '09'
|
||||
ENDOPTION
|
||||
OPTION 输入.is_virtual = "1"
|
||||
sect.sect_type_attr = '09'
|
||||
ENDOPTION
|
||||
OPTION 输入.areas <> ""
|
||||
(LEFT(sub.container_name,2) IN 输入.areas OR SUBSTRING(sub.container_name,2,2) IN 输入.areas)
|
||||
ENDOPTION
|
||||
OPTION 输入.thickness_request <> ""
|
||||
sub.thickness_request = 输入.thickness_request
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.bill_type = "0001"
|
||||
IFNULL(sub.sub_type,'') = ''
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.sale_order_name <> ""
|
||||
sub.sale_order_name = 输入.sale_order_name
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.sap_pcsn <> ""
|
||||
sub.sap_pcsn = 输入.sap_pcsn
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.bill_type = "0007"
|
||||
sub.sub_type = '2'
|
||||
ENDOPTION
|
||||
|
||||
|
||||
OPTION 输入.begin_time <> ""
|
||||
mst.confirm_time >= 输入.begin_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.end_time <> ""
|
||||
mst.confirm_time <= 输入.end_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.with <> ""
|
||||
CONCAT( sub.thickness_request,'*',sub.width) = 输入.with
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.classes = "1"
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >='08:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '19:59:59'
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.classes = "2"
|
||||
(
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >='20:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '23:59:59'
|
||||
OR
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >='00:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '07:59:59'
|
||||
)
|
||||
ENDOPTION
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "66"
|
||||
QUERY
|
||||
SELECT
|
||||
MAX(mst.stor_name) AS stor_name,
|
||||
MAX(dis.sect_name) AS sect_name,
|
||||
MAX(dis.struct_code) AS struct_code,
|
||||
MAX(dis.struct_name) AS struct_name,
|
||||
MAX(mst.bill_type) AS bill_type,
|
||||
MAX(mater.material_code) AS material_code,
|
||||
MAX(mater.material_name) AS material_name,
|
||||
MAX(dis.qty_unit_name) AS qty_unit_name,
|
||||
MAX(sub.customer_description) AS customer_description,
|
||||
MAX(mst.input_optname) AS input_optname,
|
||||
MAX(mst.remark) AS remark,
|
||||
mst.iostorinv_id,
|
||||
dis.box_no,
|
||||
MAX(cust.sales_owner) AS sales_owner,
|
||||
MAX(cust.cust_name) AS cust_name,
|
||||
MAX(sub.customer_name) AS customer_name,
|
||||
MAX(sub.sale_order_name) AS sale_order_name,
|
||||
MAX(sub.date_of_production) AS date_of_production,
|
||||
SUM(sub.net_weight) AS net_weight,
|
||||
MAX(mst.input_time) AS input_time,
|
||||
MAX(mst.confirm_time) AS confirm_time,
|
||||
CONCAT_WS('',MAX(sub.thickness_request),'*',MAX(sub.width)) AS specification,
|
||||
CONCAT( MAX(sub.box_length),'*',MAX(sub.box_width),'*',MAX(sub.box_high)) AS box_size,
|
||||
(case when DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >='08:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '19:59:59' then '白班'
|
||||
when ((
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >='20:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '23:59:59'
|
||||
OR
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >='00:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '07:59:59'
|
||||
)) then '晚班' end) AS classes,
|
||||
CASE
|
||||
WHEN DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >= '08:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '23:59:59'
|
||||
THEN mst.confirm_time
|
||||
WHEN DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >= '00:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '07:59:59'
|
||||
THEN DATE_SUB(mst.confirm_time,INTERVAL 1 day)
|
||||
END AS confirm_time_class
|
||||
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '0'
|
||||
OPTION 输入.bill_type <> ""
|
||||
b.bill_type = 输入.bill_type
|
||||
ENDOPTION
|
||||
OPTION 输入.pcsn <> ""
|
||||
a.pcsn = 输入.pcsn
|
||||
ENDOPTION
|
||||
OPTION 输入.begin_time <> ""
|
||||
b.confirm_time >= 输入.begin_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.end_time <> ""
|
||||
b.confirm_time <= 输入.end_time
|
||||
ENDOPTION
|
||||
AND b.bill_status = '99'
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS c
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_sectattr sect ON sect.sect_id = dis.sect_id
|
||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = dis.material_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
LEFT JOIN md_cs_customerbase cust ON cust.cust_code = sub.customer_name
|
||||
WHERE
|
||||
mst.io_type = '0'
|
||||
AND mst.is_delete = '0'
|
||||
AND mst.bill_status = '99'
|
||||
|
||||
OPTION 输入.storIds <> ""
|
||||
mst.stor_id = 输入.storIds
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.is_virtual = "0"
|
||||
sect.sect_type_attr <> '09'
|
||||
ENDOPTION
|
||||
OPTION 输入.is_virtual = "1"
|
||||
sect.sect_type_attr = '09'
|
||||
ENDOPTION
|
||||
OPTION 输入.areas <> ""
|
||||
(LEFT(sub.container_name,2) IN 输入.areas OR SUBSTRING(sub.container_name,2,2) IN 输入.areas)
|
||||
ENDOPTION
|
||||
OPTION 输入.thickness_request <> ""
|
||||
sub.thickness_request = 输入.thickness_request
|
||||
ENDOPTION
|
||||
OPTION 输入.bill_type <> ""
|
||||
mst.bill_type = 输入.bill_type
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.sale_order_name <> ""
|
||||
sub.sale_order_name = 输入.sale_order_name
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.begin_time <> ""
|
||||
mst.confirm_time >= 输入.begin_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.end_time <> ""
|
||||
mst.confirm_time <= 输入.end_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.with <> ""
|
||||
CONCAT( sub.thickness_request,'*',sub.width) = 输入.with
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.classes = "1"
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >='08:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '19:59:59'
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.classes = "2"
|
||||
(
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >='20:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '23:59:59'
|
||||
OR
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) >='00:00:00' AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <= '07:59:59'
|
||||
)
|
||||
ENDOPTION
|
||||
GROUP BY
|
||||
mst.iostorinv_id,
|
||||
dis.box_no
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
Reference in New Issue
Block a user