diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/PowderOrderQueryServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/PowderOrderQueryServiceImpl.java index d6b22978..071ee57e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/PowderOrderQueryServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/PowderOrderQueryServiceImpl.java @@ -48,7 +48,7 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", "%"+pcsn+"%"); if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", "%"+material_code+"%"); - JSONObject resultJson = WQL.getWO("QP_POWDERORDERQUERY01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "work.create_time desc,mater.material_code,work.pcsn"); + JSONObject resultJson = WQL.getWO("QP_POWDERORDERQUERY01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "Formula.create_time desc,mater.material_code,Formula.pcsn"); JSONArray contentArr = resultJson.getJSONArray("content"); JSONArray jsonResultArr = new JSONArray(); @@ -69,7 +69,6 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { })); for (int j = 0; j < dtlArr.size(); j++) { JSONObject jsonDtl = dtlArr.getJSONObject(j); -// JSONArray arr = WQLObject.getWQLObject("PDM_BI_FormulaDtl").query("formula_id ='" + formula_id + "' and material_id ='" + jsonDtl.getString("material_id") + "'").getResultJSONArray(0); List mIdFormulaDtl = formulaDtlBymId.get(jsonDtl.getString("material_id")); jsonResult.put(jsonDtl.getString("material_id")+"",jsonDtl.getString("material_name")); if (!CollectionUtils.isEmpty(mIdFormulaDtl)) { @@ -129,9 +128,23 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { @Override public JSONArray getHeader(Map whereJson) { JSONArray jsonResultArr = new JSONArray(); + String pcsn = MapUtil.getStr(whereJson, "pcsn"); + String material_code = MapUtil.getStr(whereJson, "material_code"); - String classIds = classstandardService.getAllChildIdStr(MaterOptTypeEnum.YL_AND_FL_AND_RF.getClass_idStr()); - JSONArray resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "20").addParam("classIds", classIds).process().getResultJSONArray(0); + HashMap map = new HashMap<>(); + String begin_time = MapUtil.getStr(whereJson, "begin_time"); + if (StrUtil.isNotEmpty(begin_time)) { + map.put("begin_time", begin_time.substring(0,10)+" 00:00:00"); + } + String end_time = MapUtil.getStr(whereJson, "end_time"); + if (StrUtil.isNotEmpty(end_time)) { + map.put("end_time", end_time.substring(0,10)+" 23:59:59"); + } + map.put("status", MapUtil.getStr(whereJson, "status")); + if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", "%"+pcsn+"%"); + if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", "%"+material_code+"%"); + + JSONArray resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "22").addParamMap(map).process().getResultJSONArray(0); for (int i = 0; i < resultJSONArray.size(); i++) { JSONObject json = resultJSONArray.getJSONObject(i); @@ -180,8 +193,14 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { HashMap map = new HashMap<>(); map.put("flag", "4"); - map.put("begin_time", MapUtil.getStr(whereJson, "begin_time")); - map.put("end_time", MapUtil.getStr(whereJson, "end_time")); + String begin_time = MapUtil.getStr(whereJson, "begin_time"); + if (StrUtil.isNotEmpty(begin_time)) { + map.put("begin_time", begin_time.substring(0,10)+" 00:00:00"); + } + String end_time = MapUtil.getStr(whereJson, "end_time"); + if (StrUtil.isNotEmpty(end_time)) { + map.put("end_time", end_time.substring(0,10)+" 23:59:59"); + } map.put("status", MapUtil.getStr(whereJson, "status")); if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", "%"+pcsn+"%"); if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", "%"+material_code+"%"); @@ -254,7 +273,6 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { jsonResultArr.add(jsonResult); } - String classIds = classstandardService.getAllChildIdStr(MaterOptTypeEnum.YL_AND_FL_AND_RF.getClass_idStr()); List> list = new ArrayList<>(); for (int k = 0; k < jsonResultArr.size(); k++) { @@ -264,7 +282,8 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { map_dtl.put("日期", json.getString("0")); map_dtl.put("产品编码", json.getString("1")); map_dtl.put("批号", json.getString("2")); - JSONArray resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "20").addParam("classIds", classIds).process().getResultJSONArray(0); + map.put("flag", "20"); + JSONArray resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParamMap(map).process().getResultJSONArray(0); for (int t = 0; t < resultJSONArray.size(); t++) { JSONObject jsonObject = resultJSONArray.getJSONObject(t); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/QP_POWDERORDERQUERY01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/QP_POWDERORDERQUERY01.wql index f5aeb6ca..02fc3aca 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/QP_POWDERORDERQUERY01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/QP_POWDERORDERQUERY01.wql @@ -48,47 +48,38 @@ IF 输入.flag = "1" PAGEQUERY SELECT - work.create_time, + Formula.create_time, mater.material_code, - work.pcsn, - mst.formula_id, - mst.ball_time, - mst.product_series_id, + Formula.pcsn, + Formula.formula_id, + Formula.ball_time, + Formula.product_series_id, ext.c_balance, ext.ball_rate, ext.liquid_rate FROM - PDM_BI_WorkOrder work - LEFT JOIN PDM_BI_Formula mst ON mst.workorder_id = work.workorder_id - LEFT JOIN md_me_materialbase mater ON mater.material_id = work.material_id - LEFT JOIN MD_ME_ProducMaterialExt ext ON mater.material_id = ext.material_id - + PDM_BI_Formula Formula + inner JOIN md_me_materialbase mater ON mater.material_id = Formula.material_id + inner JOIN MD_ME_ProducMaterialExt ext ON Formula.material_id = ext.material_id WHERE - mst.is_delete= '0' - AND work.is_delete= '0' - AND mst.bucket_type = '01' - + Formula.is_delete= '0' + AND Formula.bucket_type = '01' OPTION 输入.begin_time <> "" - work.create_time >= 输入.begin_time + Formula.create_time >= 输入.begin_time ENDOPTION - OPTION 输入.end_time <> "" - work.create_time <= 输入.end_time + Formula.create_time <= 输入.end_time ENDOPTION - OPTION 输入.pcsn <> "" - work.pcsn like 输入.pcsn + Formula.pcsn like 输入.pcsn ENDOPTION - OPTION 输入.status <> "" - work.status = 输入.status + Formula.status = 输入.status ENDOPTION - OPTION 输入.material_code <> "" (mater.material_code like 输入.material_code or mater.material_name like 输入.material_code) ENDOPTION - ENDSELECT ENDPAGEQUERY ENDIF @@ -105,9 +96,9 @@ else 3 end) AS order_no FROM PDM_BI_FormulaDtl dtl - LEFT JOIN md_me_materialbase mater ON dtl.material_id = mater.material_id - LEFT JOIN md_pb_classstandard class ON class.class_id = mater.material_type_id - WHERE 1=1 + inner JOIN md_me_materialbase mater ON dtl.material_id = mater.material_id + inner JOIN md_pb_classstandard class ON class.class_id = mater.material_type_id + WHERE 1=1 and dtl.material_type='01' OPTION 输入.classIds <> "" mater.material_type_id in 输入.classIds ENDOPTION @@ -126,8 +117,8 @@ else 3 end) AS order_no FROM PDM_BI_FormulaDtl dtl - LEFT JOIN md_pb_classstandard class ON class.class_id = dtl.material_id - WHERE 1=1 + inner JOIN md_pb_classstandard class ON class.class_id = dtl.material_id + WHERE 1=1 and dtl.material_type='02' OPTION 输入.classIds <> "" class.class_id in 输入.classIds ENDOPTION @@ -152,9 +143,10 @@ dtl.formula_qty FROM PDM_BI_FormulaDtl dtl - LEFT JOIN md_me_materialbase mater ON dtl.material_id = mater.material_id + inner JOIN md_me_materialbase mater ON dtl.material_id = mater.material_id WHERE 1=1 + and dtl.material_type='01' OPTION 输入.formula_id <> "" dtl.formula_id = 输入.formula_id ENDOPTION @@ -168,9 +160,10 @@ dtl.formula_qty FROM PDM_BI_FormulaDtl dtl - LEFT JOIN md_pb_classstandard class ON class.class_id = dtl.material_id + inner JOIN md_pb_classstandard class ON class.class_id = dtl.material_id WHERE 1=1 + and dtl.material_type='02' OPTION 输入.formula_id <> "" dtl.formula_id = 输入.formula_id ENDOPTION @@ -182,40 +175,36 @@ IF 输入.flag = "4" QUERY SELECT - work.create_time, + Formula.create_time, mater.material_code, - work.pcsn, - mst.formula_id, - mst.ball_time, - mst.product_series_id, + Formula.pcsn, + Formula.formula_id, + Formula.ball_time, + Formula.product_series_id, ext.c_balance, ext.ball_rate, ext.liquid_rate FROM - PDM_BI_WorkOrder work - LEFT JOIN PDM_BI_Formula mst ON mst.workorder_id = work.workorder_id - LEFT JOIN md_me_materialbase mater ON mater.material_id = work.material_id - LEFT JOIN MD_ME_ProducMaterialExt ext ON mater.material_id = ext.material_id - + PDM_BI_Formula Formula + inner JOIN md_me_materialbase mater ON mater.material_id = Formula.material_id + inner JOIN MD_ME_ProducMaterialExt ext ON Formula.material_id = ext.material_id WHERE - mst.is_delete= '0' - AND work.is_delete= '0' - AND mst.bucket_type = '01' - + Formula.is_delete= '0' + AND Formula.bucket_type = '01' OPTION 输入.begin_time <> "" - work.create_time >= 输入.begin_time + Formula.create_time >= 输入.begin_time ENDOPTION OPTION 输入.end_time <> "" - work.create_time <= 输入.end_time + Formula.create_time <= 输入.end_time ENDOPTION OPTION 输入.pcsn <> "" - work.pcsn like 输入.pcsn + Formula.pcsn like 输入.pcsn ENDOPTION OPTION 输入.status <> "" - work.status = 输入.status + Formula.status = 输入.status ENDOPTION OPTION 输入.material_code <> "" @@ -223,7 +212,7 @@ mater.material_name like 输入.material_code) ENDOPTION - work.create_time desc,mater.material_code,work.pcsn + order by Formula.create_time desc,mater.material_code,Formula.pcsn ENDSELECT ENDQUERY @@ -233,9 +222,9 @@ QUERY SELECT MAX(dtl.formuladtl_id) AS formuladtl_id, - mater.material_id AS material_id, - MAX(mater.material_name) AS material_name, - MAX(mater.material_code) AS material_code, + mater2.material_id AS material_id, + MAX(mater2.material_name) AS material_name, + MAX(mater2.material_code) AS material_code, group_concat(dtl.pcsn separator '+') AS pcsn, group_concat(dtl.formula_qty separator '+') AS formula_qty, (case when class.class_id = '1503644362192588800' then 1 @@ -244,13 +233,28 @@ when class.class_id = '1503644362234531840' then 5 else 3 end) AS order_no FROM - PDM_BI_FormulaDtl dtl - LEFT JOIN md_me_materialbase mater ON dtl.material_id = mater.material_id - LEFT JOIN md_pb_classstandard class ON class.class_id = mater.material_type_id - WHERE 1=1 - OPTION 输入.classIds <> "" - mater.material_type_id in 输入.classIds - ENDOPTION + PDM_BI_Formula Formula + inner JOIN PDM_BI_FormulaDtl dtl ON dtl.formula_id = Formula.formula_id + inner JOIN md_me_materialbase mater1 ON mater1.material_id = Formula.material_id + inner JOIN md_me_materialbase mater2 ON mater2.material_id = dtl.material_id + inner JOIN md_pb_classstandard class ON class.class_id = mater2.material_type_id + WHERE 1=1 and dtl.material_type='01' + OPTION 输入.begin_time <> "" + Formula.create_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + Formula.create_time <= 输入.end_time + ENDOPTION + OPTION 输入.pcsn <> "" + Formula.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.status <> "" + Formula.status = 输入.status + ENDOPTION + OPTION 输入.material_code <> "" + (mater1.material_code like 输入.material_code or + mater1.material_name like 输入.material_code) + ENDOPTION group by material_id union SELECT @@ -266,12 +270,27 @@ when class.class_id = '1503644362234531840' then 5 else 3 end) AS order_no FROM - PDM_BI_FormulaDtl dtl - LEFT JOIN md_pb_classstandard class ON class.class_id = dtl.material_id - WHERE 1=1 - OPTION 输入.classIds <> "" - class.class_id in 输入.classIds - ENDOPTION + PDM_BI_Formula Formula + inner JOIN PDM_BI_FormulaDtl dtl ON dtl.formula_id = Formula.formula_id + inner JOIN md_me_materialbase mater1 ON mater1.material_id = Formula.material_id + inner JOIN md_pb_classstandard class ON class.class_id = dtl.material_id + WHERE 1=1 and dtl.material_type='02' + OPTION 输入.begin_time <> "" + Formula.create_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + Formula.create_time <= 输入.end_time + ENDOPTION + OPTION 输入.pcsn <> "" + Formula.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.status <> "" + Formula.status = 输入.status + ENDOPTION + OPTION 输入.material_code <> "" + (mater1.material_code like 输入.material_code or + mater1.material_name like 输入.material_code) + ENDOPTION group by material_id order by order_no,material_code @@ -280,39 +299,74 @@ ENDQUERY ENDIF - IF 输入.flag = "21" + IF 输入.flag = "22" QUERY SELECT - mst.formula_id + dtl.material_id AS material_id, + MAX(mater2.material_code) AS material_code, + (case when class.class_id = '1503644362192588800' then 1 + when class.class_id = '1503644361664106496' then 2 + when class.class_id = '1503644362788179968' then 4 + when class.class_id = '1503644362234531840' then 5 + else 3 end) AS order_no FROM - PDM_BI_WorkOrder work - LEFT JOIN PDM_BI_Formula mst ON mst.workorder_id = work.workorder_id - LEFT JOIN md_me_materialbase mater ON mater.material_id = work.material_id - LEFT JOIN MD_ME_ProducMaterialExt ext ON mater.material_id = ext.material_id - WHERE - mst.is_delete= '0' - AND work.is_delete= '0' - AND mst.bucket_type = '01' - OPTION 输入.begin_time <> "" - work.create_time >= 输入.begin_time - ENDOPTION + PDM_BI_Formula Formula + inner JOIN PDM_BI_FormulaDtl dtl ON dtl.formula_id = Formula.formula_id + inner JOIN md_me_materialbase mater1 ON mater1.material_id = Formula.material_id + inner JOIN md_me_materialbase mater2 ON mater2.material_id = dtl.material_id + inner JOIN md_pb_classstandard class ON class.class_id = mater2.material_type_id + WHERE 1=1 and dtl.material_type='01' + OPTION 输入.begin_time <> "" + Formula.create_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + Formula.create_time <= 输入.end_time + ENDOPTION + OPTION 输入.pcsn <> "" + Formula.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.status <> "" + Formula.status = 输入.status + ENDOPTION + OPTION 输入.material_code <> "" + (mater1.material_code like 输入.material_code or + mater1.material_name like 输入.material_code) + ENDOPTION + group by material_id + union + SELECT + class.class_id AS material_id, + MAX(class.class_code) AS material_code, + (case when class.class_id = '1503644362192588800' then 1 + when class.class_id = '1503644361664106496' then 2 + when class.class_id = '1503644362788179968' then 4 + when class.class_id = '1503644362234531840' then 5 + else 3 end) AS order_no + FROM + PDM_BI_Formula Formula + inner JOIN PDM_BI_FormulaDtl dtl ON dtl.formula_id = Formula.formula_id + inner JOIN md_me_materialbase mater1 ON mater1.material_id = Formula.material_id + inner JOIN md_pb_classstandard class ON class.class_id = dtl.material_id + WHERE 1=1 and dtl.material_type='02' + OPTION 输入.begin_time <> "" + Formula.create_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + Formula.create_time <= 输入.end_time + ENDOPTION + OPTION 输入.pcsn <> "" + Formula.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.status <> "" + Formula.status = 输入.status + ENDOPTION + OPTION 输入.material_code <> "" + (mater1.material_code like 输入.material_code or + mater1.material_name like 输入.material_code) + ENDOPTION - OPTION 输入.end_time <> "" - work.create_time <= 输入.end_time - ENDOPTION - - OPTION 输入.pcsn <> "" - work.pcsn like 输入.pcsn - ENDOPTION - - OPTION 输入.status <> "" - work.status = 输入.status - ENDOPTION - - OPTION 输入.material_code <> "" - (mater.material_code like 输入.material_code or - mater.material_name like 输入.material_code) - ENDOPTION + group by material_id + order by order_no,material_code ENDSELECT ENDQUERY diff --git a/mes/qd/src/views/wms/statistics/powderOrderQuery/index.vue b/mes/qd/src/views/wms/statistics/powderOrderQuery/index.vue index 718aac99..907bb8d0 100644 --- a/mes/qd/src/views/wms/statistics/powderOrderQuery/index.vue +++ b/mes/qd/src/views/wms/statistics/powderOrderQuery/index.vue @@ -63,7 +63,7 @@ @change="hand" > @@ -121,7 +121,7 @@ import Date from '@/utils/datetime' export default { name: 'Powderorder', - dicts: ['workorder_status'], + dicts: ['formula_status'], components: { pagination, crudOperation, rrOperation }, mixins: [presenter(), header(), crud()], cruds() { @@ -161,15 +161,16 @@ export default { // 钩子:在获取表格数据之前执行,false 则代表不获取数据 [CRUD.HOOK.beforeRefresh]() { this.crud.data = [] + this.cols = [] if (this.query_flag) { this.crud.query.begin_time = (new Date().daysAgo(7)).strftime('%F', 'zh') this.crud.query.end_time = (new Date()).strftime('%F', 'zh') this.query_flag = false - const now = this.crud.query - crudPowderorder.getHeader(now).then(res => { - this.cols = res - }) } + const now = this.crud.query + crudPowderorder.getHeader(now).then(res => { + this.cols = res + }) return true }, onInput() {