This commit is contained in:
2022-10-19 15:50:58 +08:00
parent 5eb80080b1
commit 2580bb3c26
2 changed files with 72 additions and 27 deletions

View File

@@ -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);

View File

@@ -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