diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/rest/PowderOrderQueryController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/rest/PowderOrderQueryController.java index d4cef9a3..a85ef7f3 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/rest/PowderOrderQueryController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/rest/PowderOrderQueryController.java @@ -40,8 +40,8 @@ public class PowderOrderQueryController { @GetMapping("/getHeader") @Log("获取表头") @ApiOperation("获取表头") - public ResponseEntity getHeader() { - return new ResponseEntity<>(powderOrderQueryService.getHeader(), HttpStatus.OK); + public ResponseEntity getHeader(@RequestParam Map whereJson) { + return new ResponseEntity<>(powderOrderQueryService.getHeader(whereJson), HttpStatus.OK); } @ApiOperation("导出数据") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/PowderOrderQueryService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/PowderOrderQueryService.java index fc45f98b..10130d7b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/PowderOrderQueryService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/PowderOrderQueryService.java @@ -20,7 +20,7 @@ public interface PowderOrderQueryService { /** * 获取表头 */ - JSONArray getHeader(); + JSONArray getHeader(Map whereJson); void download(Map whereJson, HttpServletResponse response) throws IOException; 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 b8c8419e..a02e14ae 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 @@ -21,6 +21,7 @@ import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.*; +import java.util.stream.Collectors; @Service @RequiredArgsConstructor @@ -46,7 +47,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 ASC"); + JSONObject resultJson = WQL.getWO("QP_POWDERORDERQUERY01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "work.create_time desc,mater.material_code,work.pcsn"); JSONArray contentArr = resultJson.getJSONArray("content"); JSONArray jsonResultArr = new JSONArray(); @@ -64,20 +65,19 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { 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); jsonResult.put(jsonDtl.getString("material_id")+"",jsonDtl.getString("material_name")); - jsonResult.put(jsonDtl.getString("material_code")+"",jsonDtl.getString("material_code")); if (arr.size() > 1) { String resPcsn = ""; String formula_qty = ""; for (int k = 0; k < arr.size(); k++) { JSONObject jsonObject = arr.getJSONObject(k); resPcsn = resPcsn + jsonObject.getString("pcsn") + "+"; - formula_qty = formula_qty + jsonObject.getString("formula_qty") + "+"; + formula_qty = formula_qty + NumberUtil.round(jsonObject.getDouble("formula_qty"),3)+"+"; } jsonResult.put(jsonDtl.getString("material_id")+"pcsn",resPcsn); jsonResult.put(jsonDtl.getString("material_id") +"formula_qty",formula_qty); } else { jsonResult.put(jsonDtl.getString("material_id")+"pcsn",jsonDtl.getString("pcsn")); - jsonResult.put(jsonDtl.getString("material_id") +"formula_qty",jsonDtl.getString("formula_qty")); + jsonResult.put(jsonDtl.getString("material_id") +"formula_qty",jsonDtl.getDouble("formula_qty")); } } // 碳平衡 @@ -108,12 +108,11 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { } @Override - public JSONArray getHeader() { + public JSONArray getHeader(Map whereJson) { JSONArray jsonResultArr = new JSONArray(); String classIds = classstandardService.getAllChildIdStr(MaterOptTypeEnum.YL_AND_FL_AND_RF.getClass_idStr()); - String RF = classstandardService.getAllChildIdStr(MaterOptTypeEnum.RF.getClass_idStr()); - JSONArray resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "2").addParam("classIds", classIds).process().getResultJSONArray(0); + JSONArray resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "20").addParam("classIds", classIds).process().getResultJSONArray(0); for (int i = 0; i < resultJSONArray.size(); i++) { JSONObject json = resultJSONArray.getJSONObject(i); @@ -185,14 +184,13 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { 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); jsonResult.put(jsonDtl.getString("material_id")+"",jsonDtl.getString("material_name")); - jsonResult.put(jsonDtl.getString("material_code")+"",jsonDtl.getString("material_code")); if (arr.size() > 1) { String resPcsn = ""; String formula_qty = ""; for (int k = 0; k < arr.size(); k++) { JSONObject jsonObject = arr.getJSONObject(k); resPcsn = resPcsn + jsonObject.getString("pcsn") + "+"; - formula_qty = formula_qty + jsonObject.getString("formula_qty") + "+"; + formula_qty = formula_qty + NumberUtil.round(jsonObject.getDouble("formula_qty"),3)+"+"; } jsonResult.put(jsonDtl.getString("material_id")+"pcsn",resPcsn); jsonResult.put(jsonDtl.getString("material_id") +"formula_qty",formula_qty); @@ -225,8 +223,7 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { jsonResultArr.add(jsonResult); } - String classIds = classstandardService.getAllChildIdStr(MaterOptTypeEnum.YL_AND_FL.getClass_idStr()); - String RF = classstandardService.getAllChildIdStr(MaterOptTypeEnum.RF.getClass_idStr()); + String classIds = classstandardService.getAllChildIdStr(MaterOptTypeEnum.YL_AND_FL_AND_RF.getClass_idStr()); List> list = new ArrayList<>(); for (int k = 0; k < jsonResultArr.size(); k++) { @@ -236,7 +233,7 @@ 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", "2").addParam("classIds", classIds).addParam("rf", RF).process().getResultJSONArray(0); + JSONArray resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "20").addParam("classIds", classIds).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 49257afe..f5aeb6ca 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 @@ -1,10 +1,10 @@ [交易说明] 交易名: 粉料开单记录分页查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: [数据库] --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 @@ -20,27 +20,27 @@ 输入.status TYPEAS s_string 输入.material_code TYPEAS s_string 输入.classIds TYPEAS f_string - 输入.rf TYPEAS f_string + 输入.formula_ids TYPEAS f_string 输入.formula_id TYPEAS s_string [临时表] --这边列出来的临时表就会在运行期动态创建 - + [临时变量] --所有中间过程变量均可在此处定义 - + [业务过程] ########################################## # 1、输入输出检查 # ########################################## - + ########################################## # 2、主过程前处理 # ########################################## - - + + ########################################## # 3、业务主过程 # ########################################## @@ -96,60 +96,46 @@ IF 输入.flag = "2" 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, - group_concat(dtl.pcsn separator '+') AS pcsn, - group_concat(dtl.formula_qty separator '+') AS formula_qty, - (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_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 - LEFT JOIN PDM_BI_Formula mst ON dtl.formula_id = mst.formula_id - - WHERE - mst.is_delete= '0' - + mater.material_id AS material_id, + MAX(mater.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_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 + OPTION 输入.formula_ids <> "" + dtl.formula_id in 输入.formula_ids + 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_FormulaDtl dtl + LEFT JOIN md_pb_classstandard class ON class.class_id = dtl.material_id + WHERE 1=1 OPTION 输入.classIds <> "" - mater.material_type_id in 输入.classIds - ENDOPTION - - group by material_id - - union - - SELECT - MAX(dtl.formuladtl_id) AS formuladtl_id, - class.class_id AS material_id, - MAX(class.class_name) AS material_name, - MAX(class.class_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 - 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_FormulaDtl dtl - LEFT JOIN md_pb_classstandard class ON class.class_id = dtl.material_id - LEFT JOIN PDM_BI_Formula mst ON dtl.formula_id = mst.formula_id - - WHERE - mst.is_delete= '0' - - OPTION 输入.classIds <> "" - class.class_id in 输入.classIds - ENDOPTION - - group by material_id - order by order_no,material_code + class.class_id in 输入.classIds + ENDOPTION + OPTION 输入.formula_ids <> "" + dtl.formula_id in 输入.formula_ids + ENDOPTION + group by material_id + order by order_no,material_code ENDSELECT ENDQUERY @@ -167,16 +153,12 @@ FROM PDM_BI_FormulaDtl dtl LEFT JOIN md_me_materialbase mater ON dtl.material_id = mater.material_id - WHERE 1=1 - OPTION 输入.formula_id <> "" dtl.formula_id = 输入.formula_id ENDOPTION - union - SELECT dtl.formuladtl_id, class.class_id AS material_id, @@ -186,17 +168,13 @@ dtl.formula_qty FROM PDM_BI_FormulaDtl dtl - LEFT JOIN md_pb_classstandard class ON class.class_id = dtl.material_id - + LEFT JOIN md_pb_classstandard class ON class.class_id = dtl.material_id WHERE 1=1 - OPTION 输入.formula_id <> "" - dtl.formula_id = 输入.formula_id - ENDOPTION - + OPTION 输入.formula_id <> "" + dtl.formula_id = 输入.formula_id + ENDOPTION order by material_id - - ENDSELECT ENDQUERY ENDIF @@ -245,8 +223,97 @@ mater.material_name like 输入.material_code) ENDOPTION - order by work.create_time ASC + work.create_time desc,mater.material_code,work.pcsn ENDSELECT ENDQUERY ENDIF + + IF 输入.flag = "20" + 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, + group_concat(dtl.pcsn separator '+') AS pcsn, + group_concat(dtl.formula_qty separator '+') AS formula_qty, + (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_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 + group by material_id + union + SELECT + MAX(dtl.formuladtl_id) AS formuladtl_id, + class.class_id AS material_id, + MAX(class.class_name) AS material_name, + MAX(class.class_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 + 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_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 + + group by material_id + order by order_no,material_code + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "21" + QUERY + SELECT + mst.formula_id + 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 + + 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 + + ENDSELECT + ENDQUERY + ENDIF diff --git a/mes/qd/src/api/wms/statistics/powderorder.js b/mes/qd/src/api/wms/statistics/powderorder.js index 517a1f07..06fe4990 100644 --- a/mes/qd/src/api/wms/statistics/powderorder.js +++ b/mes/qd/src/api/wms/statistics/powderorder.js @@ -24,10 +24,11 @@ export function edit(data) { }) } -export function getHeader() { +export function getHeader(params) { return request({ url: 'api/powderOrderQuery/getHeader', - method: 'get' + method: 'get', + params }) } diff --git a/mes/qd/src/views/wms/statistics/powderOrderQuery/index.vue b/mes/qd/src/views/wms/statistics/powderOrderQuery/index.vue index 6a4f69c3..9d210c04 100644 --- a/mes/qd/src/views/wms/statistics/powderOrderQuery/index.vue +++ b/mes/qd/src/views/wms/statistics/powderOrderQuery/index.vue @@ -15,7 +15,16 @@ - + @@ -35,7 +44,7 @@ v-model="query.material_code" clearable size="mini" - placeholder="请输入批次" + placeholder="请输入产品编码" style="width: 230px;" class="filter-item" @keyup.enter.native="crud.toQuery" @@ -87,11 +96,11 @@ @selection-change="crud.selectionChangeHandler" > - - + + @@ -105,16 +114,15 @@ import crudPowderorder from '@/api/wms/statistics/powderorder' import CRUD, { presenter, header, crud } from '@crud/crud' import rrOperation from '@crud/RR.operation' import crudOperation from '@crud/CRUD.operation' -import udOperation from '@crud/UD.operation' import pagination from '@crud/Pagination' -import DateRangePicker from '@/components/DateRangePicker' import {download} from "@/api/data"; import {downloadFile} from "@/utils"; +import Date from '@/utils/datetime' export default { name: 'Powderorder', dicts: ['workorder_status'], - components: { pagination, crudOperation, rrOperation, DateRangePicker }, + components: { pagination, crudOperation, rrOperation }, mixins: [presenter(), header(), crud()], cruds() { return CRUD({ @@ -139,19 +147,44 @@ export default { data() { return { cols: [], + query_flag: true, statusList: [], permission: { }, rules: { }} }, + created() { + this.crud.query.createTime = [new Date().daysAgo(7), new Date()] + }, methods: { // 钩子:在获取表格数据之前执行,false 则代表不获取数据 [CRUD.HOOK.beforeRefresh]() { - crudPowderorder.getHeader().then(res => { + 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 }) }, + onInput() { + this.$forceUpdate() + }, + mytoQuery(array1) { + if (array1 === null) { + this.crud.query.begin_time = '' + this.crud.query.end_time = '' + } else { + this.crud.query.begin_time = array1[0] + this.crud.query.end_time = array1[1] + } + this.crud.toQuery() + }, hand(value) { this.crud.toQuery() },