diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IostordailyServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IostordailyServiceImpl.java index 64cae5f53..260dc0c11 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IostordailyServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IostordailyServiceImpl.java @@ -57,61 +57,14 @@ public class IostordailyServiceImpl implements IostordailyService { map.put("material_code", "%" + material_code + "%"); } 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粉所属组织:通过物料编码+批次找工令所属组织来获取 - * 2.软废所属组织:物料编码去掉后缀 例如:-YZ 找最近完成的工令获取所属组织,若还有其他事业部,页面单元格底色标黄色 - * 3.除PG粉和软废外其他类型物料所属组织取不到 为空就行 - */ - WQLObject workTab = WQLObject.getWQLObject("PDM_BI_WorkOrder"); // 工令表 - WQLObject deptTab = WQLObject.getWQLObject("sys_dept"); // 部门表 - - JSONArray contentArr = json.getJSONArray("content"); - for (int i = 0; i < contentArr.size(); i++) { - JSONObject jsonObject = contentArr.getJSONObject(i); - String material_id = jsonObject.getString("material_id"); - String pcsn_1 = jsonObject.getString("pcsn"); - - /*// 判断物料是PG粉还是软废 - boolean is_pgf = materialbaseService.isAlongMaterType(MaterOptTypeEnum.PGF.getCode(), material_id, null); - boolean is_rf = materialbaseService.isAlongMaterType(MaterOptTypeEnum.RF.getCode(), material_id, null); - - 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; - - JSONObject jsonDept = deptTab.query("dept_id = '" + jsonWork.getString("org_id") + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonDept)) jsonObject.put("dept_name", jsonDept.getString("name")); - } - - if (is_rf) { - // 截取 "-" 最后出现的前面的字符串 - String material_code_1 = jsonObject.getString("material_code"); - int lastIndexOf = material_code_1.lastIndexOf('-'); - 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 (workArr.size() > 1) { - jsonObject.put("is_yellow", "1"); - JSONObject json_1 = workArr.getJSONObject(0); - jsonObject.put("dept_name",json_1.getString("dept_name")); - } else { - JSONObject json_1 = workArr.getJSONObject(0); - jsonObject.put("dept_name",json_1.getString("dept_name")); - } - }*/ - - } + JSONObject json = WQL.getWO("SendReceiveQuery").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "da.sect_date desc"); return json; } @Override public JSONArray getStor() { - JSONArray jsonArr = WQL.getWO("SendReceiveQuery_query_01").addParam("flag", "2").process().getResultJSONArray(0); + JSONArray jsonArr = WQL.getWO("SendReceiveQuery").addParam("flag", "2").process().getResultJSONArray(0); return jsonArr; } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/statistics/wql/SendReceiveQuery.wql b/lms/nladmin-system/src/main/java/org/nl/wms/statistics/wql/SendReceiveQuery.wql new file mode 100644 index 000000000..a77b4d90c --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/statistics/wql/SendReceiveQuery.wql @@ -0,0 +1,245 @@ +[交易说明] + 交易名: 收发存分页查询 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.stor_id TYPEAS s_string + 输入.begin_time TYPEAS s_string + 输入.end_time TYPEAS s_string + 输入.material_code TYPEAS s_string + 输入.classIds TYPEAS f_string + 输入.pcsn TYPEAS s_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + PAGEQUERY + SELECT + stor.stor_name, + da.sect_date, + 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 + FROM + ST_IVT_IOStorDaily a + GROUP BY + a.material_id, + a.quality_scode, + a.pcsn, + 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 + + ENDSELECT + 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 + t.stor_name AS label, + t.stor_id AS value + FROM + st_ivt_bsrealstorattr t + WHERE + t.is_delete = '0' + AND t.is_used = '1' + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "3" + QUERY + SELECT + sum(work.ok_qty) AS ok_qty, + dept.name AS dept_name + FROM + PDM_BI_WorkOrder work + INNER JOIN md_me_materialbase mater ON mater.material_id = work.material_id + INNER JOIN sys_dept dept ON dept.dept_id = work.org_id + WHERE + work.is_delete = '0' + + OPTION 输入.material_code <> "" + mater.material_code = 输入.material_code + ENDOPTION + + group by work.org_id + + ENDSELECT + ENDQUERY + ENDIF diff --git a/lms/nladmin-ui/src/views/wms/statistics/sendReceiveQuery/index.vue b/lms/nladmin-ui/src/views/wms/statistics/sendReceiveQuery/index.vue index a4ff9e33d..6e104fa93 100644 --- a/lms/nladmin-ui/src/views/wms/statistics/sendReceiveQuery/index.vue +++ b/lms/nladmin-ui/src/views/wms/statistics/sendReceiveQuery/index.vue @@ -65,15 +65,6 @@ /> - - - @@ -83,16 +74,17 @@ - - + + + - + - + - + @@ -139,7 +131,7 @@ const defaultForm = { } export default { name: 'SendReceiveQuery', - components: { pagination, crudOperation, rrOperation, udOperation, DateRangePicker, Treeselect }, + components: { pagination, crudOperation, rrOperation, udOperation, DateRangePicker }, mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { return CRUD({ @@ -147,7 +139,7 @@ export default { url: 'api/iostordaily', idField: 'stordaily_id', sort: '', - crudMethod: {...crudIostordaily}, + crudMethod: { ...crudIostordaily }, props: { // 每页数据条数 size: 20