From 06a3ea258dac8fc1d3d34bb94885cced7c14122a Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Mon, 14 Nov 2022 19:54:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PerformancemstServiceImpl.java | 10 +- .../nl/wms/pdm/wql/QPDM_PRODUCTPLANPROC.wql | 48 +++-- .../service/impl/PhysicalMstServiceImpl.java | 8 +- .../st/core/rest/CheckOutBillController.java | 7 + .../st/core/service/CheckOutBillService.java | 8 + .../service/impl/CheckOutBillServiceImpl.java | 32 ++++ .../wms/st/core/wql/QST_IVT_CHECKOUTBILL.wql | 67 +++++++ .../service/StatisticalReportService.java | 1 + .../service/impl/IostordailyServiceImpl.java | 26 ++- .../service/impl/IvtQueryServiceImpl.java | 10 +- .../impl/StatisticalReportServiceImpl.java | 17 +- .../nl/wms/statistics/wql/Qivt_query_01.wql | 101 +++++++++++ .../wql/SendReceiveQuery_query_01.wql | 86 +++++++++ .../wql/statistical_report_query_01.wql | 166 +++++++++++++++++- .../src/views/wms/pa/workloadstat/index.vue | 2 +- .../wms/statistics/ioStorQuery/index.vue | 16 +- .../views/wms/statistics/ivtQuery/index.vue | 12 +- .../wms/statistics/productInstor/index.vue | 14 ++ .../wms/statistics/sendReceiveQuery/index.vue | 93 +--------- 19 files changed, 582 insertions(+), 142 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pa/service/impl/PerformancemstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pa/service/impl/PerformancemstServiceImpl.java index e85394bb..e2b21c94 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pa/service/impl/PerformancemstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pa/service/impl/PerformancemstServiceImpl.java @@ -287,10 +287,10 @@ public class PerformancemstServiceImpl implements PerformancemstService { map1.put("flag", "10"); JSONObject jsonAllTotalNum = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map1).process().uniqueResult(0); jsonAllTotal.put(json2.getString("assessor_id"),jsonAllTotalNum.getString("num")); - + String eta = "0"; // 计算工时效率:总积分 / 总出勤时间 try { - String eta = NumberUtil.div(jsonAllTotalNum.getString("num"), jsonAllTimeNum.getString("num")).toString(); + eta = NumberUtil.div(jsonAllTotalNum.getString("num"), jsonAllTimeNum.getString("num")).toString(); jsonEta.put(json2.getString("assessor_id"),NumberUtil.round(eta, 2)); } catch (Exception e) { jsonEta.put(json2.getString("assessor_id"),"0"); @@ -318,7 +318,7 @@ public class PerformancemstServiceImpl implements PerformancemstService { // 与班组平均对比计算结果 try { - String contrast = NumberUtil.sub(jsonEta.getString(json2.getString("assessor_id")), String.valueOf(NumberUtil.div(allPersonTotal, allPersonTime))).toString(); + String contrast = NumberUtil.sub(eta, String.valueOf(NumberUtil.div(allPersonTotal, allPersonTime))).toString(); jsonContrast.put(json2.getString("assessor_id"),NumberUtil.round(contrast, 2)); } catch (Exception e) { jsonContrast.put(json2.getString("assessor_id"),"0"); @@ -327,8 +327,8 @@ public class PerformancemstServiceImpl implements PerformancemstService { //查询出有多少个员工 要用到它们的个数 JSONArray jsonArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParam("flag", "5").process().getResultJSONArray(0); - json.put(String.valueOf(jsonArr.size() + 2), total); - json.put(String.valueOf(jsonArr.size() + 1), average); + json.put(String.valueOf(jsonArr.size() + 2), NumberUtil.round(total, 2)); + json.put(String.valueOf(jsonArr.size() + 1), NumberUtil.round(average, 2)); are.add(json); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTPLANPROC.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTPLANPROC.wql index bd249700..576f8529 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTPLANPROC.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTPLANPROC.wql @@ -87,25 +87,39 @@ IF 输入.flag = "2" PAGEQUERY SELECT - pp.*, - ext.old_mark, - ext.standard_mark, - ext.standard_weight_pft AS standard_weight, - materialbase.material_type_id, - ext.product_series, - deviceinfo.device_id, - deviceinfo.device_name + pp.*, + ext.old_mark, + ext.standard_mark, + ext.standard_weight_pft AS standard_weight, + materialbase.material_type_id, + ext.product_series, + deviceinfo.device_id, + deviceinfo.device_name FROM - PCS_IF_ProductPlanProc pp - LEFT JOIN md_me_materialbase materialbase ON pp.material_id = materialbase.material_id - LEFT JOIN MD_ME_ProducMaterialExt ext ON pp.material_id = ext.material_id - INNER JOIN MPS_BD_CapacityTemplateWorkDevice WorkDevice ON concat(ext.product_series) = concat(WorkDevice.product_series_id) - LEFT JOIN em_bi_deviceinfo deviceinfo ON deviceinfo.device_id = WorkDevice.device_id + PCS_IF_ProductPlanProc pp + LEFT JOIN md_me_materialbase materialbase ON pp.material_id = materialbase.material_id + LEFT JOIN MD_ME_ProducMaterialExt ext ON pp.material_id = ext.material_id + INNER JOIN ( + SELECT + WorkDevice.workprocedure_id, + WorkDevice.product_series_id, + WorkDevice.captemplate_id, + MAX( WorkDevice.device_id ) AS device_id + FROM + MPS_BD_CapacityTemplateWorkDevice WorkDevice + WHERE + 1 = 1 + AND WorkDevice.captemplate_id = '1534741977764073472' + AND WorkDevice.workprocedure_id = '1472449923327856640' + GROUP BY + WorkDevice.workprocedure_id, + WorkDevice.product_series_id, + WorkDevice.captemplate_id + ) WorkDevice2 ON concat( ext.product_series ) = concat( WorkDevice2.product_series_id ) + LEFT JOIN em_bi_deviceinfo deviceinfo ON deviceinfo.device_id = WorkDevice2.device_id WHERE - 1 = 1 - AND pp.is_proc IN ( '1', '2' ) - AND WorkDevice.captemplate_id = '1534741977764073472' - AND WorkDevice.workprocedure_id = '1472449923327856640' + 1 = 1 + AND pp.is_proc IN ( '1', '2' ) OPTION 输入.is_proc <> "" pp.is_proc = 输入.is_proc ENDOPTION diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/PhysicalMstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/PhysicalMstServiceImpl.java index c7882f77..13a1ec37 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/PhysicalMstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/PhysicalMstServiceImpl.java @@ -906,15 +906,15 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { JwtUserDto currentUser = (JwtUserDto) SecurityUtils.getCurrentUser(); Long deptId = currentUser.getDeptId(); - JSONObject oldPhyMst = phyMstTab.query("inspection_id = '" + json.getString("inspection_id") + "'").uniqueResult(0); - JSONArray oldPhydtlArr = phyDtlTab.query("inspection_id = '" + json.getString("inspection_id") + "'").getResultJSONArray(0); + JSONObject oldPhyMst = phyMstTab.query("is_delete='0' and inspection_id = '" + json.getString("inspection_id") + "'").uniqueResult(0); + JSONArray oldPhydtlArr = phyDtlTab.query("is_delete='0' and inspection_id = '" + json.getString("inspection_id") + "'").getResultJSONArray(0); // 单据状态必须为确认 if (!StrUtil.equals(oldPhyMst.getString("bill_status"), "99")) throw new BadRequestException("单据状态必须为完成!"); // 校验是否有相同批次物料的单据正在检测中 String material_id = oldPhyMst.getString("material_id"); String pcsn = oldPhyMst.getString("pcsn"); - JSONObject jsonObject = phyMstTab.query("material_id ='" + material_id + "' AND pcsn = '" + pcsn + "' AND bill_status ='30'").uniqueResult(0); + JSONObject jsonObject = phyMstTab.query("is_delete='0' and material_id ='" + material_id + "' AND pcsn = '" + pcsn + "' AND bill_status ='30'").uniqueResult(0); if (ObjectUtil.isNotEmpty(jsonObject)) throw new BadRequestException("此单据有正在检测中的单据"); // 新增新的理化单主表 @@ -949,7 +949,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { sheetdtl.put("grade", ""); sheetDtlTab.update(sheetdtl); // 更新一级质检单主表 - JSONObject sheetMst = sheetMstTab.query("inspection_id = '" + sheetdtl.getString("inspection_id") + "'").uniqueResult(0); + JSONObject sheetMst = sheetMstTab.query("is_delete='0' and inspection_id = '" + sheetdtl.getString("inspection_id") + "'").uniqueResult(0); sheetMst.put("bill_status", "30"); sheetMst.put("confirm_optid", ""); sheetMst.put("confirm_optname", ""); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/rest/CheckOutBillController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/rest/CheckOutBillController.java index 9f94e8e1..6cc17176 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/rest/CheckOutBillController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/rest/CheckOutBillController.java @@ -30,6 +30,13 @@ public class CheckOutBillController { return new ResponseEntity<>(checkOutBillService.pageQuery(whereJson,page), HttpStatus.OK); } + @GetMapping("/checkoutbill2") + @Log("查询出库单") + @ApiOperation("查询出库单") + public ResponseEntity checkoutbill2(@RequestParam Map whereJson, Pageable page){ + return new ResponseEntity<>(checkOutBillService.pageQuery2(whereJson,page), HttpStatus.OK); + } + @GetMapping("/addDtl") @Log("查询出库单") @ApiOperation("查询出库单") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/service/CheckOutBillService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/service/CheckOutBillService.java index f3f0b83d..df6b160d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/service/CheckOutBillService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/service/CheckOutBillService.java @@ -15,6 +15,14 @@ public interface CheckOutBillService { * @return Map */ Map pageQuery(Map whereJson, Pageable page); + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map pageQuery2(Map whereJson, Pageable page); /** * 查询数据分页 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/service/impl/CheckOutBillServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/service/impl/CheckOutBillServiceImpl.java index 736a4fd1..b5035cc9 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/service/impl/CheckOutBillServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/service/impl/CheckOutBillServiceImpl.java @@ -66,6 +66,38 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { return jo; } + @Override + public Map pageQuery2(Map whereJson, Pageable page) { + HashMap map = new HashMap<>(whereJson); + map.put("flag", "1"); + + if (StrUtil.isNotEmpty(map.get("bill_code"))) { + map.put("bill_code", "%" + map.get("bill_code") + "%"); + } + String deptIds = DataAuthUtil.getDeptStr(); + map.put("deptIds", deptIds); + if (StrUtil.isNotEmpty(map.get("buss_type"))) { + map.put("buss_type", whereJson.get("buss_type") + "%"); + } + if (StrUtil.isNotEmpty(map.get("io_type"))) { + map.put("io_type", map.get("io_type")); + } + if (StrUtil.isNotEmpty(map.get("pcsn"))) { + map.put("pcsn", "%" + map.get("pcsn") + "%"); + } + if (StrUtil.isNotEmpty(map.get("material_code"))) { + map.put("material_code", "%" + map.get("material_code") + "%"); + } + JSONObject jo = WQL.getWO("QST_IVT_CHECKOUTBILL").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "bill_code desc"); + JSONArray json = jo.getJSONArray("content"); + map.put("flag", "11"); + JSONObject jo2 = WQL.getWO("QST_IVT_CHECKOUTBILL").addParamMap(map).process().uniqueResult(0); + jo2.put("bill_code","合计"); + json.add(jo2); + jo.put("content",json); + return jo; + } + @Override public Map queryAddDtl(Map whereJson, Pageable page) { HashMap map = new HashMap<>(whereJson); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/wql/QST_IVT_CHECKOUTBILL.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/wql/QST_IVT_CHECKOUTBILL.wql index 6acba131..477da117 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/wql/QST_IVT_CHECKOUTBILL.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/core/wql/QST_IVT_CHECKOUTBILL.wql @@ -125,6 +125,73 @@ ENDPAGEQUERY ENDIF + IF 输入.flag = "11" + QUERY + SELECT + sum(outq.total_qty) AS total_qty + FROM + ( + SELECT + ios.iostorinv_id AS id, + ios.*, + user.nick_name AS upload_optname + FROM + ST_IVT_IOStorInv ios + inner join (SELECT + invdtl.iostorinv_id + FROM + st_ivt_iostorinvdtl invdtl + LEFT JOIN md_me_materialbase mb ON mb.material_id = invdtl.material_id + where 1=1 + OPTION 输入.quality_scode <> "" + invdtl.quality_scode = 输入.quality_scode + ENDOPTION + OPTION 输入.pcsn <> "" + invdtl.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.material_code <> "" + (mb.material_code like 输入.material_code or mb.material_name like 输入.material_code) + ENDOPTION + group by iostorinv_id) dtlcopy on dtlcopy.iostorinv_id = ios.iostorinv_id + LEFT JOIN sys_user user ON user.user_id = ios.upload_optid + WHERE 1=1 + and ios.is_delete='0' + OPTION 输入.bill_code <> "" + ios.bill_code like 输入.bill_code + ENDOPTION + OPTION 输入.io_type <> "" + ios.io_type = 输入.io_type + ENDOPTION + OPTION 输入.buss_type <> "" + ios.buss_type like 输入.buss_type + ENDOPTION + OPTION 输入.bill_type <> "" + ios.bill_type = 输入.bill_type + ENDOPTION + OPTION 输入.stor_id <> "" + ios.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.deptIds <> "" + ios.sysdeptid in 输入.deptIds + ENDOPTION + OPTION 输入.create_mode <> "" + ios.create_mode = 输入.create_mode + ENDOPTION + OPTION 输入.bill_status <> "" + ios.bill_status = 输入.bill_status + ENDOPTION + OPTION 输入.begin_time <> "" + ios.input_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + ios.input_time <= 输入.end_time + ENDOPTION + ) outq + where 1=1 + ENDSELECT + ENDQUERY + ENDIF + IF 输入.flag = "2" QUERY SELECT diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/StatisticalReportService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/StatisticalReportService.java index 965b533f..8f4789d1 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/StatisticalReportService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/StatisticalReportService.java @@ -1,6 +1,7 @@ package org.nl.wms.statistics.service; import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import org.springframework.data.domain.Pageable; import java.util.Map; diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IostordailyServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IostordailyServiceImpl.java index ebec7f8c..c95ee004 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IostordailyServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IostordailyServiceImpl.java @@ -60,6 +60,7 @@ public class IostordailyServiceImpl implements IostordailyService { if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", "%" + pcsn + "%"); JSONObject json = WQL.getWO("SendReceiveQuery_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "da.sect_date desc"); + /* * 处理所属组织 * 1.PG粉所属组织:通过物料编码+批次找工令所属组织来获取 @@ -70,6 +71,7 @@ public class IostordailyServiceImpl implements IostordailyService { WQLObject deptTab = WQLObject.getWQLObject("sys_dept"); // 部门表 JSONArray contentArr = json.getJSONArray("content"); + JSONArray ja = new JSONArray(); for (int i = 0; i < contentArr.size(); i++) { JSONObject jsonObject = contentArr.getJSONObject(i); String material_id = jsonObject.getString("material_id"); @@ -81,10 +83,16 @@ public class IostordailyServiceImpl implements IostordailyService { if (is_pgf) { JSONObject jsonWork = workTab.query("material_id = '" + material_id + "' and pcsn = '" + pcsn_1 + "' and is_delete ='0'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonWork)) continue; + if (ObjectUtil.isEmpty(jsonWork)) { + ja.add(jsonObject); + continue; + } JSONObject jsonDept = deptTab.query("dept_id = '" + jsonWork.getString("org_id") + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonDept)) jsonObject.put("dept_name", jsonDept.getString("name")); + if (ObjectUtil.isNotEmpty(jsonDept)) { + jsonObject.put("dept_name", jsonDept.getString("name")); + ja.add(jsonObject); + } } if (is_rf) { @@ -94,19 +102,27 @@ public class IostordailyServiceImpl implements IostordailyService { String material_code_sub = material_code_1.substring(0, lastIndexOf); JSONArray workArr = WQL.getWO("SendReceiveQuery_query_01").addParam("flag", "3").addParam("material_code", material_code_sub).process().getResultJSONArray(0); - if (ObjectUtil.isEmpty(workArr)) continue; + if (ObjectUtil.isEmpty(workArr)) { + ja.add(jsonObject); + continue; + } if (workArr.size() > 1) { jsonObject.put("is_yellow", "1"); JSONObject json_1 = workArr.getJSONObject(0); jsonObject.put("dept_name",json_1.getString("dept_name")); + ja.add(jsonObject); } else { JSONObject json_1 = workArr.getJSONObject(0); jsonObject.put("dept_name",json_1.getString("dept_name")); + ja.add(jsonObject); } } - } - + map.put("flag", "11"); + JSONObject jo2 = WQL.getWO("SendReceiveQuery_query_01").addParamMap(map).process().uniqueResult(0); + jo2.put("stor_name","合计"); + ja.add(jo2); + json.put("content",ja); return json; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IvtQueryServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IvtQueryServiceImpl.java index d150cf89..a625fb0a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IvtQueryServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IvtQueryServiceImpl.java @@ -65,8 +65,14 @@ public class IvtQueryServiceImpl implements IvtQueryService { map.put("sects",str); } } - JSONObject json = WQL.getWO("Qivt_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "ivt.instorage_time desc"); - return json; + JSONObject jo = WQL.getWO("Qivt_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "ivt.instorage_time desc"); + JSONArray json = jo.getJSONArray("content"); + map.put("flag", "11"); + JSONObject jo2 = WQL.getWO("Qivt_query_01").addParamMap(map).process().uniqueResult(0); + jo2.put("stor_name","合计"); + json.add(jo2); + jo.put("content",json); + return jo; } @Override 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 3b8fc42d..dad51080 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 @@ -20,6 +20,7 @@ import org.nl.wql.core.bean.WQLObject; import org.nl.wql.util.WqlUtil; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.Date; @@ -47,8 +48,14 @@ public class StatisticalReportServiceImpl implements StatisticalReportService { } - JSONObject json = WQL.getWO("statistical_report_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "create_time desc"); - return json; + JSONObject jo = WQL.getWO("statistical_report_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "create_time desc"); + JSONArray json = jo.getJSONArray("content"); + map.put("flag", "11"); + JSONObject jo2 = WQL.getWO("statistical_report_query_01").addParamMap(map).process().uniqueResult(0); + jo2.put("material_code","合计"); + json.add(jo2); + jo.put("content",json); + return jo; } @Override @@ -74,6 +81,12 @@ public class StatisticalReportServiceImpl implements StatisticalReportService { map.put("material_code", "%" + map.get("material_code") + "%"); } JSONObject jo = WQL.getWO("statistical_report_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "bill_code desc"); + JSONArray json = jo.getJSONArray("content"); + map.put("flag", "22"); + JSONObject jo2 = WQL.getWO("statistical_report_query_01").addParamMap(map).process().uniqueResult(0); + jo2.put("biz_date","合计"); + json.add(jo2); + jo.put("content",json); return jo; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/Qivt_query_01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/Qivt_query_01.wql index 0e4b451d..dc320cde 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/Qivt_query_01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/Qivt_query_01.wql @@ -144,6 +144,107 @@ ENDPAGEQUERY ENDIF + IF 输入.flag = "11" + QUERY + SELECT + sum(outq.bucket_num) AS bucket_num, + sum(outq.ivt_qty) AS ivt_qty, + sum(outq.canuse_qty) AS canuse_qty, + sum(outq.frozen_qty) AS frozen_qty, + sum(outq.warehousing_qty) AS warehousing_qty + FROM + ( + SELECT + struct.stor_name, + struct.sect_name, + struct.struct_code, + struct.struct_name, + struct.storagevehicle_code, + me.material_code, + me.material_name, + me.material_spec, + me.material_model, + ivt.quality_scode, + ivt.ivt_level, + ivt.is_active, + ivt.pcsn, + ivt.ivt_qty, + ivt.canuse_qty, + ivt.frozen_qty, + ivt.warehousing_qty, + ivt.qty_unit_name, + ivt.instorage_time, + bucket.bucket_num + FROM + ST_IVT_StructIvt ivt + LEFT JOIN ST_IVT_StructAttr struct ON ivt.struct_id = struct.struct_id + LEFT JOIN MD_ME_MaterialBase me ON me.material_id = ivt.material_id + LEFT JOIN MD_PB_ClassStandard class ON class.class_id = me.material_type_id + LEFT JOIN ( + SELECT + COUNT(*) AS bucket_num, + br.storagevehicle_code, + br.material_id, + br.pcsn, + br.is_active, + br.ivt_level, + br.quality_scode + FROM + MD_PB_BucketRecord br + WHERE 1=1 + GROUP BY + br.storagevehicle_code, + br.material_id, + br.pcsn, + br.is_active, + br.ivt_level, + br.quality_scode + ) bucket ON (bucket.storagevehicle_code = struct.storagevehicle_code + and bucket.material_id=ivt.material_id + and bucket.pcsn=ivt.pcsn + and bucket.is_active=ivt.is_active + and bucket.ivt_level=ivt.ivt_level + and bucket.quality_scode=ivt.quality_scode) + WHERE 1=1 + OPTION 输入.stor_id <> "" + struct.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.sects <> "" + struct.sect_id in 输入.sects + ENDOPTION + OPTION 输入.material_name <> "" + ( me.material_name like "%" 输入.material_name "%" or me.material_code like "%" 输入.material_name "%" ) + ENDOPTION + OPTION 输入.storagevehicle_code <> "" + (struct.storagevehicle_code like "%" 输入.storagevehicle_code "%") + ENDOPTION + OPTION 输入.struct_name <> "" + ( struct.struct_name like "%" 输入.struct_name "%" or struct.struct_code like "%" 输入.struct_name "%" ) + ENDOPTION + OPTION 输入.is_active <> "" + ivt.is_active = 输入.is_active + ENDOPTION + OPTION 输入.ivt_level <> "" + ivt.ivt_level = 输入.ivt_level + ENDOPTION + OPTION 输入.quality_scode <> "" + ivt.quality_scode = 输入.quality_scode + ENDOPTION + OPTION 输入.pcsn <> "" + ivt.pcsn like "%" 输入.pcsn "%" + ENDOPTION + OPTION 输入.material_model <> "" + me.material_model like "%" 输入.material_model "%" + ENDOPTION + OPTION 输入.classIds <> "" + class.class_id in 输入.classIds + ENDOPTION + ) outq + where 1=1 + ENDSELECT + ENDQUERY + ENDIF + IF 输入.flag = "2" PAGEQUERY SELECT diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/SendReceiveQuery_query_01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/SendReceiveQuery_query_01.wql index 531e127b..bc111e1b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/SendReceiveQuery_query_01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/SendReceiveQuery_query_01.wql @@ -127,6 +127,92 @@ ENDPAGEQUERY ENDIF + IF 输入.flag = "11" + QUERY + SELECT + sum(outq.start_num) AS start_num, + sum(outq.in_num) AS in_num, + sum(outq.out_num) AS out_num, + sum(outq.end_num) AS end_num + FROM + ( + SELECT + stor.stor_name, + da.sect_date, + da.is_active, + da.ivt_level, + da.pcsn, + da.quality_scode, + class.class_name, + class.class_code, + mater.material_id, + mater.material_code, + mater.material_name, + mater.material_model, + unit.unit_name, + da.start_num, + da.in_num, + da.out_num, + da.end_num, + da.more_num, + da.less_num + FROM( + SELECT + sum(start_num) AS start_num, + sum(in_num ) AS in_num, + sum(out_num ) AS out_num, + sum(end_num) AS end_num, + sum(more_num) AS more_num, + sum(less_num) AS less_num, + max(material_id) AS material_id, + max(stor_id) AS stor_id, + max(sect_date) AS sect_date, + max(quality_scode) AS quality_scode, + max(pcsn) AS pcsn, + max(ivt_level) AS ivt_level, + max(is_active) AS is_active + FROM + ST_IVT_IOStorDaily a + GROUP BY + a.material_id, + a.quality_scode, + a.pcsn, + a.ivt_level, + a.is_active, + a.sect_date + ) AS da + LEFT JOIN MD_ME_MaterialBase mater ON da.material_id = mater.material_id + LEFT JOIN md_pb_classstandard class ON mater.material_type_id = class.class_id + LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = mater.base_unit_id + LEFT JOIN st_ivt_bsrealstorattr stor ON stor.stor_id = da.stor_id + WHERE 1=1 + OPTION 输入.stor_id <> "" + stor.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.begin_time <> "" + da.sect_date >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + da.sect_date <= 输入.end_time + ENDOPTION + + OPTION 输入.material_code <> "" + (mater.material_code like 输入.material_code or + mater.material_name like 输入.material_code) + ENDOPTION + OPTION 输入.pcsn <> "" + (da.pcsn like 输入.pcsn or + da.pcsn like 输入.pcsn) + ENDOPTION + OPTION 输入.classIds <> "" + class.class_id in 输入.classIds + ENDOPTION + ) outq + where 1=1 + ENDSELECT + ENDQUERY + ENDIF + IF 输入.flag = "2" QUERY SELECT 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 70ce19b6..56a7453c 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 @@ -57,8 +57,9 @@ SELECT MAX( mb.material_code ) AS material_code, SUM( off.qty ) AS qty, - MAX( off.material_id) AS material_id, - MAX( off.pcsn) AS pcsn, + off.material_id, + off.pcsn, + wo.org_id, MAX( off.create_time ) AS create_time, MAX( off.create_name ) AS create_name, MAX( wo.planend_time ) AS planend_time, @@ -67,11 +68,11 @@ MAX( ext.old_mark) AS old_mark FROM pdm_bi_procedureoffline off - LEFT JOIN pdm_bi_workorder wo ON wo.workorder_id = off.workorder_id + LEFT JOIN pdm_bi_workorder wo ON (wo.material_id = off.material_id and wo.pcsn = off.pcsn) LEFT JOIN md_me_materialbase mb ON mb.material_id = off.material_id LEFT JOIN md_me_producmaterialext ext ON ext.material_id = off.material_id WHERE - 1=1 + 1=1 and wo.is_delete='0' OPTION 输入.material_code <> "" ( mb.material_code like 输入.material_code @@ -84,7 +85,8 @@ ENDOPTION GROUP BY off.material_id, - off.pcsn + off.pcsn, + wo.org_id HAVING 1=1 OPTION 输入.begin_time <> "" @@ -97,6 +99,59 @@ ENDPAGEQUERY ENDIF + IF 输入.flag = "11" + QUERY + SELECT + sum(outq.qty) AS qty + FROM + ( + SELECT + MAX( mb.material_code ) AS material_code, + SUM( off.qty ) AS qty, + off.material_id, + off.pcsn, + wo.org_id, + MAX( off.create_time ) AS create_time, + MAX( off.create_name ) AS create_name, + MAX( wo.planend_time ) AS planend_time, + MAX( wo.realend_time ) AS realend_time, + datediff (MAX( wo.planend_time ),MAX( wo.realend_time )) AS off_days, + MAX( ext.old_mark) AS old_mark + FROM + pdm_bi_procedureoffline off + LEFT JOIN pdm_bi_workorder wo ON (wo.material_id = off.material_id and wo.pcsn = off.pcsn) + LEFT JOIN md_me_materialbase mb ON mb.material_id = off.material_id + LEFT JOIN md_me_producmaterialext ext ON ext.material_id = off.material_id + WHERE + 1=1 and wo.is_delete='0' + OPTION 输入.material_code <> "" + ( + mb.material_code like 输入.material_code + OR + mb.material_name like 输入.material_code + ) + ENDOPTION + OPTION 输入.pcsn <> "" + off.pcsn = 输入.pcsn + ENDOPTION + GROUP BY + off.material_id, + off.pcsn, + wo.org_id + HAVING + 1=1 + OPTION 输入.begin_time <> "" + create_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + create_time <= 输入.end_time + ENDOPTION + ) outq + where 1=1 + ENDSELECT + ENDQUERY + ENDIF + IF 输入.flag = "2" PAGEQUERY SELECT @@ -176,6 +231,107 @@ ENDPAGEQUERY ENDIF + IF 输入.flag = "22" + QUERY + SELECT + sum(outq.out_qty) AS out_qty, + sum(outq.in_qty) AS in_qty + FROM + ( + SELECT + mst.biz_date, + mst.iostorinv_id, + mst.bill_type, + mst.io_type, + mst.stor_name, + mst.input_optname, + dept.`name`, + sup.supp_name, + class.class_code, + class.class_name, + class2.class_code AS parent_class_code, + class2.class_name AS parent_class_name, + mst.bill_code, + mb.material_code, + mb.material_name, + dtl.pcsn, + dtl.qty_unit_name, + ( + CASE + WHEN io_type = '0' THEN + '' + WHEN io_type = '1' + AND bill_type = '010701' THEN + CONCAT('-', real_qty) + ELSE + dtl.real_qty + END + ) AS out_qty, + ( + CASE + WHEN io_type = '1' THEN + '' + WHEN io_type = '0' + AND bill_type = '000501' THEN + CONCAT('-', real_qty) + ELSE + dtl.real_qty + END + ) AS in_qty + FROM + st_ivt_iostorinvdtl dtl + LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dtl.iostorinv_id + LEFT JOIN sys_dept dept ON dept.dept_id = mst.sysdeptid + LEFT JOIN pcs_if_purchaseorderproc proc ON proc.id = dtl.base_billdtl_id + LEFT JOIN md_cs_supplierbase sup ON sup.ext_id = proc.VEND_ID + LEFT JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id + LEFT JOIN md_pb_classstandard class ON class.class_id = mb.material_type_id + LEFT JOIN md_pb_classstandard class2 ON class2.class_id = class.parent_class_id + WHERE + 1 = 1 + AND mst.is_delete = '0' + OPTION 输入.bill_code <> "" + mst.bill_code like 输入.bill_code + ENDOPTION + OPTION 输入.io_type <> "" + mst.io_type = 输入.io_type + ENDOPTION + OPTION 输入.buss_type <> "" + mst.buss_type like 输入.buss_type + ENDOPTION + OPTION 输入.bill_type <> "" + mst.bill_type = 输入.bill_type + ENDOPTION + OPTION 输入.stor_id <> "" + mst.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.deptIds <> "" + mst.sysdeptid in 输入.deptIds + ENDOPTION + OPTION 输入.bill_status <> "" + mst.bill_status = 输入.bill_status + ENDOPTION + OPTION 输入.begin_time <> "" + mst.input_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + mst.input_time <= 输入.end_time + ENDOPTION + OPTION 输入.quality_scode <> "" + dtl.quality_scode = 输入.quality_scode + ENDOPTION + OPTION 输入.pcsn <> "" + dtl.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.material_code <> "" + (mb.material_code like 输入.material_code or mb.material_name like 输入.material_code) + ENDOPTION + ) outq + where 1=1 + ENDSELECT + ENDQUERY + ENDIF + IF 输入.flag = "3" QUERY SELECT DISTINCT diff --git a/mes/qd/src/views/wms/pa/workloadstat/index.vue b/mes/qd/src/views/wms/pa/workloadstat/index.vue index 23b92aca..5909acbd 100644 --- a/mes/qd/src/views/wms/pa/workloadstat/index.vue +++ b/mes/qd/src/views/wms/pa/workloadstat/index.vue @@ -62,7 +62,7 @@ > diff --git a/mes/qd/src/views/wms/statistics/ioStorQuery/index.vue b/mes/qd/src/views/wms/statistics/ioStorQuery/index.vue index 19cc346d..544699c2 100644 --- a/mes/qd/src/views/wms/statistics/ioStorQuery/index.vue +++ b/mes/qd/src/views/wms/statistics/ioStorQuery/index.vue @@ -198,15 +198,15 @@ > - - + + - - - - + + + + - + @@ -247,7 +247,7 @@ export default { props: { // 每页数据条数 size: 20 - },idField: 'iostorinv_id', url: 'api/checkoutbill', crudMethod: { ...checkoutbill }, + },idField: 'iostorinv_id', url: 'api/checkoutbill/checkoutbill2', crudMethod: { ...checkoutbill }, optShow: { add: false, edit: false, diff --git a/mes/qd/src/views/wms/statistics/ivtQuery/index.vue b/mes/qd/src/views/wms/statistics/ivtQuery/index.vue index 6c7e1dba..abb3bee3 100644 --- a/mes/qd/src/views/wms/statistics/ivtQuery/index.vue +++ b/mes/qd/src/views/wms/statistics/ivtQuery/index.vue @@ -160,7 +160,7 @@ - +