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 2fd8e3ee..de69600e 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 @@ -67,19 +67,36 @@ public class IvtQueryServiceImpl implements IvtQueryService { } JSONObject jo = WQL.getWO("Qivt_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "me.material_code,me.material_name"); JSONArray json = jo.getJSONArray("content"); + JSONArray ja = new JSONArray(); + for(int i=0;i map = new HashMap<>(); map.put("flag", "1"); - map.put("begin_time", MapUtil.getStr(whereJson, "begin_time")); - map.put("end_time", MapUtil.getStr(whereJson, "end_time")); - map.put("pcsn", MapUtil.getStr(whereJson, "pcsn")); + 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"); + } + String pcsn = MapUtil.getStr(whereJson, "pcsn"); + if (!StrUtil.isEmpty(pcsn)) { + //处理转义字符 + if (pcsn.contains("\\")) { + pcsn = pcsn.replace("\\", "\\\\\\"); + } + map.put("pcsn", "%" + pcsn + "%"); + } if (!StrUtil.isEmpty(material_code)) { //处理转义字符 if (material_code.contains("\\")) { 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 374f0a58..e36772f4 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 @@ -60,6 +60,7 @@ struct.struct_code, struct.struct_name, struct.storagevehicle_code, + ivt.material_id, me.material_code, me.material_name, me.material_spec, @@ -73,139 +74,64 @@ ivt.frozen_qty, ivt.warehousing_qty, ivt.qty_unit_name, - ivt.instorage_time, - bucket.bucket_num + ivt.instorage_time 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) + inner JOIN ST_IVT_StructAttr struct ON ivt.struct_id = struct.struct_id + inner JOIN MD_ME_MaterialBase me ON me.material_id = ivt.material_id + inner JOIN MD_PB_ClassStandard class ON class.class_id = me.material_type_id 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 - + 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 ENDSELECT ENDPAGEQUERY ENDIF IF 输入.flag = "01" 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 + SELECT + sum( ivt.ivt_qty ) AS ivt_qty, + sum( ivt.canuse_qty ) AS canuse_qty, + sum( ivt.frozen_qty ) AS frozen_qty, + sum( ivt.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 + ST_IVT_StructIvt ivt + inner JOIN ST_IVT_StructAttr struct ON ivt.struct_id = struct.struct_id + inner JOIN MD_ME_MaterialBase me ON me.material_id = ivt.material_id + inner JOIN MD_PB_ClassStandard class ON class.class_id = me.material_type_id + WHERE + 1 = 1 OPTION 输入.stor_id <> "" struct.stor_id = 输入.stor_id ENDOPTION @@ -239,8 +165,6 @@ OPTION 输入.classIds <> "" class.class_id in 输入.classIds ENDOPTION - ) outq - where 1=1 ENDSELECT ENDQUERY ENDIF diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/Qivt_query_02.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/Qivt_query_02.wql new file mode 100644 index 00000000..87dee23e --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/Qivt_query_02.wql @@ -0,0 +1,74 @@ +[交易说明] + 交易名: 库存分页查询 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.storagevehicle_code TYPEAS s_string + 输入.material_id TYPEAS s_string + 输入.quality_scode TYPEAS s_string + 输入.ivt_level TYPEAS s_string + 输入.is_active TYPEAS s_string + 输入.pcsn TYPEAS s_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + PAGEQUERY + SELECT + COUNT(bucket.bucketunique) AS bucket_num + FROM + MD_PB_BucketRecord bucket + WHERE 1=1 + OPTION 输入.storagevehicle_code <> "" + bucket.storagevehicle_code = 输入.storagevehicle_code + ENDOPTION + OPTION 输入.is_active <> "" + bucket.is_active = 输入.is_active + ENDOPTION + OPTION 输入.ivt_level <> "" + bucket.ivt_level = 输入.ivt_level + ENDOPTION + OPTION 输入.quality_scode <> "" + bucket.quality_scode = 输入.quality_scode + ENDOPTION + OPTION 输入.pcsn <> "" + bucket.pcsn = 输入.pcsn + ENDOPTION + OPTION 输入.material_id <> "" + bucket.material_id = 输入.material_id + ENDOPTION + ENDSELECT + ENDPAGEQUERY + ENDIF 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 ec90b5ff..da4c14c3 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 @@ -68,9 +68,9 @@ 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 + inner JOIN pdm_bi_workorder wo ON (wo.material_id = off.material_id and wo.pcsn = off.pcsn) + inner JOIN md_me_materialbase mb ON mb.material_id = off.material_id + inner JOIN md_me_producmaterialext ext ON ext.material_id = off.material_id WHERE 1=1 and wo.is_delete='0' OPTION 输入.material_code <> "" @@ -81,20 +81,18 @@ ) ENDOPTION OPTION 输入.pcsn <> "" - off.pcsn = 输入.pcsn + off.pcsn like 输入.pcsn ENDOPTION + OPTION 输入.begin_time <> "" + off.create_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + off.create_time <= 输入.end_time + 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 ENDSELECT ENDPAGEQUERY ENDIF @@ -102,28 +100,12 @@ IF 输入.flag = "01" 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 + SUM( off.qty ) AS qty 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 + inner JOIN md_me_materialbase mb ON mb.material_id = off.material_id WHERE - 1=1 and wo.is_delete='0' + 1=1 OPTION 输入.material_code <> "" ( mb.material_code like 输入.material_code @@ -132,22 +114,14 @@ ) ENDOPTION OPTION 输入.pcsn <> "" - off.pcsn = 输入.pcsn + off.pcsn like 输入.pcsn ENDOPTION - GROUP BY - off.material_id, - off.pcsn, - wo.org_id - HAVING - 1=1 OPTION 输入.begin_time <> "" - create_time >= 输入.begin_time + off.create_time >= 输入.begin_time ENDOPTION OPTION 输入.end_time <> "" - create_time <= 输入.end_time + off.create_time <= 输入.end_time ENDOPTION - ) outq - where 1=1 ENDSELECT ENDQUERY ENDIF diff --git a/mes/qd/src/utils/datetime.js b/mes/qd/src/utils/datetime.js index 92feb0f3..da4dd293 100644 --- a/mes/qd/src/utils/datetime.js +++ b/mes/qd/src/utils/datetime.js @@ -25,10 +25,12 @@ Date.prototype.daysLater = function(days, midnight) { return midnight ? date.toMidnight() : date } -Date.prototype.monthBegin = function(offset) { - offset = offset ? offset - 0 : 0 - const days = this.getDate() - 1 - offset - return this.daysAgo(days, true) +Date.prototype.monthBegin = function() { + const year = new Date().getFullYear() + const mouth = new Date().getMonth() + const days = new Date(year,mouth,1).strftime('%F', 'zh') + debugger + return days } Date.prototype.quarterBegin = function() { diff --git a/mes/qd/src/views/wms/statistics/ivtQuery/index.vue b/mes/qd/src/views/wms/statistics/ivtQuery/index.vue index abb3bee3..f2e904c4 100644 --- a/mes/qd/src/views/wms/statistics/ivtQuery/index.vue +++ b/mes/qd/src/views/wms/statistics/ivtQuery/index.vue @@ -166,21 +166,21 @@ {{ scope.row.storagevehicle_code }} - - - - - - - - - + + + + + + + + + - - + + @@ -242,9 +242,6 @@ export default { } }, created() { - // crudSectattr.getSect().then(res => { - // this.sects = res.content - // }) crudSectattr.getSect({ 'is_materialstore': '1' }).then(res => { this.sects = res.content }) diff --git a/mes/qd/src/views/wms/statistics/productInstor/index.vue b/mes/qd/src/views/wms/statistics/productInstor/index.vue index e1573d46..4a20bec6 100644 --- a/mes/qd/src/views/wms/statistics/productInstor/index.vue +++ b/mes/qd/src/views/wms/statistics/productInstor/index.vue @@ -15,12 +15,12 @@ @@ -88,7 +88,7 @@ import StructIvt from '@/views/wms/statistics/outStorQuery/StructIvt' import crudRawAssist from '@/api/wms/st/core/inbill/rawassist' import workorder from '@/api/wms/pdm/workorder' -const start = new Date() + export default { name: 'ProductInstor', components: { StructIvt, crudOperation, rrOperation, pagination }, @@ -105,9 +105,6 @@ export default { del: false, reset: true, download: false - }, - query: { - createTime: [start.monthBegin(), new Date()] } }) }, @@ -122,6 +119,7 @@ export default { currentRow: null, storlist: [], sum: 0, + query_flag: true, Depts: [], billtypelist: [] } @@ -142,11 +140,29 @@ export default { workorder.getDepts().then(res => { this.Depts = res }) + this.crud.query.createTime = [new Date(new Date().monthBegin()), new Date()] }, methods: { + [CRUD.HOOK.beforeRefresh]() { + if (this.query_flag) { + this.crud.query.begin_time = new Date().monthBegin() + this.crud.query.end_time = (new Date()).strftime('%F', 'zh') + this.query_flag = false + } + }, 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() + }, async queryMater() { this.structshow = true },