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