From 2580bb3c2609159d67892f7e0f2b6788e7e60ed2 Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Wed, 19 Oct 2022 15:50:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/StatisticalReportServiceImpl.java | 5 +- .../wql/statistical_report_query_01.wql | 94 ++++++++++++++----- 2 files changed, 72 insertions(+), 27 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/StatisticalReportServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/StatisticalReportServiceImpl.java index 3f4ac7bd..5f738a7f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/StatisticalReportServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/StatisticalReportServiceImpl.java @@ -208,7 +208,7 @@ public class StatisticalReportServiceImpl implements StatisticalReportService { String begin_time = MapUtil.getStr(whereJson, "begin_time"); String end_time = MapUtil.getStr(whereJson, "end_time"); //查询日期内的排产日计划物料信息 - JSONArray jsonArr = WQL.getWO("statistical_report_query_01").addParam("flag", "3").addParam("begin_time",begin_time).addParam("end_time",end_time).process().getResultJSONArray(0); + JSONArray jsonArr = WQL.getWO("statistical_report_query_01").addParam("flag", "9").addParam("begin_time",begin_time).addParam("end_time",end_time).process().getResultJSONArray(0); JSONArray rows = new JSONArray(); for (int i = 0; i < jsonArr.size(); i++) { JSONObject row = jsonArr.getJSONObject(i); @@ -260,12 +260,15 @@ public class StatisticalReportServiceImpl implements StatisticalReportService { JSONObject jsonResuft1 = new JSONObject(); jsonResuft1.put("prop", "1"); jsonResuft1.put("label", "日期"); + jsonResuft1.put("option", true); JSONObject jsonResuft2 = new JSONObject(); jsonResuft2.put("prop", "2"); jsonResuft2.put("label", "牌号"); + jsonResuft2.put("option", true); JSONObject jsonResuft3 = new JSONObject(); jsonResuft3.put("prop", "3"); jsonResuft3.put("label", "批数"); + jsonResuft3.put("option", true); jonsResuftArr.add(jsonResuft1); jonsResuftArr.add(jsonResuft2); jonsResuftArr.add(jsonResuft3); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/statistical_report_query_01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/statistical_report_query_01.wql index d09ebf0a..7be95c9e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/statistical_report_query_01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/statistical_report_query_01.wql @@ -22,13 +22,11 @@ 输入.io_type TYPEAS s_string 输入.buss_type TYPEAS s_string 输入.bill_type TYPEAS s_string - 输入.stor_id <> "" TYPEAS s_string + 输入.stor_id TYPEAS s_string 输入.deptIds TYPEAS s_string 输入.create_mode TYPEAS s_string 输入.bill_status TYPEAS s_string - 输入.begin_time <> "" TYPEAS s_string - 输入.end_time <> "" TYPEAS s_string - 输入.material_id <> "" TYPEAS s_string + 输入.material_id TYPEAS s_string [临时表] @@ -248,26 +246,41 @@ QUERY SELECT dtl.material_id, - (case when (SUM(dtl.formula_qty) - SUM(dtl.put_qty)) > 0 then (SUM(dtl.formula_qty) - SUM(dtl.put_qty)) else 0 end) AS qty + SUM(ROUND((b.qty*dtl.standard_rate*0.01),3)) AS qty FROM - pdm_bi_formuladtl dtl - LEFT JOIN pdm_bi_formula mst ON mst.formula_id = dtl.formula_id - LEFT JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id - WHERE - mst.is_delete = '0' - AND - mst.`status` IN (20,30) - OPTION 输入.material_id <> "" - dtl.material_id = 输入.material_id - ENDOPTION - OPTION 输入.begin_time <> "" - mst.create_time >= 输入.begin_time - ENDOPTION - OPTION 输入.end_time <> "" - mst.create_time <= 输入.end_time - ENDOPTION - GROUP BY - material_id + ( + SELECT + material_id, + SUM( qty ) AS qty + FROM + ( + SELECT + material_id, + workorder_qty AS qty + FROM + pdm_bi_workorder wo + WHERE + wo.`status` = '40' + AND is_delete = '0' + OPTION 输入.begin_time <> "" + wo.planstart_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + wo.planstart_time <= 输入.end_time + ENDOPTION + ) a + GROUP BY + a.material_id + ) b + LEFT JOIN md_pd_productbom mst ON mst.material_id = b.material_id + LEFT JOIN md_pd_productbomdtl dtl ON mst.bom_id = dtl.bom_id + WHERE + 1=1 + OPTION 输入.material_id <> "" + dtl.material_id = 输入.material_id + ENDOPTION + GROUP BY + dtl.material_id ENDSELECT ENDQUERY ENDIF @@ -438,11 +451,11 @@ a.material_id ) b LEFT JOIN md_pd_productbom mst ON mst.material_id = b.material_id - LEFT JOIN md_pd_productbomdtl dtl ON dtl.bom_id = dtl.bom_id + LEFT JOIN md_pd_productbomdtl dtl ON mst.bom_id = dtl.bom_id WHERE 1=1 OPTION 输入.material_id <> "" - b.material_id = 输入.material_id + dtl.material_id = 输入.material_id ENDOPTION ENDSELECT ENDQUERY @@ -462,15 +475,44 @@ LEFT JOIN md_me_producmaterialext ext ON ext.material_id = plan.material_id LEFT JOIN md_me_materialbase materialbase ON materialbase.material_id = plan.material_id WHERE - 1=1 + plan.status = '01' OPTION 输入.begin_time <> "" plan.planstart_date >= 输入.begin_time ENDOPTION OPTION 输入.end_time <> "" plan.planstart_date <= 输入.end_time ENDOPTION + + UNION ALL + + SELECT + wo.planstart_time AS planstart_date, + COUNT(wo.workorder_id) AS product_num, + MAX(ext.old_mark) AS old_mark, + SUM(wo.workorder_qty) AS product_weight, + wo.material_id, + MAX(mb.material_code) AS material_code + FROM + pdm_bi_workorder wo + LEFT JOIN md_me_materialbase mb ON mb.material_id = wo.material_id + LEFT JOIN md_me_producmaterialext ext ON ext.material_id = wo.material_id + WHERE + wo.`status` < 50 + AND + wo.is_delete = '0' + OPTION 输入.begin_time <> "" + wo.planstart_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + wo.planstart_time <= 输入.end_time + ENDOPTION + GROUP BY + planstart_time,wo.material_id + ORDER BY planstart_date ENDSELECT ENDQUERY ENDIF + +