From 02f390f91a18d4450eb5fff1dc00ac31ef70d529 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Thu, 20 Feb 2025 15:38:57 +0800 Subject: [PATCH] =?UTF-8?q?OPT:=E4=BC=98=E5=8C=96=E6=96=B0=E6=88=90?= =?UTF-8?q?=E5=93=81=E5=85=A5=E5=BA=93=E6=9F=A5=E8=AF=A2=20=E5=AF=BC?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/InBillQueryServiceImpl.java | 4 +- .../nl/wms/stat/wql/ST_IVT_INBILLQUERY.wql | 331 ++++++++++++++++++ 2 files changed, 333 insertions(+), 2 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/stat/service/impl/InBillQueryServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/stat/service/impl/InBillQueryServiceImpl.java index 182dee0c3..fbe18c1bd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/stat/service/impl/InBillQueryServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/stat/service/impl/InBillQueryServiceImpl.java @@ -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); 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 f915a3194..7be5af97a 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 @@ -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 +