From a360253b6e2459371075ffa66a83a435fddf3c5b Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Fri, 23 Sep 2022 10:19:48 +0800 Subject: [PATCH 01/20] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mes/qd/src/views/wms/pf/formula/DivDialog.vue | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/mes/qd/src/views/wms/pf/formula/DivDialog.vue b/mes/qd/src/views/wms/pf/formula/DivDialog.vue index cb661891..ed46f715 100644 --- a/mes/qd/src/views/wms/pf/formula/DivDialog.vue +++ b/mes/qd/src/views/wms/pf/formula/DivDialog.vue @@ -299,7 +299,7 @@ - + @@ -889,14 +889,6 @@ export default { this.tableDtl.push(value) } }, - is_rf_xl(row){ - let maxNum = 9999999999.0 - if(row.is_rf_xl === '1'){ - return parseFloat(row.sum_ivt_qty).toFixed(3) - }else{ - return parseFloat(maxNum).toFixed(3) - } - }, submit() { if (this.tableDtl.length === 0) { this.crud.notify('明细不能为空!') @@ -908,6 +900,14 @@ export default { return false } } + for (let i = 0; i < this.tableDtl.length; i++) { + if (this.tableDtl[i].status === '10') { + if (parseFloat(this.tableDtl[i].sum_ivt_qty) < parseFloat(this.tableDtl[i].formula_qty)) { + this.crud.notify('配粉重量不允许大于可用库存重量,明细序号为' + (i + 1) + '请检查!') + return false + } + } + } this.form.tableDtl = this.tableDtl formula.submit(this.form).then(res => { this.crud.notify('操作成功!') From 700bcbba6faffa561820b7a15b9a0e51171e8455 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Fri, 23 Sep 2022 12:38:02 +0800 Subject: [PATCH 02/20] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AutoformulaServiceImpl.java | 67 ++++++++++--------- 1 file changed, 36 insertions(+), 31 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java index 642ed795..c1535e8b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java @@ -637,7 +637,8 @@ public class AutoformulaServiceImpl implements AutoformulaService { } //BOM中碳化钨需含总碳 double CT2 = new_qty*(sum_Cr3C2/100.0)*(c_balance/100.0); - if(CT1==CT2){//配粉结束 + //配粉结束 + if(CT1==CT2){ //判断已含添加剂与需配添加剂大小 yzj_map.forEach((key,tjj_map_now)->{ //需配添加剂重量 @@ -657,7 +658,9 @@ public class AutoformulaServiceImpl implements AutoformulaService { yzj_list.add(tjj_map_now); } }); - }else if(CT1CT2){//需配钨粉 + }else + //需配钨粉 + if(CT1>CT2){ if(bomdlts_Cr3C2.size()==1){//只配库存明细时 //假设钨粉重量为W JSONObject bomdlt_Cr3C2 = bomdlts_Cr3C2.getJSONObject(0); @@ -1023,9 +1027,9 @@ public class AutoformulaServiceImpl implements AutoformulaService { Z_sum.set(Z_sum.get() + finished); } }); - + // X21p减=[(X21p)* X21碳含量+软废含碳量-产品碳平衡*(X21p+软废碳化钨)]/X21碳含量 //解得钨粉重量 - double X22_jian = X22p - (c_balance/100.0)*(X22p+Z_sum.get())/(X22/100.0); + double X22_jian = (CT1 - (c_balance/100.0)*(CT1_weight)) / (X22/100.0); //更新碳化钨配粉重量 double bom_ivt_qty = X22p-X22_jian; if(bom_ivt_qty<=0){ @@ -1085,9 +1089,9 @@ public class AutoformulaServiceImpl implements AutoformulaService { } }); double W = new_qty - total_sum.get(); - if(W<0){ + /* if(W<0){ throw new BadRequestException("加钨粉为负数,当前配粉无解!"); - } + }*/ if(W>0){ JSONObject W_weight = new JSONObject(); W_weight.put("formula_qty",W); @@ -1158,7 +1162,7 @@ public class AutoformulaServiceImpl implements AutoformulaService { //设X21p减=0,解方程 if(flag){ //X22p减 = [(X11p* X11碳含量+X12p* X12碳含量+X21p* X21碳含量+X22p* X22碳含量)-产品碳平衡*(X11p+X12p+X21p+X22p+Z已总)]/X22碳含量 - double X22_jian = (CT1 - (c_balance/100.0)*(CT1_weight+Z_sum.get()))/(X22/100.0); + double X22_jian = (CT1 - (c_balance/100.0)*(CT1_weight))/(X22/100.0); //更新碳化钨配粉重量 double bom_ivt_qty = X22p-X22_jian; if(bom_ivt_qty<0){ @@ -1253,7 +1257,7 @@ public class AutoformulaServiceImpl implements AutoformulaService { if(!flag){ //设X22p减=X22p,解方程 //X21p减 =[( X11p* X11碳含量+X12p* X12碳含量+(X21p)* X21碳含量)-产品碳平衡*(X11p+X12p+X21p+X22p+Z已总)]/X21碳含量 - double X21_jian = ((CT1-X22c) - (c_balance/100.0)*(CT1_weight+ Z_sum.get()))/(X21/100.0); + double X21_jian = ((CT1-X22c) - (c_balance/100.0)*(CT1_weight))/(X21/100.0); if(X21_jian<0){ throw new BadRequestException("碳化钨减掉结果为负数,当前配粉无解!"); } @@ -1329,9 +1333,9 @@ public class AutoformulaServiceImpl implements AutoformulaService { }); double W = new_qty - total_sum.get(); - if(W<0){ + /*if(W<0){ throw new BadRequestException("加钨粉为负数,当前配粉无解!"); - } + }*/ if(W>0){ JSONObject W_weight = new JSONObject(); W_weight.put("formula_qty",W); @@ -1725,7 +1729,8 @@ public class AutoformulaServiceImpl implements AutoformulaService { //BOM中碳化钨需含总碳 double CT2 = workorder_qty*(sum_Cr3C2/100.0)*(c_balance/100.0); - if(CT1==CT2){//配粉结束 + //配粉结束 + if(CT1==CT2){ //判断已含添加剂与需配添加剂大小 tjj_map.forEach((key,tjj_map_now)->{ //需配添加剂重量 @@ -1745,7 +1750,9 @@ public class AutoformulaServiceImpl implements AutoformulaService { yzj_list.add(tjj_map_now); } }); - }else if(CT1CT2){//需配钨粉 + }else + //需配钨粉 + if(CT1>CT2){ if(bomdlts_Cr3C2.size()==1){//只配库存明细时 //假设钨粉重量为W JSONObject bomdlt_Cr3C2 = bomdlts_Cr3C2.getJSONObject(0); @@ -2107,9 +2115,9 @@ public class AutoformulaServiceImpl implements AutoformulaService { Z_sum.set(Z_sum.get() + finished); } }); - + // X21p减= [(X21p)* X21碳含量+软废含碳量-产品碳平衡*(X21p+软废碳化钨)]/X21碳含量 //解得钨粉重量 - double X22_jian = X22p - (c_balance/100.0)*(X22p+Z_sum.get())/(X22/100.0); + double X22_jian =(CT1 - (c_balance/100.0)*(CT1_weight))/(X22/100.0); //更新碳化钨配粉重量 double bom_ivt_qty = X22p-X22_jian; if(bom_ivt_qty<=0){ @@ -2171,9 +2179,9 @@ public class AutoformulaServiceImpl implements AutoformulaService { } }); double W = new_qty - total_sum.get(); - if(W<0){ + /* if(W<0){ throw new BadRequestException("加钨粉为负数,当前配粉无解!"); - } + }*/ if(W>0){ JSONObject W_weight = new JSONObject(); W_weight.put("formula_qty",W); @@ -2243,7 +2251,7 @@ public class AutoformulaServiceImpl implements AutoformulaService { //设X21p减=0,解方程 if(flag){ //X22p减 = [(X11p* X11碳含量+X12p* X12碳含量+X21p* X21碳含量+X22p* X22碳含量)-产品碳平衡*(X11p+X12p+X21p+X22p+Z已总)]/X22碳含量 - double X22_jian = (CT1 - (c_balance/100.0)*(CT1_weight+Z_sum.get()))/(X22/100.0); + double X22_jian = (CT1 - (c_balance/100.0)*(CT1_weight))/(X22/100.0); //更新碳化钨配粉重量 double bom_ivt_qty = X22p-X22_jian; if(bom_ivt_qty<0){ @@ -2312,9 +2320,6 @@ public class AutoformulaServiceImpl implements AutoformulaService { } }); double W = new_qty - total_sum.get(); - /* if(W<0){ - throw new BadRequestException("加钨粉为负数,当前配粉无解!"); - }*/ if(W>0){ JSONObject W_weight = new JSONObject(); W_weight.put("formula_qty",W); @@ -2336,7 +2341,7 @@ public class AutoformulaServiceImpl implements AutoformulaService { if(!flag){ //设X22p减=X22p,解方程 //X21p减 =[( X11p* X11碳含量+X12p* X12碳含量+(X21p)* X21碳含量)-产品碳平衡*(X11p+X12p+X21p+X22p+Z已总)]/X21碳含量 - double X21_jian = ((CT1-X22c) - (c_balance/100.0)*(CT1_weight+ Z_sum.get()))/(X21/100.0); + double X21_jian = ((CT1-X22c) - (c_balance/100.0)*(CT1_weight))/(X21/100.0); if(X21_jian<0){ throw new BadRequestException("碳化钨减掉结果为负数,当前配粉无解!"); } @@ -2410,9 +2415,9 @@ public class AutoformulaServiceImpl implements AutoformulaService { } }); double W = new_qty - total_sum.get(); - if(W<0){ + /*if(W<0){ throw new BadRequestException("加钨粉为负数,当前配粉无解!"); - } + }*/ if(W>0){ JSONObject W_weight = new JSONObject(); W_weight.put("formula_qty",W); @@ -3232,9 +3237,9 @@ public class AutoformulaServiceImpl implements AutoformulaService { double need_qty = bomdlt.getDouble("formula_qty"); W = NumberUtil.round(W - need_qty,3).doubleValue(); } - if(W<0){ + /*if(W<0){ throw new BadRequestException("补钨粉重量为负数,请检查bom及其他参数!"); - } + }*/ if(W>0){ JSONObject W_weight = new JSONObject(); W_weight.put("formula_qty",W); From 24b3b4508baea817efd8bae85bfd01ea199b09eb Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Fri, 23 Sep 2022 16:40:40 +0800 Subject: [PATCH 03/20] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AutoformulaServiceImpl.java | 21 +++++++++---------- .../basedata/em/equipmentfile/AddDialog.vue | 3 --- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java index c1535e8b..0ce13972 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java @@ -696,8 +696,8 @@ public class AutoformulaServiceImpl implements AutoformulaService { JSONObject FactoryWarranty = bomdlts_plan_map.get(bomdlt_Cr3C2.getString("stockrecord_id")); //该批次含碳比 double X22 = FactoryWarranty.getDouble("is_tan"); - //解得碳粉重量 X22p减=[产品碳平衡*(X22p+Z已总)-Z已总- (X22p)* X22碳含量]/(1- X22碳含量) - double X22_jian = ((c_balance/100.0)*(CT1_weight+Z_sum.get())-(CT1+Z_sum.get()))/(1-X22/100.0); + //X22p减=[产品碳平衡*(X11p+X12p+X21p+X22p+软废碳化钨)-(X11p* X11碳含量+X12p* X12碳含量+X21p* X21碳含量+X22p* X22碳含量+软废含碳量)]/(1-X22碳含量) + double X22_jian = ((c_balance/100.0)*(CT1_weight)-CT1)/(1-X22/100.0); //更新碳化钨配粉重量 double bom_ivt_qty = X22p-X22_jian; if(bom_ivt_qty < 0){ @@ -821,8 +821,8 @@ public class AutoformulaServiceImpl implements AutoformulaService { boolean flag = true; //设X21p减=0,解方程 if(flag){ - // X22p减=[产品碳平衡*(X11p+X12p+X21p+X22p+Z已总) - (X11p* X11碳含量+X12p* X12碳含量+(X21)* X21碳含量+(X22p)* X22碳含量+Z已总)]/(1-X22碳含量) - double X22_jian = ((c_balance/100.0)*(CT1_weight+Z_sum.get())-(CT1+Z_sum.get()))/(1-X22/100.0); + //X22p减=[产品碳平衡*(X11p+X12p+X21p+X22p+软废碳化钨)-(X11p* X11碳含量+X12p* X12碳含量+X21p* X21碳含量+X22p* X22碳含量+软废含碳量)]/(1-X22碳含量) + double X22_jian = ((c_balance/100.0)*(CT1_weight)-CT1)/(1-X22/100.0); //更新碳化钨配粉重量 double bom_ivt_qty = X22p-X22_jian; if(bom_ivt_qty<0){ @@ -908,7 +908,7 @@ public class AutoformulaServiceImpl implements AutoformulaService { if(!flag){ //设X22p减=X22p,解方程 // X21p减=[产品碳平衡*(X11p+X12p+X21p+X22p+Z已总) - (X11p* X11碳含量+X12p* X12碳含量+(X21p)* X21碳含量+Z已总+X22p)]/(1-X21碳含量) - double X21_jian = ((c_balance/100.0)*(CT1_weight+Z_sum.get()) - (CT1-X22c) - X22p-Z_sum.get())/(1-X21/100.0); + double X21_jian = ((c_balance/100.0)*(CT1_weight) - (CT1-X22c) - X22p)/(1-X21/100.0); //解得钨粉重量 double C = X22p + X21_jian + Z_sum.get(); @@ -1784,8 +1784,8 @@ public class AutoformulaServiceImpl implements AutoformulaService { Z_sum.set(Z_sum.get() + finished); } }); - //解得碳粉重量 X22p减=[产品碳平衡*(X22p+Z已总)-Z已总- (X22p)* X22碳含量]/(1- X22碳含量) - double X22_jian = ((c_balance/100.0)*(CT1_weight+Z_sum.get())-(CT1+Z_sum.get()))/(1-X22/100.0); + //X22p减=[产品碳平衡*(X11p+X12p+X21p+X22p+软废碳化钨)-(X11p* X11碳含量+X12p* X12碳含量+X21p* X21碳含量+X22p* X22碳含量+软废含碳量)]/(1-X22碳含量) + double X22_jian = ((c_balance/100.0)*(CT1_weight)-CT1)/(1-X22/100.0); //更新碳化钨配粉重量 double bom_ivt_qty = X22p-X22_jian; if(bom_ivt_qty < 0){ @@ -1909,8 +1909,8 @@ public class AutoformulaServiceImpl implements AutoformulaService { boolean flag = true; //设X21p减=0,解方程 if(flag){ - // X22p减=[产品碳平衡*(X11p+X12p+X21p+X22p+Z已总) - (X11p* X11碳含量+X12p* X12碳含量+(X21)* X21碳含量+(X22p)* X22碳含量+Z已总)]/(1-X22碳含量) - double X22_jian = ((c_balance/100.0)*(CT1_weight+Z_sum.get())-(CT1+Z_sum.get()))/(1-X22/100.0); + //X22p减=[产品碳平衡*(X11p+X12p+X21p+X22p+软废碳化钨)-(X11p* X11碳含量+X12p* X12碳含量+X21p* X21碳含量+X22p* X22碳含量+软废含碳量)]/(1-X22碳含量) + double X22_jian = ((c_balance/100.0)*(CT1_weight)-CT1)/(1-X22/100.0); //更新碳化钨配粉重量 double bom_ivt_qty = X22p-X22_jian; if(bom_ivt_qty<0){ @@ -1996,8 +1996,7 @@ public class AutoformulaServiceImpl implements AutoformulaService { if(!flag){ //设X22p减=X22p,解方程 // X21p减=[产品碳平衡*(X11p+X12p+X21p+X22p+Z已总) - (X11p* X11碳含量+X12p* X12碳含量+(X21p)* X21碳含量+Z已总+X22p)]/(1-X21碳含量) - double X21_jian = ((c_balance/100.0)*(CT1_weight+Z_sum.get()) - (CT1-X22c) - X22p-Z_sum.get())/(1-X21/100.0); - + double X21_jian = ((c_balance/100.0)*(CT1_weight) - (CT1-X22c) - X22p)/(1-X21/100.0); //解得钨粉重量 double C = X22p + X21_jian + Z_sum.get(); if(C<0){ diff --git a/mes/qd/src/views/wms/basedata/em/equipmentfile/AddDialog.vue b/mes/qd/src/views/wms/basedata/em/equipmentfile/AddDialog.vue index bb0f4bec..ecfe5d26 100644 --- a/mes/qd/src/views/wms/basedata/em/equipmentfile/AddDialog.vue +++ b/mes/qd/src/views/wms/basedata/em/equipmentfile/AddDialog.vue @@ -327,9 +327,6 @@ export default { use_deptid: [ { required: true, message: '使用部门不能为空', trigger: 'blur' } ], - device_bom_id: [ - { required: true, message: '设备Bom不能为空', trigger: 'blur' } - ], is_produceuse: [ { required: true, message: '生产用途不能为空', trigger: 'blur' } ] From adddfa1c8015e9ac802d52c572778fc66ec21090 Mon Sep 17 00:00:00 2001 From: liuxy Date: Sat, 24 Sep 2022 16:56:16 +0800 Subject: [PATCH 04/20] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repair/service/impl/DevicerepairmstServiceImpl.java | 3 +++ .../impl/DevicemaintenanceplanmstServiceImpl.java | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java index 792c1c0d..643e495b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java @@ -364,6 +364,9 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService { jsonObject.put("measure", measure); recordTab.insert(jsonObject); + // 保存明细 + this.submitRepair(whereJson); + // 1.判断维修单明细中是否完成 都为是,不是则报错 JSONArray reDtlArr = reDtlTab.query("repair_id = '" + whereJson.getString("repair_id") + "'").getResultJSONArray(0); if (ObjectUtil.isEmpty(reDtlArr)) throw new BadRequestException("明细为空"); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenanceplanmstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenanceplanmstServiceImpl.java index 3f3a386e..dbd0806a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenanceplanmstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenanceplanmstServiceImpl.java @@ -268,9 +268,12 @@ public class DevicemaintenanceplanmstServiceImpl implements Devicemaintenancepla // 获取当前登陆用户 Long currentUserId = SecurityUtils.getCurrentUserId(); - String dept_str = deptService.getChildIdStr(currentUserId); - if (ObjectUtil.isNotEmpty(dept_str)) { - map.put("dept_str",dept_str); + JSONObject jsonUser = WQLObject.getWQLObject("sys_user").query("user_id = '" + currentUserId + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonUser)) { + String dept_str = deptService.getChildIdStr(jsonUser.getLong("dept_id")); + if (ObjectUtil.isNotEmpty(dept_str)) { + map.put("dept_str",dept_str); + } } JSONObject json = WQL.getWO("EM_BIDEVICEMAINTENANCEPLAN001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "file.update_time DESC"); From 1d9e96a25ff998c3429346bfef1179ac81897149 Mon Sep 17 00:00:00 2001 From: liuxy Date: Mon, 26 Sep 2022 15:04:26 +0800 Subject: [PATCH 05/20] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DevicemaintenancemstServiceImpl.java | 2 + .../impl/PhysicalQueryServiceImpl.java | 6 +- .../impl/PowderOrderQueryServiceImpl.java | 64 +++++++--- .../impl/RawUatWcQueryServiceImpl.java | 8 +- .../statistics/wql/QP_POWDERORDERQUERY01.wql | 8 +- .../devicemaintenancepa/ExecuteDialog.vue | 18 ++- .../devicemaintenancepa/StartDialog.vue | 111 ++++++++++++++++++ .../sb/upkeep/devicemaintenancepa/index.vue | 30 +++-- .../wms/statistics/phySicalQuery/index.vue | 5 +- .../wms/statistics/powderOrderQuery/index.vue | 5 +- .../powderProductionQuery/index.vue | 8 +- .../wms/statistics/rawUatWcQuery/index.vue | 6 +- .../wms/statistics/stifleQuery/index.vue | 10 +- 13 files changed, 230 insertions(+), 51 deletions(-) create mode 100644 mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/StartDialog.vue diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenancemstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenancemstServiceImpl.java index 729058b8..c7426911 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenancemstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenancemstServiceImpl.java @@ -270,6 +270,7 @@ public class DevicemaintenancemstServiceImpl implements DevicemaintenancemstServ // 更新保养单主表 JSONObject jsonMainMst = mainMstTab.query("maint_id = '" + whereJson.getString("maint_id") + "'").uniqueResult(0); jsonMainMst.put("invstatus", "03"); + jsonMainMst.put("update_optname",whereJson.getString("update_optname") ); jsonMainMst.put("real_start_date", DateUtil.now()); mainMstTab.update(jsonMainMst); @@ -318,6 +319,7 @@ public class DevicemaintenancemstServiceImpl implements DevicemaintenancemstServ WQLObject lifeTab = WQLObject.getWQLObject("EM_BI_DeviceLifeCycle"); // 设备声明周期表 WQLObject dtlTab = WQLObject.getWQLObject("EM_BI_DeviceMaintenanceDtl"); + this.submitMain(whereJson); // 1.明细中的是否完成 :必须为全部完成 JSONArray dtlArr = dtlTab.query("maint_id = '" + maint_id + "'").getResultJSONArray(0); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/PhysicalQueryServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/PhysicalQueryServiceImpl.java index f0a7d61d..ecd1086d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/PhysicalQueryServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/PhysicalQueryServiceImpl.java @@ -141,7 +141,7 @@ public class PhysicalQueryServiceImpl implements PhysicalQueryService { JSONObject jsonResult1 = new JSONObject(); jsonResult1.put("prop", "0"); jsonResult1.put("label", "质检单号"); - jsonResultArr.add(jsonResult1); +// jsonResultArr.add(jsonResult1); JSONObject jsonResult2 = new JSONObject(); jsonResult2.put("prop", "1"); jsonResult2.put("label", "物料编码"); @@ -163,8 +163,8 @@ public class PhysicalQueryServiceImpl implements PhysicalQueryService { JSONObject jsonResult19 = new JSONObject(); jsonResult19.put("prop", "19"); jsonResult19.put("label", "金相备注"); - jsonResultArr.add(jsonResult2); - jsonResultArr.add(jsonResult20); +// jsonResultArr.add(jsonResult2); +// jsonResultArr.add(jsonResult20); jsonResultArr.add(jsonResult21); jsonResultArr.add(jsonResult3); jsonResultArr.add(jsonResult4); 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 d682ebde..37840653 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 @@ -71,6 +71,27 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { jsonResult.put(jsonDtl.getString("material_id") +"formula_qty",jsonDtl.getString("formula_qty")); } } + // 碳平衡 + jsonResult.put("3", json.getString("c_balance")); + // 时间 + jsonResult.put("4", json.getString("ball_time")); + // 球料比 + jsonResult.put("5", json.getString("ball_rate")); + // 液料比 + jsonResult.put("6", json.getString("liquid_rate")); + // 球磨机号 + HashMap map1 = new HashMap<>(); + map1.put("flag", "3"); + map1.put("product_series_id", json.getString("product_series_id")); + map1.put("workprocedure_id", "1472449856613257216"); + JSONObject jsonDevice1 = WQL.getWO("QPF_POINTCARD01").addParamMap(map1).process().uniqueResult(0); + map1.put("flag", "4"); + JSONObject jsonDevice2= WQL.getWO("QPF_POINTCARD01").addParamMap(map1).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonDevice1) && ObjectUtil.isNotEmpty(jsonDevice2)) { + String device_code_1 = jsonDevice1.getString("device_code").substring(4, 6); + String device_code_2 = jsonDevice2.getString("device_code").substring(4, 6); + jsonResult.put("7", device_code_1 + "-" + device_code_2); + } jsonResultArr.add(jsonResult); } resultJson.put("content",jsonResultArr); @@ -81,19 +102,6 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { public JSONArray getHeader() { JSONArray jsonResultArr = new JSONArray(); - JSONObject jsonResult1 = new JSONObject(); - jsonResult1.put("prop", "0"); - jsonResult1.put("label", "日期"); - jsonResultArr.add(jsonResult1); - JSONObject jsonResult2 = new JSONObject(); - jsonResult2.put("prop", "1"); - jsonResult2.put("label", "产品编码"); - jsonResultArr.add(jsonResult2); - JSONObject jsonResult3 = new JSONObject(); - jsonResult3.put("prop", "2"); - jsonResult3.put("label", "批号"); - jsonResultArr.add(jsonResult3); - String classIds = classstandardService.getAllChildIdStr(MaterOptTypeEnum.YL_AND_FL.getClass_idStr()); String RF = classstandardService.getAllChildIdStr(MaterOptTypeEnum.RF.getClass_idStr()); JSONArray resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "2").addParam("classIds", classIds).addParam("rf", RF).process().getResultJSONArray(0); @@ -104,10 +112,10 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { jsonResult4.put("prop",json.getString("material_id")); jsonResult4.put("label","物料" + NumberUtil.add(String.valueOf(i), "1") + ""); jsonResultArr.add(jsonResult4); - JSONObject jsonResult5 = new JSONObject(); - jsonResult5.put("prop",json.getString("material_code")+""); - jsonResult5.put("label","物料编码"); - jsonResultArr.add(jsonResult5); +// JSONObject jsonResult5 = new JSONObject(); +// jsonResult5.put("prop",json.getString("material_code")+""); +// jsonResult5.put("label","物料编码"); +// jsonResultArr.add(jsonResult5); JSONObject jsonResult6 = new JSONObject(); jsonResult6.put("prop",json.getString("material_id")+"pcsn"); jsonResult6.put("label","批次"); @@ -117,6 +125,28 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { jsonResult7.put("label","重量"); jsonResultArr.add(jsonResult7); } + + JSONObject jsonResult1 = new JSONObject(); + jsonResult1.put("prop", "3"); + jsonResult1.put("label", "碳平衡(%)"); + jsonResultArr.add(jsonResult1); + JSONObject jsonResult2 = new JSONObject(); + jsonResult2.put("prop", "4"); + jsonResult2.put("label", "时间(h)"); + jsonResultArr.add(jsonResult2); + JSONObject jsonResult3 = new JSONObject(); + jsonResult3.put("prop", "5"); + jsonResult3.put("label", "球料比"); + jsonResultArr.add(jsonResult3); + JSONObject jsonResult8 = new JSONObject(); + jsonResult8.put("prop", "6"); + jsonResult8.put("label", "液料比"); + jsonResultArr.add(jsonResult8); + JSONObject jsonResult9 = new JSONObject(); + jsonResult9.put("prop", "7"); + jsonResult9.put("label", "球磨机号"); + jsonResultArr.add(jsonResult9); + return jsonResultArr; } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/RawUatWcQueryServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/RawUatWcQueryServiceImpl.java index fed8bf11..6e264d2e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/RawUatWcQueryServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/RawUatWcQueryServiceImpl.java @@ -128,7 +128,7 @@ public class RawUatWcQueryServiceImpl implements RawUatWcQueryService { // JSONArray jsonArr = WQL.getWO("RaUatWc_query_01").addParam("flag", "2").addParam("inspection_scheme_code",inspection_scheme_code).process().getResultJSONArray(0); JSONArray jsonArr = WQL.getWO("RaUatWc_query_01").addParam("flag", "5").process().getResultJSONArray(0); JSONArray jonsResuftArr = new JSONArray(); - JSONObject jsonResuft1 = new JSONObject(); +/* JSONObject jsonResuft1 = new JSONObject(); jsonResuft1.put("prop", "1"); jsonResuft1.put("label", "物料编码"); JSONObject jsonResuft2 = new JSONObject(); @@ -139,14 +139,14 @@ public class RawUatWcQueryServiceImpl implements RawUatWcQueryService { jsonResuft3.put("label", "批号"); JSONObject jsonResuft4 = new JSONObject(); jsonResuft4.put("prop", "4"); - jsonResuft4.put("label", "重量"); + jsonResuft4.put("label", "重量");*/ JSONObject jsonResuft5 = new JSONObject(); jsonResuft5.put("prop", "5"); jsonResuft5.put("label", "厂家"); - jonsResuftArr.add(jsonResuft1); + /* jonsResuftArr.add(jsonResuft1); jonsResuftArr.add(jsonResuft2); jonsResuftArr.add(jsonResuft3); - jonsResuftArr.add(jsonResuft4); + jonsResuftArr.add(jsonResuft4);*/ jonsResuftArr.add(jsonResuft5); for (int i = 0; i < jsonArr.size(); i++) { JSONObject json = jsonArr.getJSONObject(i); 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 b8335d02..68d9f466 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 @@ -51,11 +51,17 @@ work.create_time, mater.material_code, work.pcsn, - mst.formula_id + mst.formula_id, + mst.ball_time, + mst.product_series_id, + ext.c_balance, + ext.ball_rate, + ext.liquid_rate 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' diff --git a/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/ExecuteDialog.vue b/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/ExecuteDialog.vue index faca60a1..104259e3 100644 --- a/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/ExecuteDialog.vue +++ b/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/ExecuteDialog.vue @@ -8,12 +8,13 @@ destroy-on-close @close="close" > - - + + - + + 保存并结束 保存 关闭 @@ -183,6 +184,17 @@ export default { this.crud.toQuery() this.dialogVisible = false }) + }, + submitAndEnd() { + const data = this.form + if (this.form.update_optname === '') { + return this.crud.notify('保养人不能为空', CRUD.NOTIFICATION_TYPE.INFO) + } + crudDevicemaintenancemst.endMaintain(data).then(res => { + this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.dialogVisible = false + this.crud.toQuery() + }) } } } diff --git a/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/StartDialog.vue b/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/StartDialog.vue new file mode 100644 index 00000000..368fb58e --- /dev/null +++ b/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/StartDialog.vue @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + 保存 + 关闭 + + + + + + + diff --git a/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/index.vue b/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/index.vue index 8022d616..cef73cd1 100644 --- a/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/index.vue +++ b/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/index.vue @@ -89,7 +89,7 @@ > 开始保养 - 保养执行 - + --> - 保养确认 + 保养验收 @@ -150,6 +150,7 @@ + @@ -166,11 +167,12 @@ import '@riophae/vue-treeselect/dist/vue-treeselect.css' import crudMaterialbase from '@/api/wms/basedata/master/materialbase' import DateRangePicker from '@/components/DateRangePicker' import ExecuteDialog from '@/views/wms/sb/upkeep/devicemaintenancepa/ExecuteDialog' +import StartDialog from '@/views/wms/sb/upkeep/devicemaintenancepa/StartDialog' export default { name: 'Devicemaintenancepa', dicts: ['EM_DEVICE_BY_INVSTATUS', 'EM_DEVICE_BY_INVTYPE'], - components: { ExecuteDialog, pagination, crudOperation, rrOperation, udOperation, Treeselect, DateRangePicker }, + components: { ExecuteDialog, pagination, crudOperation, rrOperation, udOperation, Treeselect, DateRangePicker, StartDialog }, mixins: [presenter(), header(), crud()], cruds() { return CRUD({ @@ -199,6 +201,7 @@ export default { materOpt_code: '23', openParam: null, executeDialog: false, + startDialog: false, permission: { } } @@ -262,10 +265,8 @@ export default { if (data.invstatus !== '02') { return this.crud.notify('只能对提交状态的单据开始', CRUD.NOTIFICATION_TYPE.INFO) } - crudDevicemaintenancemst.startMaintain(data).then(res => { - this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) - this.crud.toQuery() - }) + this.openParam = data + this.startDialog = true }, endMaintain() { const _selectData = this.$refs.table.selection @@ -273,10 +274,17 @@ export default { if (data.invstatus !== '03') { return this.crud.notify('只能对开始状态的单据结束', CRUD.NOTIFICATION_TYPE.INFO) } - crudDevicemaintenancemst.endMaintain(data).then(res => { - this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) - this.crud.toQuery() + crudDevicemaintenancemst.getDtl(data).then(res => { + this.openParam = { + 'form': data, + 'tableData': res + } + this.executeDialog = true }) + // crudDevicemaintenancemst.endMaintain(data).then(res => { + // this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) + // this.crud.toQuery() + // }) }, executeMaintain() { const _selectData = this.$refs.table.selection diff --git a/mes/qd/src/views/wms/statistics/phySicalQuery/index.vue b/mes/qd/src/views/wms/statistics/phySicalQuery/index.vue index 270ecc03..81a9e41d 100644 --- a/mes/qd/src/views/wms/statistics/phySicalQuery/index.vue +++ b/mes/qd/src/views/wms/statistics/phySicalQuery/index.vue @@ -124,7 +124,10 @@ style="width: 100%;" @selection-change="crud.selectionChangeHandler" > - + + + + diff --git a/mes/qd/src/views/wms/statistics/powderOrderQuery/index.vue b/mes/qd/src/views/wms/statistics/powderOrderQuery/index.vue index bd6847ef..be3a2fa9 100644 --- a/mes/qd/src/views/wms/statistics/powderOrderQuery/index.vue +++ b/mes/qd/src/views/wms/statistics/powderOrderQuery/index.vue @@ -75,7 +75,10 @@ style="width: 100%;" @selection-change="crud.selectionChangeHandler" > - + + + + diff --git a/mes/qd/src/views/wms/statistics/powderProductionQuery/index.vue b/mes/qd/src/views/wms/statistics/powderProductionQuery/index.vue index 3416a7d8..68ef8e42 100644 --- a/mes/qd/src/views/wms/statistics/powderProductionQuery/index.vue +++ b/mes/qd/src/views/wms/statistics/powderProductionQuery/index.vue @@ -57,10 +57,10 @@ @selection-change="crud.selectionChangeHandler" > - - - - + + + + diff --git a/mes/qd/src/views/wms/statistics/rawUatWcQuery/index.vue b/mes/qd/src/views/wms/statistics/rawUatWcQuery/index.vue index 9d106147..b1c314d7 100644 --- a/mes/qd/src/views/wms/statistics/rawUatWcQuery/index.vue +++ b/mes/qd/src/views/wms/statistics/rawUatWcQuery/index.vue @@ -96,7 +96,11 @@ style="width: 100%;" @selection-change="crud.selectionChangeHandler" > - + + + + + diff --git a/mes/qd/src/views/wms/statistics/stifleQuery/index.vue b/mes/qd/src/views/wms/statistics/stifleQuery/index.vue index c4ce82fb..716c7193 100644 --- a/mes/qd/src/views/wms/statistics/stifleQuery/index.vue +++ b/mes/qd/src/views/wms/statistics/stifleQuery/index.vue @@ -49,11 +49,11 @@ - - - - - + + + + + From ae82252af50733b4e24e6baca683ab2097c580cc Mon Sep 17 00:00:00 2001 From: liuxy Date: Mon, 26 Sep 2022 18:25:31 +0800 Subject: [PATCH 06/20] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/InspectionsheetmstServiceImpl.java | 1 + .../wms/ql/wql/QL_TEST_INSPECTIONSHEET001.wql | 5 + .../views/wms/statistics/sheetQuery/index.vue | 262 ++++++++++++++++++ 3 files changed, 268 insertions(+) create mode 100644 mes/qd/src/views/wms/statistics/sheetQuery/index.vue diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/InspectionsheetmstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/InspectionsheetmstServiceImpl.java index eed3ab71..ddb7212e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/InspectionsheetmstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/InspectionsheetmstServiceImpl.java @@ -62,6 +62,7 @@ public class InspectionsheetmstServiceImpl implements InspectionsheetmstService map.put("flag", "1"); map.put("begin_time", MapUtil.getStr(whereJson, "begin_time")); map.put("end_time", MapUtil.getStr(whereJson, "end_time")); + map.put("is_pass", MapUtil.getStr(whereJson, "is_pass")); String inspection_code = MapUtil.getStr(whereJson, "inspection_code"); String material_code = MapUtil.getStr(whereJson, "material_code"); String pcsn = MapUtil.getStr(whereJson, "pcsn"); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/QL_TEST_INSPECTIONSHEET001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/QL_TEST_INSPECTIONSHEET001.wql index bbafc641..925b777b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/QL_TEST_INSPECTIONSHEET001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/QL_TEST_INSPECTIONSHEET001.wql @@ -22,6 +22,7 @@ 输入.pcsn TYPEAS s_string 输入.bill_status TYPEAS s_string 输入.inspection_id TYPEAS s_string + 输入.is_pass TYPEAS s_string [临时表] @@ -95,6 +96,10 @@ mst.bill_status = 输入.bill_status ENDOPTION + OPTION 输入.is_pass <> "" + dtl.result = 输入.is_pass + ENDOPTION + ENDSELECT ENDPAGEQUERY ENDIF diff --git a/mes/qd/src/views/wms/statistics/sheetQuery/index.vue b/mes/qd/src/views/wms/statistics/sheetQuery/index.vue new file mode 100644 index 00000000..d325f041 --- /dev/null +++ b/mes/qd/src/views/wms/statistics/sheetQuery/index.vue @@ -0,0 +1,262 @@ + + + + + + + + + + + + + + + + + + 日 期: + + + + + 物 料: + + + + + 批 号: + + + + + + + + + + + + + + + + + + + + + + + + + + {{ scope.row.inspection_code }} + + + + + + + + + + + + + + + + + + + + + + + + + From c60243e10ce9db8bce4201cf735a372ada538181 Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 27 Sep 2022 10:02:34 +0800 Subject: [PATCH 07/20] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/wms/basedata/em/wql/em.xls | Bin 309760 -> 311808 bytes .../impl/DevicerepairplanmstServiceImpl.java | 5 ++++ .../repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql | 5 ++++ .../sb/repair/devicerepairplan/AddDialog.vue | 25 ++++++++++++++++-- .../repair/devicerepairplan/CopyAddDialog.vue | 22 +++++++++++++-- .../wms/sb/repair/devicerepairplan/index.vue | 23 +++++++++++++++- 6 files changed, 75 insertions(+), 5 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/wql/em.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/wql/em.xls index da1db16ade3284be02d6acbcaf37af652ec9df3b..03543cfeb7c300a0b43f0c08cabfd07844439aa0 100644 GIT binary patch delta 28728 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 delta 27646 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 X;~Aqlb0BY{26bZ!t+afX(e?iTX$8Tx diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairplanmstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairplanmstServiceImpl.java index b1e6c58f..034599c9 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairplanmstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairplanmstServiceImpl.java @@ -48,6 +48,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic @Override public Map queryAll(Map whereJson, Pageable page) { String material_type_id = MapUtil.getStr(whereJson, "material_type_id"); + String repair_type = MapUtil.getStr(whereJson, "repair_type"); String device_code = MapUtil.getStr(whereJson, "device_code"); String maintenancecycle = MapUtil.getStr(whereJson, "maintenancecycle"); String repair_plan_code = MapUtil.getStr(whereJson, "repair_plan_code"); @@ -62,6 +63,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic map.put("is_active", is_active); map.put("begin_time", begin_time); map.put("end_time", end_time); + map.put("repair_type", repair_type); if (ObjectUtil.isNotEmpty(device_code)) map.put("device_code","%"+device_code+"%"); if (ObjectUtil.isNotEmpty(repair_plan_code)) map.put("repair_plan_code","%"+repair_plan_code+"%"); //处理物料当前节点的所有子节点 @@ -128,6 +130,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic jsonMst.put("repair_plan_name",whereJson.getString("repair_plan_name")); jsonMst.put("devicerecord_id",whereJson.get("devicerecord_id")); jsonMst.put("maintenancecycle",whereJson.getString("maintenancecycle")); + jsonMst.put("repair_type",whereJson.getString("repair_type")); jsonMst.put("plan_start_date",whereJson.getString("plan_start_date")); jsonMst.put("detail_count",tableData.size()); jsonMst.put("create_id",currentUserId); @@ -169,6 +172,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic jsonMst.put("repair_plan_name",whereJson.getString("repair_plan_name")); jsonMst.put("devicerecord_id",whereJson.get("devicerecord_id")); jsonMst.put("maintenancecycle",whereJson.getString("maintenancecycle")); + jsonMst.put("repair_type",whereJson.getString("repair_type")); jsonMst.put("plan_start_date",whereJson.getString("plan_start_date")); jsonMst.put("detail_count",tableData.size()); jsonMst.put("update_optid",currentUserId); @@ -268,6 +272,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic jsonMst.put("repair_plan_name",whereJson.getString("repair_plan_name")); jsonMst.put("devicerecord_id",whereJson.get("devicerecord_id")); jsonMst.put("maintenancecycle",whereJson.getString("maintenancecycle")); + jsonMst.put("repair_type",whereJson.getString("repair_type")); jsonMst.put("plan_start_date",whereJson.getString("plan_start_date")); jsonMst.put("detail_count",tableData.size()); jsonMst.put("create_id",currentUserId); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql index 8ed59224..ef8405ca 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql @@ -22,6 +22,7 @@ 输入.is_active TYPEAS s_string 输入.begin_time TYPEAS s_string 输入.end_time TYPEAS s_string + 输入.repair_type TYPEAS s_string [临时表] @@ -80,6 +81,10 @@ mst.maintenancecycle = 输入.maintenancecycle ENDOPTION + OPTION 输入.repair_type <> "" + mst.repair_type = 输入.repair_type + ENDOPTION + OPTION 输入.is_active <> "" mst.is_active = 输入.is_active ENDOPTION diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairplan/AddDialog.vue b/mes/qd/src/views/wms/sb/repair/devicerepairplan/AddDialog.vue index dd4c6d03..c94064eb 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairplan/AddDialog.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairplan/AddDialog.vue @@ -65,7 +65,25 @@ - + + + + + + + + @@ -144,7 +162,7 @@ import CRUD, { form, crud } from '@crud/crud' export default { name: 'AddDialog', - dicts: ['EM_DEVICE_WX_CYCLE'], + dicts: ['EM_DEVICE_WX_CYCLE', 'EM_DEVICE_WX_TYPE'], components: { ItemDialog, DeviceDialog }, mixins: [form(defaultForm), crud()], props: { @@ -180,6 +198,9 @@ export default { ], devicerecord_id: [ { required: true, message: '设备不能为空', trigger: 'blur' } + ], + repair_type: [ + { required: true, message: '维修类型不能为空', trigger: 'blur' } ] } } diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairplan/CopyAddDialog.vue b/mes/qd/src/views/wms/sb/repair/devicerepairplan/CopyAddDialog.vue index 1d129080..cc4bd320 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairplan/CopyAddDialog.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairplan/CopyAddDialog.vue @@ -68,7 +68,25 @@ - + + + + + + + + @@ -137,7 +155,7 @@ import CRUD, { crud } from '@crud/crud' export default { name: 'AddDialog', - dicts: ['EM_DEVICE_WX_CYCLE'], + dicts: ['EM_DEVICE_WX_CYCLE', 'EM_DEVICE_WX_TYPE'], components: { ItemDialog, DeviceDialog }, mixins: [crud()], props: { diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairplan/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepairplan/index.vue index e61067b4..1443dfe2 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairplan/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairplan/index.vue @@ -73,6 +73,23 @@ /> + + + + + @@ -111,6 +128,7 @@ + @@ -153,7 +171,7 @@ import CopyAddDialog from '@/views/wms/sb/repair/devicerepairplan/CopyAddDialog' export default { name: 'Devicerepairplanmst', - dicts: ['EM_DEVICE_WX_CYCLE', 'IS_OR_NOT'], + dicts: ['EM_DEVICE_WX_CYCLE', 'IS_OR_NOT', 'EM_DEVICE_WX_TYPE'], components: { AddDialog, pagination, crudOperation, rrOperation, udOperation, DateRangePicker, Treeselect, CopyAddDialog }, mixins: [presenter(), header(), crud()], cruds() { @@ -228,6 +246,9 @@ export default { formatMainName(row, cloum) { return this.dict.label.EM_DEVICE_WX_CYCLE[row.maintenancecycle] }, + formatRepairpType(row, cloum) { + return this.dict.label.EM_DEVICE_WX_TYPE[row.repair_type] + }, loadClass({ action, parentNode, callback }) { if (action === LOAD_CHILDREN_OPTIONS) { crudClassstandard.getClass({ pid: parentNode.id }).then(res => { From b3eae9643219aaf4b30dfed5bb0042e7f08c9dc6 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Tue, 27 Sep 2022 11:50:13 +0800 Subject: [PATCH 08/20] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mes/qd/src/views/wms/pf/formula/DivDialog.vue | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mes/qd/src/views/wms/pf/formula/DivDialog.vue b/mes/qd/src/views/wms/pf/formula/DivDialog.vue index ed46f715..2eb78c0b 100644 --- a/mes/qd/src/views/wms/pf/formula/DivDialog.vue +++ b/mes/qd/src/views/wms/pf/formula/DivDialog.vue @@ -902,9 +902,11 @@ export default { } for (let i = 0; i < this.tableDtl.length; i++) { if (this.tableDtl[i].status === '10') { - if (parseFloat(this.tableDtl[i].sum_ivt_qty) < parseFloat(this.tableDtl[i].formula_qty)) { - this.crud.notify('配粉重量不允许大于可用库存重量,明细序号为' + (i + 1) + '请检查!') - return false + if(this.tableDtl[i].is_need_move === '1'){ + if (parseFloat(this.tableDtl[i].sum_ivt_qty) < parseFloat(this.tableDtl[i].formula_qty)) { + this.crud.notify('配粉重量不允许大于可用库存重量,明细序号为' + (i + 1) + '请检查!') + return false + } } } } From 38629b873b056a498fa1ae39bdfb91be70eb154a Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 27 Sep 2022 16:31:48 +0800 Subject: [PATCH 09/20] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../run/rest/DevicerunrecordController.java | 9 ++ .../run/service/DevicerunrecordService.java | 8 + .../impl/DevicerunrecordServiceImpl.java | 114 ++++++++++++-- .../wms/sb/run/wql/EM_DEVICERUNRECORD001.wql | 49 ++++++ mes/qd/src/api/wms/sb/devicerunrecord.js | 10 +- .../wms/sb/run/devicerunrecord/PaDialog.vue | 141 ++++++++++++++++++ .../wms/sb/run/devicerunrecord/index.vue | 107 +++++++++++-- 7 files changed, 413 insertions(+), 25 deletions(-) create mode 100644 mes/qd/src/views/wms/sb/run/devicerunrecord/PaDialog.vue diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/rest/DevicerunrecordController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/rest/DevicerunrecordController.java index 19ce3aaf..e8e30bcc 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/rest/DevicerunrecordController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/rest/DevicerunrecordController.java @@ -66,4 +66,13 @@ public class DevicerunrecordController { devicerunrecordService.deleteAll(ids); return new ResponseEntity<>(HttpStatus.OK); } + + + @PostMapping("/submit") + @Log("填报") + @ApiOperation("填报") + public ResponseEntity submit(@RequestBody JSONObject whereJson) { + devicerunrecordService.submit(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/service/DevicerunrecordService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/service/DevicerunrecordService.java index 2d12f6da..c7f50c7c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/service/DevicerunrecordService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/service/DevicerunrecordService.java @@ -71,4 +71,12 @@ public interface DevicerunrecordService { * @param ids / */ void deleteAll(Long[] ids); + + + /** + * 填报 + * + * @param whereJson / + */ + void submit(JSONObject whereJson); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/service/impl/DevicerunrecordServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/service/impl/DevicerunrecordServiceImpl.java index cd2ee714..699f23f8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/service/impl/DevicerunrecordServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/service/impl/DevicerunrecordServiceImpl.java @@ -2,12 +2,16 @@ package org.nl.wms.sb.run.service.impl; +import cn.hutool.core.date.DateUnit; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import lombok.RequiredArgsConstructor; import org.nl.exception.BadRequestException; +import org.nl.modules.system.service.DeptService; +import org.nl.utils.PageUtil; +import org.nl.utils.SpringContextHolder; import org.nl.wms.basedata.master.service.ClassstandardService; import org.nl.wms.sb.run.service.DevicerunrecordService; import org.nl.wms.sb.run.service.dto.DevicerunrecordDto; @@ -18,9 +22,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.data.domain.Pageable; import java.math.BigDecimal; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; @@ -46,16 +48,16 @@ public class DevicerunrecordServiceImpl implements DevicerunrecordService { @Override public Map queryAll(Map whereJson, Pageable page) { + DeptService deptService = SpringContextHolder.getBean(DeptService.class); + String material_type_id = MapUtil.getStr(whereJson, "material_type_id"); String class_idStr = MapUtil.getStr(whereJson, "class_idStr"); - String begin_time = MapUtil.getStr(whereJson, "begin_time"); - String end_time = MapUtil.getStr(whereJson, "end_time"); + String begin_time = MapUtil.getStr(whereJson, "begin_time").substring(0,10); + String end_time = MapUtil.getStr(whereJson, "end_time").substring(0,10); String device_code = MapUtil.getStr(whereJson, "device_code"); HashMap map = new HashMap<>(); - map.put("flag", "1"); - map.put("begin_time", begin_time); - map.put("end_time", end_time); + map.put("flag", "2"); if (ObjectUtil.isNotEmpty(device_code)) map.put("device_code","%"+device_code+"%"); //处理物料当前节点的所有子节点 if (!StrUtil.isEmpty(material_type_id)) { @@ -66,7 +68,40 @@ public class DevicerunrecordServiceImpl implements DevicerunrecordService { String classIds = classstandardService.getAllChildIdStr(class_idStr); map.put("classIds", classIds); } - JSONObject json = WQL.getWO("EM_DEVICERUNRECORD001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "file.device_code ASC,run.run_date ASC"); + // 归属部门 + String dept_id = MapUtil.getStr(whereJson, "dept_id"); + if (!StrUtil.isEmpty(dept_id)) { + String deptIds = deptService.getChildIdStr(Long.parseLong(dept_id)); + map.put("deptIds", deptIds); + } + + ArrayList objects = new ArrayList<>(); + + Date begin_date = DateUtil.parse(begin_time); + Date end_date = DateUtil.parse(end_time); + long betweenDay = DateUtil.between(begin_date, end_date, DateUnit.DAY); + + if (betweenDay == 0) { + // 如果是某天则直接查 + map.put("run_date", begin_time); + JSONArray arr = WQL.getWO("EM_DEVICERUNRECORD001").addParamMap(map).process().getResultJSONArray(0); + objects.addAll(arr); + } else { + // 如果不是则根据日期递增循环查出 然后合并 + for (int i = 0; i <= betweenDay; i++) { + String day_time = DateUtil.offsetDay(begin_date, i).toString().substring(0,10); + map.put("run_date",day_time); + JSONArray arr = WQL.getWO("EM_DEVICERUNRECORD001").addParamMap(map).process().getResultJSONArray(0); + objects.addAll(arr); + } + } + + // 组织分页查询并返回 + Map json = PageUtil.toPage( + PageUtil.toPage(page.getPageNumber(), page.getPageSize(), objects), + objects.size() + ); + return json; } @@ -158,6 +193,12 @@ public class DevicerunrecordServiceImpl implements DevicerunrecordService { public void update(JSONObject whereJson) { WQLObject tab = WQLObject.getWQLObject("EM_BI_DeviceRunRecord"); String devicerecord_id = whereJson.getString("devicerecord_id"); + String runrecord_id = whereJson.getString("runrecord_id"); + + JSONObject jsonObject = tab.query("runrecord_id = '" + runrecord_id + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonObject)) { + throw new BadRequestException("请先填报"); + } JSONObject jsonFile = WQLObject.getWQLObject("EM_BI_EquipmentFile").query("devicerecord_id = '" + devicerecord_id + "'").uniqueResult(0); @@ -203,4 +244,59 @@ public class DevicerunrecordServiceImpl implements DevicerunrecordService { } } + @Override + @Transactional(rollbackFor = Exception.class) + public void submit(JSONObject whereJson) { + WQLObject tab = WQLObject.getWQLObject("EM_BI_DeviceRunRecord"); + + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getNickName(); + String now = DateUtil.now(); + + String devicerecord_id = whereJson.getString("devicerecord_id"); + String run_date = whereJson.getString("run_date"); + + JSONObject jsonFile = WQLObject.getWQLObject("EM_BI_EquipmentFile").query("devicerecord_id = '" + devicerecord_id + "'").uniqueResult(0); + String status = jsonFile.getString("status"); + if (!"10,11,20,30,40".contains(status)) { + throw new BadRequestException("此设备不能填报"); + } + + double run_times = whereJson.getDoubleValue("run_times"); //生产时间 + double prepare_times = whereJson.getDoubleValue("prepare_times");//准备时间 + double error_times = whereJson.getDoubleValue("error_times"); //故障时间 + double adjust_times = whereJson.getDoubleValue("adjust_times"); //工装调整时间 + double product_qty = whereJson.getDoubleValue("product_qty"); //生产总量 + double nok_qty = whereJson.getDoubleValue("nok_qty"); //不合格数 + double theory_beat = jsonFile.getDoubleValue("theory_beat"); // 理论节拍 + + JSONObject jsonMst = tab.query("devicerecord_id = '" + devicerecord_id + "' and run_date = '" + run_date + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonMst)) throw new BadRequestException("填报信息已存在"); + + JSONObject json = new JSONObject(); + json.put("runrecord_id", IdUtil.getSnowflake(1,1).nextId()); + json.put("devicerecord_id", whereJson.get("devicerecord_id")); + json.put("run_date", whereJson.getString("run_date")); + json.put("run_times", whereJson.get("run_times")); + json.put("prepare_times", whereJson.get("prepare_times")); + json.put("error_times", whereJson.get("error_times")); + json.put("adjust_times", whereJson.get("adjust_times")); + json.put("product_qty", whereJson.get("product_qty")); + json.put("nok_qty", whereJson.get("nok_qty")); + json.put("remark", whereJson.getString("remark")); + json.put("create_id", currentUserId); + json.put("create_name", nickName); + json.put("create_time", now); + // 计算OEE指标 + try { + BigDecimal div = NumberUtil.div(NumberUtil.sub(run_times, prepare_times, error_times, adjust_times), NumberUtil.sub(run_times, prepare_times, adjust_times)); + BigDecimal div1 = NumberUtil.div(NumberUtil.mul(div, theory_beat, product_qty), NumberUtil.sub(run_times, prepare_times, error_times, adjust_times)); + BigDecimal oee_value = NumberUtil.mul(div1, NumberUtil.div(NumberUtil.sub(product_qty, nok_qty), product_qty)); + json.put("oee_value", oee_value); + } catch (Exception e) { + json.put("oee_value", 0); + } + tab.insert(json); + } + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/wql/EM_DEVICERUNRECORD001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/wql/EM_DEVICERUNRECORD001.wql index 93e360df..773e9490 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/wql/EM_DEVICERUNRECORD001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/run/wql/EM_DEVICERUNRECORD001.wql @@ -18,6 +18,8 @@ 输入.device_code TYPEAS s_string 输入.begin_time TYPEAS s_string 输入.end_time TYPEAS s_string + 输入.run_date TYPEAS s_string + 输入.deptIds TYPEAS f_string [临时表] @@ -77,5 +79,52 @@ ENDPAGEQUERY ENDIF + IF 输入.flag = "2" + QUERY + SELECT + file.devicerecord_id, + file.device_code, + file.device_name, + file.extend_code, + class.class_name, + 输入.run_date AS run_date, + run.runrecord_id, + run.run_times, + run.prepare_times, + run.error_times, + run.adjust_times, + run.product_qty, + run.nok_qty, + run.oee_value, + run.remark, + run.create_name, + run.create_time, + d1.name AS dept_name + FROM + EM_BI_EquipmentFile file + LEFT JOIN EM_BI_DeviceRunRecord run ON file.devicerecord_id = run.devicerecord_id AND 输入.run_date = run.run_date + LEFT JOIN md_pb_classstandard class ON file.material_type_id = class.class_id + LEFT JOIN sys_dept d1 ON file.use_groupid = d1.dept_id + WHERE + file.is_delete = '0' + AND file.status not in ('90','91') + + OPTION 输入.device_code <> "" + (file.device_code like 输入.device_code or + file.device_name like 输入.device_code) + ENDOPTION + + OPTION 输入.classIds <> "" + class.class_id in 输入.classIds + ENDOPTION + + OPTION 输入.deptIds <> "" + d1.dept_id in 输入.deptIds + ENDOPTION + + ENDSELECT + ENDQUERY + ENDIF + diff --git a/mes/qd/src/api/wms/sb/devicerunrecord.js b/mes/qd/src/api/wms/sb/devicerunrecord.js index 4c7749ff..942a6020 100644 --- a/mes/qd/src/api/wms/sb/devicerunrecord.js +++ b/mes/qd/src/api/wms/sb/devicerunrecord.js @@ -24,4 +24,12 @@ export function edit(data) { }) } -export default { add, edit, del } +export function submit(data) { + return request({ + url: 'api/devicerunrecord/submit', + method: 'post', + data + }) +} + +export default { add, edit, del, submit } diff --git a/mes/qd/src/views/wms/sb/run/devicerunrecord/PaDialog.vue b/mes/qd/src/views/wms/sb/run/devicerunrecord/PaDialog.vue new file mode 100644 index 00000000..498585a0 --- /dev/null +++ b/mes/qd/src/views/wms/sb/run/devicerunrecord/PaDialog.vue @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mes/qd/src/views/wms/sb/run/devicerunrecord/index.vue b/mes/qd/src/views/wms/sb/run/devicerunrecord/index.vue index f5101b44..177ca5fe 100644 --- a/mes/qd/src/views/wms/sb/run/devicerunrecord/index.vue +++ b/mes/qd/src/views/wms/sb/run/devicerunrecord/index.vue @@ -12,7 +12,7 @@ label-suffix=":" > - + + + + - + + + 填报 + + - - - + - + @@ -112,13 +131,22 @@ - - - - + + + + + + + + + + + + + - + + @@ -148,11 +177,14 @@ import '@riophae/vue-treeselect/dist/vue-treeselect.css' import crudMaterialbase from '@/api/wms/basedata/master/materialbase' import DateRangePicker from '@/components/DateRangePicker' import DeviceDialog from '@/views/wms/sb/upkeep/devicemaintenanceplan/DeviceDialog' +import { getDepts } from '@/api/system/dept' +import PaDialog from '@/views/wms/sb/run/devicerunrecord/PaDialog' +const start = new Date() const defaultForm = { runrecord_id: null, device_code: null, devicerecord_id: null, run_date: null, run_times: null, prepare_times: null, error_times: null, adjust_times: null, product_qty: null, nok_qty: null, oee_value: null, remark: null, create_id: null, create_name: null, create_time: null } export default { name: 'Devicerunrecord', - components: { pagination, crudOperation, rrOperation, udOperation, Treeselect, DateRangePicker, DeviceDialog }, + components: { pagination, crudOperation, rrOperation, udOperation, Treeselect, DateRangePicker, DeviceDialog, PaDialog }, mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { return CRUD({ @@ -162,20 +194,27 @@ export default { sort: 'runrecord_id,desc', crudMethod: { ...crudDevicerunrecord }, optShow: { - add: true, + add: false, edit: false, del: false, download: false, reset: true + }, + query: { + createTime: [start.daysAgo(0), new Date()] } }) }, data() { return { + open: true, classes: [], class_idStr: null, materOpt_code: '23', + depts: [], deviceDialog: false, + openParam: null, + addPaDialog: false, permission: { }, rules: { @@ -194,14 +233,20 @@ export default { crudMaterialbase.getMaterOptType(param).then(res => { this.class_idStr = res.class_idStr this.crud.query.class_idStr = this.class_idStr - this.crud.toQuery() this.queryClassId() }) + this.getDepts() }, methods: { // 钩子:在获取表格数据之前执行,false 则代表不获取数据 [CRUD.HOOK.beforeRefresh]() { - return true + debugger + if (this.open) { + this.open = false + return false + } else { + return true + } }, hand(value) { this.crud.toQuery() @@ -240,6 +285,38 @@ export default { tableChanged2(row) { this.form.devicerecord_id = row.devicerecord_id this.form.device_code = row.device_code + }, + // 获取弹窗内部门数据 + loadDepts({ action, parentNode, callback }) { + if (action === LOAD_CHILDREN_OPTIONS) { + getDepts({ enabled: true, pid: parentNode.id }).then(res => { + parentNode.children = res.content.map(function(obj) { + if (obj.hasChildren) { + obj.children = null + } + return obj + }) + setTimeout(() => { + callback() + }, 200) + }) + } + }, + getDepts() { + getDepts({ enabled: true }).then(res => { + this.depts = res.content.map(function(obj) { + if (obj.hasChildren) { + obj.children = null + } + return obj + }) + }) + }, + addPa() { + const _selectData = this.$refs.table.selection + const data = _selectData[0] + this.openParam = data + this.addPaDialog = true } } } From 21174057ea82904eba261ebfef5c69b8dc6d2a71 Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 27 Sep 2022 16:40:59 +0800 Subject: [PATCH 10/20] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mes/qd/src/views/wms/sb/run/devicerunrecord/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mes/qd/src/views/wms/sb/run/devicerunrecord/index.vue b/mes/qd/src/views/wms/sb/run/devicerunrecord/index.vue index 177ca5fe..f81afc9a 100644 --- a/mes/qd/src/views/wms/sb/run/devicerunrecord/index.vue +++ b/mes/qd/src/views/wms/sb/run/devicerunrecord/index.vue @@ -32,7 +32,7 @@ @keyup.enter.native="crud.toQuery" /> - + Date: Wed, 28 Sep 2022 10:21:37 +0800 Subject: [PATCH 11/20] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/nl/wms/ql/wql/ql.xls | Bin 267264 -> 284672 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/ql.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/ql.xls index 93bd617c29a429e5b32e7e4bf08dd245d6381431..67ab42193b363a70233f6574b0a0c327d186a862 100644 GIT binary patch delta 24887 zcmb7N30zdw_rLeeFf6hRhz=;ih^XugJGcS^xaY2!CLoKF2ncB6HkjpJE>E4TEL-i@ zUZ#^RN}Da3OIe!zGR?}YOfAc-%>Vb?_vQfu*zfOr?%emzUC#HMd+xpG-1i0>o-{VR z;J>b4_oa+69nwG7uU|(d{!PR8w@8aPW7qBeRg&q&>NR|Wq~|F++$0+}7NhVQ8k8U} zMUpq_4tIL@u~C5^tUS)wty%KZsgIBIJ5kUm*XwOk@h$S7`rCX@b(t#)lnQc<+b#n* z55IYmoNbsWk1}+W?==MY8(Cl0ho!RtEQ5_>W7&9lw_zxE-=TNksh6L2x5&fXeRk~Y zkSZBC^J1?{@)4gvJzeY=;yXYuzZV$b9%eqp0$HNGEx^PRWwVLC4+ofn6M^Wr>qf?2 z#s&S;cU5X`=-5_atlEvG&C(8PY1E6k4JK1?x>MGTWo3KA z_J%Qiy1<(uoBd5ZQ+)T4PniY<_jT6P1|vq)>?dahnRtKs=AZ;Q%oN~0K$Uk}P+Pjn zR7-EDtCxbS-1q>wIy8X~l(&VNc$T~_jJ^+x>r=gOy#a)5+1T5JiWYHQ7*3Qzab4Zp zBs)Tba9yjrnMjR7OIh+MlxCsylGF_Voe(_LQe#Ad>=$8>^CAK$?-{ohL`Ey)L0lr0igTg^M1!7Y2-Dlp(ahM4mI6cDVGy{tK`spo>WEbV z@``_|x-eqBx}hvUwnfoE+#5xb8l!LLgUDD05eil4aKaulq>}u_j4^RMCkwkJuL;a?pR(IL#lZ)rhq5NSzVn*o*-A_Izes( z@C4atNr0xZEM)eHRHd3O<-_>SmbY18f)<1PhUJ#v1i=O%G+XgeY=sn{^k9(-6HRJG z$mmkhB3pt@^2pf1vU}{{9roBri4T?=<4wVXMbBcI1T>!}gXN1YO1rz1ViL*ECj>QX z?{9?GwP`k39+hAkGDPd$Ipm5d=H8Ir+}_pt!gQ^|bgjbbteEVWk0ig9EI8QOYDO#5 zDObjtfoV$Bb7>OW6y|Zwbfnf4pxUEHw^QE?yJTUFl>=W*AGXOM#Fm7qS%P zLW*;=YH90|6PxRLrO>Uwd`W^~YvbLV-dvF?UCxRiUA4XRSg|ydKC!k!SJ0}LqE$d% zD6fwWY-93b{R@MgMjK>IbTp!-R$3YRkQ&-r-$=x(G-WgqqlGQ!iTY+N4{}jNFD#^3 zBxzN!L6a^k0+|(OWV9{KYM`K_3lCh-KXnlxC~egzD1xp*QOu3>!x!BDvVNf)zvbY|$Gv%A+YU zL@8~)R4ABf95^O&+e!r8#oRIddYEivD3@A{s?r;&SS*m5ik)1^?r6 zkJGNkYgZGrtBKmx&Dzx@=auOej+wxGF!B;qf#~8oLyU1v}Bs@LTujIj2m=T?$S=E{I<4;Gut4VDqM)o+0H^) zTQc+;9%ZV$L0Q!e%BtHf3ziQLGn!_jyuGonxj|X&4a(|nP&VfVWpmpt3zgRa>+L9S zTR(~{^ZuoMeY@?WO!IG0w%`V33)?LVmY*DF>_!IwZD1~7QR?DjTHJOG8J26Zp{zZN zZ)m3-S<8|el-)RljHn(V&tj<|<0 ze(@5jhBNnz=a5VK^tGMmUs!hd;P+{-U0rg^s`sz6cd0AXRsPNCl-0k>#Wz56tttO= zdx&i{3fMpM__Gs+4IWn%IN-{`HEU--mH6`VHGPtAnv}g|=YKYR-ZyF00iz_Z8#5zO zpZD^XNt^oYIk7Wx-HBIz8e;5xBz#@?oxjgI@c5kcxTMp+FS>GY%hmNuwq1HZ{d(rv zffufyynfrt_vd7l2Mk~Bb@PvJgTV=kwS=_dCMh*!=$T z@e3~W%}Khxzq5W_?TR@;8M7}R^}n~Qr@7{ZH!h^!Iybv&$j-srLMM0n`1^OWM|s{n zKH#lebR90evSRCos6NBwiTl0gE?c(D{K?|Up zb?V%pB~cAYp_51M`})Wa*Yq#1`NXS&$2NR3aBTP&jmf6pZf#^1zV7nY(Ob?Z^?vA$ z@Y23Rf6aULgL2;=HZ*1&&f&RRcHg`Gfshk1XV(4g*mgYTx3X?87hShKuqj~HhOEpv zGkl+2`bN^)4~y&fpwiO=`u?+E@=u%QKfCnmmiuECjNg*_ZvU-I3m(7TcjCV36~FHr z|82;;?q8HNx4W38>;b>PjZyPxXkwfNcj-+r0* z%Y}WYa{nAl`j0Dg-*|p@M8ENqr%(Eo4LE4qa%xM>=4ijAYx%d|{B>;6u1=SFu(K~l z9V%Xbcm0F41N|O*b6nw^%ip?>{H5~Gzi)l$wWEtZJNDeQ3+BpqbB}KL=l!KmZGZCH zj~?xHVe(t`8%`uV(Qo(lxxMyXtD77?wEx-RWBPt-dwurjU;h2!LkU+pBoDZnVZDBJ zO<2O0o%7y%?zKL9f3CIN6!G2Jr><_T+H3po@-?GE%NNy;{%`Na*KYAUZ>X$)X!Bd? zcmDca`m(duSJ`7r<~N+3?|$m)5y$rFFV+6F|AU*pe6-5cIDO^yHx4h>&tUVHe0Tqm znEi{EzCCRByFcIZ{^N~X64Q%&{@QQ)!}H(yD0=PrpH9C1k>TR@HwW=C9>=+*^UU!l zO= z&4#lAJXOfUbA@rZ%4Ws*l(K48$40OsR>Nj8e~Y}tZqlKNoY>e&Uc1}feO6J;%!2X~ z`N1bmdg@B<{;o++M0xbiPVx(HxEprNtDRc3g6N*b1=ETuiYkjs=}!J&t&g1dZbyW5 zvtKkBUYfO~^yo}E{%KQ(it^cW%1a7rit0*b|3;Iq-<0Z7@9R_Ti{~1~pbFL2)rs2F zDY~ps>H?dGuI~GJ6>G!R$)jF0d5NOh>eA8@IpHajzOtaUQnWra(=g_tjUOL2=cb z$~pw}#WkhC3stx=-gV5MQ(wL5lSw|~I%oxzMYBqq?&`{Cm7=qsM`o73dJ|eG7t}(p z-284Uy}Sw631z*;na7lD28Z(6f|AmT(mINWEMYB2Fo%uADE+VFsMPkixQge_xKacm zZHwJ!>{|`C)2e2b)Kx$*iRsB`@`t%LgCO(oT|4#4SZrpsrL!xmw0_EKwvX{brNb zLt{rx-%?sX4YRWU!zRyJ&}dD0QAL4#X=k9^@PNAqDO40=*0~oI7nfGoiNX|T8d#3qqYqQ{TcA6ie-&!F@u_kXu5pH7p_gB6S)D@tjW7gtr5mDkKFm|a)D zVMCy~zP1GH%S+(FD5|Js^$@oJLWxC4-nKQy!YfAqF?I-agdwP{uPv^cRb5nBf5S#S zM^l>~ia^b+h$iy?&yI3292M#!=rM8f&Y6dbFRqnGKi)BpjEVXqgYs!+P|C#da@rJQ zR8c;%G0-L~aOFZW4g)p7yeX)x(xIk7Sz~DGELa#b#)mO&;OgqDv4(J15TjylA)BHr z! z#vY(`Wi4ZS^o%V<{ugp-9b@ycqS)$jaS0cL*W;l%Ee;zP`wl*^x6Ig`*aH89ygL@E zp&J={3;9vx!@Z!kO?Xs~yw7IFUc%D*Gx9QUY_K!-2lAwQ8G8!Y4j~`p3;%ZuW6vYs zjyw#$_p$pJ8);-VmU=&9&tmC&1bG*n&iVlEU35x|{33GsLB=`+0_j7HT|r*Ajj^9P zF&6wVW9vJkQ{=r(pg#gS@>d?k0*;gB3y(229p|T2PcU}2D`S(kGj=2df;|braDe>O zf8fZ6*%*s{3e3Y8Gd~TcP*wRe6k{-U{8@4UQ29B={)>F_^Nj6)>ZZQH*e+=7ju#m_ z0gX9cV$2VkI=%z-p`n9!0EuFcVuON2&wR?**O2Jd&oCsA=*?po3P_avIi!O`OHM!wkm$`XK*vzB zFCifWy6Gge2Z1hqg(1R_=}*I6AW+5E&^QFDI)m|l91=AG-tUk|{~anol9gwnI*io| z=U|MG5Gdgn z#&TiQ3xCBu1iSw-`i5W!e}fcfAX&-pjMaD8@#on`++N!EiDX<6{!zkUQ}Rg1xBCr- zPxkuCqx6CDmG_OtIebRhqw}hBUKzFUP`S^M!?NjviDp+~tJe2?P_yHK^S>I5XIa^E z)85HLce|bV zwB3p514e*8FjAtAj_vjVt8WIxUBxQj@<(mQRJC~k>k4h8a(v`df8@D~D_qB3ZMvS< zbiL!9t3|x2(qGLgHM@T2uhqe6oFv$Trv|Y&pGoK1N1pL_j89tAJx`an{hcnQb9=Rc z2l6EO=fBNz{xys2do4qrd+ioOFMrO`Of;B{+{4~5f~W5|_|FW<)|X?lfCHumG|-nf zeGEcNG*JCHCX%SbQKvs|`WOT@8iyttT`6?Ztt*{OK!?%ALRi}#HNHc9Uz`EQfoyM-M`efm4(aEA)(hC&ESPxwa6gt+&HtAR|+oWUpY)Q8t z((~P%J65{!d$`x^E}RXC;%tAc1NP{x?>~TJi_na4Aa{PUpm8!7GQw<*MOQPz9Pa#B z9k+Gh{t{1eEcD^K-FS*4ts}qH%`co|=Mb&KF?Gz2M}qj*lA&Z2XBlH?8a&|W6~aFY zACk*Ah<*t(XSv+<?7%j zwSMHk)PH?CpX7%6d)4|W|5AUzEdH%Nu{(bo^|@rgdz?CURv6R(Y?9siA&u^)(GARE zA6LUC^X~Q+YPgA89PiignLN0ub{2Ei&cX(2u@A4~#k`08g*v5n9iQVCp7}gy{%>)X zeU!5|zvHaaRnA`QAhE06B(~flu|X-0g8BTBo>61@U&89bg>uL7_CDhs(c8F>Pt*h~ zRmxy=h42%2yB~Yuv%KHt13cHB>!A;_PdUIn+%WN3S9|#Z9@eP`E+de7BK1P*jTC9$ zdVnXm(d)PU>_-mpu5QFD&why-48r9Vq@K{(AIOIw71(=z#I64H@SL8NW7;t~;U8?T z|A^miq~~$;W-dK@Yd~^5@GP%2LIQf!N9L4qV+kA?dw8t@8lvY^R6iT_+tbfDKHhQk z9Ukkx>mZ-)A2pHhR~yYjqnmkqpGl7UzT#0j4BtCn^Bv&zvD$3zzwp|2h9`DI{T@&U zVSD1n^>_X$2`&+OX?k!3k5>)vSs3Kw!XTf8LH4jerk4mrg4*c|H}2HY;3nPf)hUL1 zNJa)n8&5hE_ppJ-IJ}M0A|D%uw;?x+7V#74E0G^Z&&r*IyU$b@Cjg^2SLk{c$>Dv9 z`Eml5-b=Z;kw}zE_dtzL1l|D9Jy|qw`uN(|V#!NDBRk6zK)w(_j;cVu z!0wRDKUINz0U)uW<1e6(I3A(``2s-VRJwu1bJ{5h$QJ+-uhKmr5cNvV)E6p{zD_K@ zLTUsdY%DJmmBQJV|DxTuLZu@*4Av19#2Ia{&d^{vo(Y#8gC}ht9U(>e5=USHXIy#O zS42pQ?1f!<=V02{lz;t^ElrcymxCpiJxQ`R4(EHhFFAvWHYSmqf^A!TlZQZKO8)}2 zF+C$_00Y_!lwnpWGziqH9(jMRZOOTFr6DF_fj0Jjiw-GD2y~%QMBv&Ofm16Q>A@8s z;;B~k$iE9@v?L+sY~+%#Vsh@BL??|LJ69TM%aukBohyxW=t?6$&IO=NIN+|*kpt&S zqoHwW%*YyDY2>rHwk3bfl}6?f$ZUl)T-tad?rqf}qWWfyUlz82xVRbZE}=oh$j#a+ zv~F$GBX=&4seEl*sfeQi>X7UNVD1t#i>~kIC)7zpHhv3l|D#Ma8q~?0dQ<#Ij=LS& zorK-uW$jLfG8?H{sjA2APVLSOce}JZ1MVE!ojW$1SF}41l(8BD#3Xu;xztyn5{Dk+*vU%fJD35tKw6F*pL{LX^02sS=1ec z{RR9>m6ZHMCUrJP-Tcj6{b3ksjeAQIzmu++FCIs6CkD@f~g)%r}M8= zrg|`)!B447_2{NtFx7+U41QXpyRq9;x`EB)MH=0mRj70i^!hdEHd?gxSVCJ%PwNu_ zF$y4fbOY(npb6>14M1k`Z`6+60HjiM?A8K^8|uwc=}sU@Yj;+~tEexV=*$D?zr`(q zacdI{t&0REP=KM+lLG#o3WmmZ7C)Okjcp7(4?47`)mbG~+J7oKwNLYhc_3m>)E{su>%YJJFDpy5mzVROT*#{D=mm z756rQ&@MngLIe(^r z5ZZbOh*<#f1d!RBjx}ktJprVKUsQp30!Xb8&=WxFY#hglVt#r8$ZWO1z~-p)(~Rb= zr>7qrF6GlvOjO$Ch<&(VPjNFQDrm%>R*XX46{VzKn#RgR^#c28+~#z2$flL$foz~i zI68Zn84doOJ#DDOK0>g^a|?F2A4My)r4y`P0u~(>&gH+TK)eO4 zUnQ)+#KK!si?>kAcWA26osj79umXv+;w>N*@*A-y?}6Ay3idvN{b|rhav#C|vV=2d zV&kK+$754yBt>QKqiMuPW3SYAY6Q=qppmappETn0FB&1|g&;)>NWOq%E8xGWD)9v- ztZ*tq-xed~3s?)afx>%_s;&3}mSQUe%U9S6$>$4L1^gQomT&v86hECDD8dyhaQOjO z0smcv(cMgC&VsSid+f|?&D}@x z%Zm6vDvZu87~|asbjo&86CQ_*MOE4>L5vkg&IHD@`E|8#69mS)={j}& zGvP|HYkDW6PTLdlc7nPm($jM1p4b`B&fAlg^g&D&r!7cGOAl*E_8_6rOBKIT+7Sq~;q`nD^;%;Sb)*la7!Hr z3)NG{!2*b0qdV0e+yY3j1|(Q4wQi_SK!RHVp*|^Gdw|mq&FRF5&hPHTE2i|ZIWL;$ zN+?C~+%hec3PGb~S|}9)^vkqRDg@w{X_GJn0xZ)asSs##nHEWfK!{~pBo)HkZEU#~ zN`*j@Wm+f|0!fx>p;QQ@Sf+(iwD&L5La7i;!e!bdq+M{C7Dp&C=AJ~1T$LZQEvyaW0n zO9+MjS_27FfhdzQ47&rGc&jpp2_Vi15(XfvxO0BsN9=5^<^kYcEwm%1VF0sAbJfCx z1{6Ah@lnBqwE}Yt@Al*bVE$J~DePms>`=#6ur>Isz-KW&n~^q%Z@TV>BXp`o^{5Ws zQV{nm#Bqcf_f6*@$`M6(L318UD#umff>sDn45tiK&t_yjT2$O9&N3nd&3V?P(0aD0 zryN_*2JCvu)4L5?WE-?7qS>?qH3fCFsOV&@&|=!4#kT116QPB;HfZsJW+KyLjeMV| zmmp}0X0ZP&Oe`Qao#HCeB?_7oj6zFlgO=PzTk?$jG~txCsjchTSXvtu)7zkBv_Z>k zgVv`7?R6n>-!^Fd1WkRdfwVxLpczD(r^@zW#ynleebw1v#_U+n{cuOq&WzbnB4&UY zGh-c}j#diYjcrir6xcd9XftNUt8nG^H2YwKCjYOy%2e4Vx`S!c`A&B*Z93oSF4hL; z2HhQuo3^a(+WOF4TOVjq>JG*gfY*9^qS;_0X_YuWTu5tFrKN|b>$$%wZMY_FcnfL6 z!Bmkp9848yNelQ@0;HvNARLR*ZWe%kXi*BsI?zG`_ERRw&DKNJfD*^|5X)mn6-W=U zCw{PNC;{*TODn9INjU@ zB}|A9TN;>2Ew z=;@j9Tz(ofViPIYBcc~$AE~jA6w*86#7K>Oq{g00HUpYFBl<`fMN>o{37cpyb|o{V zO@tsR5q%UO6>0%}lz?|j|HU7ctuRH6MCPkj?<64 zsNYyXn$r}7!~)l1&B=-dEG4Rs1uP}1Cs?t7Wfu!bEMV2}V01={Yb;>Z@}_`ZiT}te zATWty)rb>dx~S~q1emTAgbFw#D2{NtZX6>$dRFnjnnjDZM$fQI?Nf4*$gdhpxv>g?Z-$>SAQ^KNT z!MMB1Dp@dghGWT4W>YYd+=6kk#yGhJrTZiK*gSrU|AIs)o}9&z{ahm^6)PnqZ0-sRfucjcJ<3lt88l zrUWt#Cc2XMLbtRGrNKm72cG286A;DMOcy|Ut3Yh&0*N#5Om8vP=>XFdc%}o4;=!Z? zOjF>Qu7ODxU?Np8>1~3cSc1SP{$_?U{!uEL41ihBqj5)4W&n)h=Vt&&lb@dfAd2Uk zp#hQ zfY_tfYVPy*0f;SPTj~P<_i@G54q$!khfPu^8^vJ6U2z}#3hwbjd@ua5LsEHyDt%u~ z<$b}pY0CB0825$rO~FQAjd9-=jQe8jwP2$Nm%i*6juAp|+;5TUaFnnD2Mil<%y5S| zYEZuE2x1MOD#r_S+@Ksx)UgI}@bD8Gg}7F_I2d&bna4#BTPzVx;A%&TBS;EZ>W^?j&-?G9QV(2Mdmn| zCq1F#L+x{h;LmCP*YVpBX{tx=8!2yjzB>8V+)eLIa0}5zb{|{n@#yXmMcLbLT9ftO zynBr2U$73k=fWph_kXbU#d*5^f0OPfrPrQJ9UM4fRrJa0gWo&cM}g={b?w=4a*R~S zZP`$v1qvi}l0xG!^f;QrETXGK&=YZ$jo*f*;KzD#sAfoTWZ;vB8Wy&QEdZTr zC8M%nx~vOsc6 zA2uCBcq==?p21J%=v!jH>G5|8@Vmg`R`iT^=rcf{!p1tDdPxd5=wF5!?T25H0{N@< zZ(otZ_*-_j-O@1Ir=ZhYna7YHNBSJ;1kx8s-ynU7bQ0++q*F+zk-kPcgY+5Fw@BY1 zokjW{=^PUM?B_?MpODTY{fu-0=_1l4q+gJJMY@bP+z#!QJR=E!Hv%iX$;$pj`U{E1 zT>|YN(N5hv+?Mxp0~a$~$1G0`HLR1Q!Je!!&@dRz zjKtPFsl#h5UMyrnPWGspD)Vin#dU7<_tc)slDrI(SAWUNU8?EC13e4@o>IWIA*)B> z^;U0bXg|rTGhY75tgS1lswkBPNWryOn@aH0CHz*g6#kvp4Ayfh(`7|Z8MJ^|ES4lo zO0s1x+;Y9%%Dg0B9)QIqC2diUq<9O%%(wQLGO?UhmQ>wdJ7sKrLv3B@tmLFAy3!|J z(dliRlnce{katCLLoy(_BY7ZsB6%U<)naxHgAj_`7s(IFh~$qHfJA)+BJYF*_{@Y9 zgcOX_1<3~~1PQMvvoIujt<@~CXx1GU;Yblkkx0FesI%V4qtxqY%3my+$e(x}kXcfE zUB$E>BZsp*bM~CNs#!(&nQ2ue<{e*}H_}*ER$hE(-bhw9x`AfO9eEEn_;1u9T*^zz z&CkfSuoP=tYEFK3980t$=EUXX=8Z{h$ji=du%&u2rdd5LLLMvQG78J|0Rc#q}Ar6ZU* zF)iL=9yyIKdDA?+d|FLWO@2Lo4$Scstw9>W#^&Sa$+ZJmjxRUh*ZKKudrc#L16<3J z8}zzDX30%SP0GtlG{@yxGV-}4J5GXA5@$(Dvt%?_Z7I2yoSYQn*tcrk#^#SmvJCH? z(=FfJSa6_M0(RKDR@0ceXV1j#=K^I@@CTeo+rg&g>qI-VN-*)EO4`c!THiMwT6v z%B&fwX{pI+am<>Mlo6Mbna%R!ax#-s<8oO_dU9rRMs}J}ngU&Mm4dnlikK6&F=Z8CN>1noY@@S6o_=5x>j=g{Q}t&MWaKao^N0E4+c7j?eR1 z%T9GM-W4wut_d2^;pHVq-cA}*S~e=Lq`YqFj4@gEGW@x`tT)OV_aw80OB;N1hbE<@ zCZ>A~nSJ=R#Q3DQU)z7L&)riBYpSa1rs&o++BT1A%*)Tq9WpLFqrqP?KkRR|R#n#3 zEUc=yo_Z?fj(|T?=Y?3tv3m+bs=o=bZo4(lBQZ5KYjmPDE`??1XU1h`W~5{Or=;bj zrKdIIXIrxq7xnlq2k13wiI`x@P%iF;iYP0>LqjZ{rEzDdzXc1Ma!Z z*70jL?`UwiJT_}aX=z>ZAY6^#w!XA5wXShSmnU^eN8n_mvIMc_sK z2kZTe{3Un$>25sT(fGFRIk!PDD(r))st=HcU66LsB+zJQ%*6hhk1N`BlTj-U+aT?w z$>Kf(rD@`mWzj#qnk#n(ac7^skO$f=AL%-`;eJj0NH?aV z;*k;CR5lH5(xo8#^;9X?{^>`$7@roUcAtZ~0WPGQ59<1~c9iUo9@J&Eb_VR159(s^ zqX=)T6f>{^lwvnXh5K(2Lbl|UcStwE-tn+*%KGXc`-MZgi1pR6_Nv1=Z~LGlx*#58 zzj#PzvUfb9OIcsNkQdsk59?xV7hk{r+b~a`;f^l0>@n686G#=b-7Y+S?rit65A*+X z_=#itPhZV<(jQD7I&SOep2JuDkhyWd&OyIA>Ae@M96#*!mxeE|?)^t;-18Yu`Y(s} zK6Cy^L-q^a(|*xCcIR*>eNpE}2K?@6>}g$^cu(McV*}rH7QA;_x@W=G%{Q&;v$l6y z^2cuy-O=@9-6Tosh`soz?&ofbj|^Ak^+m#G23+l5nVtWkvpU}SRJYtc($!&AJ#w9^ zW9z8>Qs<>_^&?#S-KTYCf7c(|>dEADc73fYs51jM*Qq+BEbo$L^~4F8=(RJ?H z)29!FoVq&nKg%~(POp0AVY~Nv-HUC5Y4vkp$F=i1iQA;jaULI7Mh@Bd%+`}V7XOy* z6x7uncG6uPZYSN<@pjT(-E1d4soTe^bACGLSbRZuiyK_I&oAr3@w>CXFY98kYulrK z)5TLhNzGTP`EE5oM|qbe_Tb-j^t{U+d_}20CE=DzjWk;P}z0f*IxLiu8X7WZ=Ie?=gp3aYq|z~pw(*4 z%gsp1NXp1hOR_3yvtB=s_jc6l^~-r*g&6MRl{+e@e|UOYdP-VSQc`wWT3TviTDp=@ zI>_2TJjs%jl$?^Bo}5a_n&C({=8-uf)J5>zzX-F)=J_&@g1lzG^<`si=&Krfpfe)!N=AMQM|*%tuut0!Om z0=Hn)FQ@jy>>pw^voB7T4EE|M$%7)vk~V1O?&p{{f?+5IZwtV+L)!h=u`4g0M*t2l a56R(g)L-EC^WC^*^FKOohj#!%h5rL2h}5M3 delta 12665 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 From 98ea47de14c0cc65281b7b313e0cfd09c0a9a9ee Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 28 Sep 2022 10:51:45 +0800 Subject: [PATCH 12/20] =?UTF-8?q?=E8=A1=A8=E5=AD=97=E6=AE=B5=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/wms/basedata/em/wql/em.xls | Bin 311808 -> 311808 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/wql/em.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/wql/em.xls index 03543cfeb7c300a0b43f0c08cabfd07844439aa0..abaef46600a202c3509577b9eb5c0c5ddb209adc 100644 GIT binary patch delta 36657 zcmcJ&b$k`a_dY(e_eLRs0Kw%F+!KOpLU1YCBEbR)(gJ}1MGD+dq)?myi+gdmV8sbi zT!OSXl;Xh(ltRAGoSEIdw}p2l zteb~cv-5;Sl^Q0rt5kRMlS;*HS%-LMVne){%b)9fM$Us<6J}M<@6Ceo>A;F49Cpn- zcg^GqbE#G@EPqa;jh$s;HWt%`WVdC7StQG!F!mD_d<3>p;h3wq*Z-=0qM?Ut?Xux6 z;8Cub3E}@_a-yLdlasEs-??TA)c9x9(xGmsF*RIJr?_T*{zOwZ)DNz;i$u7{`7**C zRfC?XM^2@hmYMEadw)a`t8-qsUddh4MQDB3%(t$Y#jcrCu9?4FGX-n8NLv)0F(IZ_ zfCW6v_3A3uOtNc6tL-ABq-&;)Yi6`-W|M2?x@*R_j*GN%b^dL&q-QQx`_{GgVwc)p za8F@lr_*WK_;#I+ZvHDO{PfdLR)zL;`&sH=t?RRW{5SY*u2jX!>(f~V`~s@A|ozpoqo zTb!F~ulhs(~rY{L6w zNl2A#1Wa&aYF@u_sn0c-)R?gLHU6I>vos+&Ax)@qrzXT^qD*!+5lvmqB1}WJ`AgO) z*p%uwlgTidtddExOtfZHrKC*SH2W-@$zNtk*w`%V=hP9G|NQ*r{LO_SKFPIv^Uq?g z{CumY)asK0OSbr|U3#@3ZD-3Qi7I}wJB2#AzWkrscKTnJKiloXPac0sohsZc*H`ql z{8z-QvrHz*WS2}twU4q|)|OPQX3NhiI8xTwAd}x@;@ygxm61tDnT(gocA4C5MGh9& znv&YBsX<)p&-RS4~73(?0%fK6_aV-R5mb^PX)8N{pEevP68nWqr*MX&Ng+er*>? zO~yuk)(Xey(kDCCr|oAQ@r$;f6*%$pmri~Dl7BlQTB+S|V^+D)j+A*SFJx~|*K43qBp_dRdu7b@(j3MY6_8nY@!pfsS>A*w}Vi5=M1wCca+jNb-b3<%}Yr za#2(g6`nDne^eGxXG)EX35(>{ol(Tg(TVCbl*vGuh)&woNh*V{kIk>Vc*4e>BuP~H zqBB(yh)(%+R%eoSSSHV9k}H}D>&c|QOcu%HWb|j9P`FY47(%EPLlVB0$qbnskjYb- z2ofP(sCI)cRC|C-mdNCEm!g5J$WZUXY$z>dG@0U`ItjczDO9K{wQ4RCXV*_xZ(vlv zBk{I_5RTh1?+x*Ihxb|)C9%hxs@~c3JmtSZ1_^f!*YtLn^ zG(Cw6c}h=Hn$!Ba!TNejeiiPVp;uXBz;x_I%?9@(LCa)vP9`5^B3OmTQnkofs`i6S zHp}FOOw#nGYvp?j;-6es2GFHX&MIO$Jk|TN^PRYyvCn5Ohxehbh8g$@Vd3m*k1^Cc z{2#u!GU3d(S^mco%vb%d3h*wz+NBG%H9TQ>o6O3Ve68@@PY!`~pS`l)yz)<~8~zs) z_<**NC-jNT3}ya3X_6tlH)h5ILsG;>QRP?j$|DjJZ!Tq1BU;6)6{W4WI&Gk=Z z{y7U?5v#%{o#X0ful#DPBu&4~ny@S?!zY_xQ`GOD3`?VLHID5#3XxZIvMBT9d&YUS?wn9*LYmB-SBq%O&b?aiZ{gMY&o4x+ zunY;26M7U$@{}hSxQ;&>OUGEs1`3lrQzj$jVK#OaSI%rsnc(zHNS)xF5IZfqS0^t~ zvCZbm)AHFG=3zYLm5s3==9Tgosb)V@^yrHf={sa^lqRy)+$@WmMLHT{8d!bC&hi1^qdpiGH;{09t9iT7?4^q zG)utuN%?O4*7sD^XYW(rTnd=-P5im6GrI(CNcODNYgf?OCCev{tq_;zMf*RTzm&+a zse57nx3zZWoRV1V&-RI)(SI&4=I!X3{!#kge;*xtFu2jU#!Elm)^GHySL0dTpT?~B zkBm9j?Y3jZ+qu3z9oK$8Dr?ER1*7Ml$`G=(c<1GbiCIcN8L%%;pQRg%7i?Y6`W1 z6Vep%&$Vk|*OI#J{-D{uFXs2T)BQ+XOx78__V?}N?6mmigErX~|8Zz~K!ZDVYj>J) z|F_@T?myr4O4)3UE6>Omk@7MyuFK{t-!H%MV*I{SKU80z?z`pTo(o^EuM~0WVxMdY zzkSj0)SL~ECii3?x3`|?RpxN`^{FE=I8&p#wBOd@!Lo1Tihk_3W5L`y`=d7;T%EUL zr?1ZaGWYlS9h*GNKeGPu0)?F;nw2`=;PkQ%UsP-T_SJ`rm%eVb)^oz)t%r}@8~8B) z)zR_33w^z9cfz!r4}KWlC%$y<$b6kcw!~HUEOBQG%fY=IgHBI7+9l;gt)Z3A*v4!5 zhjwkzW!H&gUDwxrkbLpo;^g1Uc=hko(cWztTYRGJiRShFpG@yl_j+WL$I}Pz^1r&l z={!|`Y`H!Qr&TKRL-PLiv+CTtRiy(eeYqglv!6@+S^wwc{ePc0IsNBVCuT3Mtsh>0 zE_Gh9JE7&iyR$0Jv&zdgwblVU$zYY>B6Fl6(WD{xW4U| zxwXAt{ruu-(4YaGQRPXcnREKre=}<2l;*LguHV@+XMBmp7joWj*sSu!)XQ(yefV{J`3_GX zjW6`)jd!(DuM8_Se@>aGxMD9K4RiX<3qNuC%a_ZmIfq>En)NbY_o4GgR(`dp<=*6o zUGpFPe!kh;(Y>$#os=@9?)~AJns}wOjn%4D|LfatCvNRIs9N%}?_TxvdRzSY-Yi$s zX|KbwoVk$YY5Sc+`ghD5dZVe|pt8NYoH*I)d6m<%R^{$<{&?rgKNpMLocr&3DN*s6 z*fwqa;Wjy@ADNk^%8gPNH+Q+$vqSPm{}mo}qvHSW;HdVpY{Jz!H9TtgF*a~>-nlo5 zY&yD@FHX`nuRZp%g{EgpT%4Ql&X~^5JknzXUu*nb(|3_k;}a%7$(1Fx)7LSb`*D_* zd9w0q8elA3pOS^wb~a++tRDMLoB<0pN6S;PLF^jE`{b~@bQn^yl6oQhe5Q#MT74E{7qG_lL+XRm zq9U^y+vCBU>^#17!*us-4r3#|7&|(bv3A%rkDtd_UL5mOna|i+qz{ogeHn{iz*t}! z#(rGLSRNo0Tg2Etq&JZEgLQsd%vdFV#)>atY(LUzNQ+>~{Be0%TN(S3V|Lxf*Z`~wt+qokC+6F> zI~cnN)6Ck52C&51U5pikC9dygtR*aQ|7XTJ!U8AvfITem`(DO6zyjCyG4>TSf4ZNs zuF(9@0miCA;{pd6n~zjSnjV^eb%?RkNbeqoWufT0B*qFs(Je<{(GnRMn{<>h9M-ev zNWVt9=otD9n)f}<*khz^eqrov)EO6^GW949hR#%}toMXeUI8lTJ z^8E&HM>+%PBcz9}F_sOMXmEqEg|NiqoA6^;!1Feas$hZYchKL^{3X)5(74q-$U|SR z{vD{$IP)KjeFKH(JirnPMUx*o;Xu$V`(yMSG@JN@u{-GF`A;DP8Wv4~iJ)2c=kQi& z=KBJshh}S#a%h(L5?&6?F1}(6{Mh!_a8#tWH;f^!U=xwX#T&@ zEl@PT`JS-|^m+8(&=L~%d;l}_`EMT?^M{71sf>l7uM2X{T0zqq8YeIBXX9)cG+kon z>>@OM>A_h6^zAY)&MrgKK0cf+friceI2#Ft9O*b~hOQcvfwR?6AX{e63Zo0!duHP- z5R6La;4Bhp2g61mW14>q91vD@6v&5yplJ}>5%Xch47dP;p>KFfAkc${~7 z{6$0a&rZEs1D;)<+<*t`ts3wO`mI(xv!2|57uEd}cv?Me6YlR>qb6si>+2yAeATjs z+^#=s%`3NwkL?PX^{PyrzK&+*DL^h(|HSC*3Z2tq6LrmM^VDRi|+ipVSz9I zC95lnoNnS3eT+1BCaPRG>!<2dm;OUt(ZyuoPn45UWw}#bmUbh{e4+t{^e2Hu-+hXZ z7!jW;7bC#Eyn_VB`tpwpvK+JWC(AKQf3h5toO`+c?km27^Tf?9`55lowGrmCww!J3 zAe?fIem#L_O7v*MtJtdU<(LpncihK~&wkimxQ=kg17fx}-SHqdK8F&Awc|6=`KQHQ zCE?6z@$vA`gL?Abo;62s<~>Tl&DFF1&g&))>BWZyr8&%}kth(>!)t4Sfj%Zm5>HZ> zxW1sEEikd>6n>Zcw)lawM$%v=k3cd>Cg)|6Wflrg>yaWkqc51n^YOF#L7Ci_Nt)SI zSV|=4^yVTtqYsdUb7ZntCU-<~PWPHaRf>t^tln5AeMNFk*F|zf-zAcx`VE=b=2EVZ zOd7}}RwfB^`Et~(Jddh$5Xmup#5|sop^wg4gLRzM+Q-@Svz#@$NWGDmcL7iGE^-0x zA^J23CgSV@|Li9*{R*BZU6J$rCT15=KP&2==b!x~wo2qHeNq3Gs$b+k>K8r0Q|+jK zN7XO$AN89Z;a7Z6|ADGs^FQjhILp_1qy8gRzvX|_FM5^d_bC+$>v+H8EPGmwJ3N&*Il|F5&Dd^Fo0#@4f5r9l3wT!j zV=wMV)b8_-d3k6e_tBT^}U+JDr)Q%pOeX&r6)nv&X7y;=^b6JWi8Q65XnhIME@tT z=}=Dqw#0TInaxE`2yO`?x+=G`ru?NM(h@UVk}CIP57>2@STeJgI+^r*St=UZwK278gWaXh#Hu8$ z(FWW4OGK&-^M?L^k=JHmZS;UDT441^MXDg-L;`0sb1JPPfwP4zGjle!l_8`cVUgJ0 z9%JM6Csni@PJt5%oa^e6z&U_sVuKWk?o4Et*$(>b#JVnev#o+HOt5VUcDVv-ORy`D z6LQG$Q8zJ>kow!O>4K+{ib8=AI*MYk|4YCculD-y+tM0=1(W~&s5 z_SB1>W==S*Vcqs1azhV$qlKg~?AV_9=;2>!87p^CGE0)o4kS}}iZDe7lDP&sL9~N8 z5IR6!GV|4sztM8&_Uc-0UQW+fT`QGk4C{x_7<|T4I-YrJ=~+iTAeWX=@B3EEuFt5h z6&C;a^B8@27)ozeN9ngYHUGeFV3Lki02*WQd?PjOu7~76rQk5FJxxVCmRj-NvV3=# zR#&f*L-W>ce?d&aa4l21j_^n!U@8e1sOJrbfVSaUIVoTWwahydbu6%)T<{#`TBe^2 z*YZ>lmIx-xbR^4Q?Ig=|B+INm-EgJ#O+MdU6ddL%z;RMkvYXOfqIG8J$VSB;6UI1@dJ5rfAgivX;Rats0e~ zM$u?A9}})LOf(uTUXr@HCZ)#~iPBDgrvsEA>-9RLX#UU?*b_0nabgH>b~bOVW*%;=hK=EUC( zBy=JnTYIs?>_=0Un3QpbN<_MW$SgLS&Cy%NYJSe{AhDiI-yM*~HxKih7u%q&`k+h* z{~9gM^M#~W5OV)>H;G_bwD|^Y5*W^!RE{IJRpgv>QDYa`HuItl7eyo{8`_aeG;L9!RI-Z%TD>tp|1Ad(3AtCw3((l^^w>k(F7$RYxo0A-uK+?F#fNbv5szEKD@$ zNzI3-20hUg$!wXKlWwT@s;gDutMt`%;lTpgo0|5broC0=Uet84nG;LPF69Wl$axG8 z?qxbpFVlI12lp~}4ZYyOMY*^MC_K0qInHG^M||{LRWzT-SdeG{;c|_O1(A~cqB21& zh?L}X{|-W9&2b&;Hm+kqLXPWLkgetX`}GR`T8ekUrTP;*4*GclHKT>7Bj7O?qb^ zv^dXGK|*YP`+(ACBOSy*(mUhO#`4ZMv~lsyH~?GT83#Qq?~H>kmUqTM7t1^2ppWI9 zaiD5>XB-S`d1oBRTizK5Z!o+Qw+!OkyfY3Fy5*g5%+)*Nu)ngrvoCbAyt6O)$QtDp zeaT1GnK|Jj;>1EYVqaGu$&ReCaqeq6iSXdQ#Ti1vp-YjW-n zp~cO~xj$GJrAfFySQq1^6^Z`ng<`5)xOOL$3)k+C9w@;}@>2Q_ewttCw~9o18eiX% zRvQ%Tx1`k^GiPJ>#rV>9HPkBmd?2^Wz`m8r3{Y}1k(>dLV+BwHAjb-z20$4ZKn;K* zRsb~sipT(J02HwTr~yz!22cawN>%_h0E(Cal#?TZqN!@2A|fNXfuztTrNTf`Xftx6 zn+Af&eX{RB5V^sONNymA{GrN?07}+3LX3eRlEgkL3k(DiJyR9zS_Ua>8N3Z5>_mk< zh_L7CdA`sB^I6f_Ak*mvL2D~o8$?bQIao=Q(b`~0w4$}akZ46~gQ3krVm%nzSkc;G z0LW-1k`%VD_QNMjhl(#C%-x1|`da1@*p#7NGJ=Sfk1qI45>pQZ+7E~2p z^&NRZl_5%+4CjWBv~5b-5Rx_@IbqBppsN$zA)rgb&sf5Tknm(>;2|VDpV%6U@gifm zp(K2d5$fqZQ4Fh(<&R@%ohNT1Gxx zCf`${XKIGfBXcf_P(!be6IjxEcQJCe6Ik$Cx8(O;CmC`djc@R@9#~3 z@7(~tCxEaK3P46_BLI-hb|`=m07%ADOmdMJK>&vRMgZgn8;>Kdue9uWgoYzvD>-yW z&`>apMF|^C!i-pT zGzl}TFq#A!UNqV?^=LW1AXQjqv}u{qZk8F1iTyFl&L8W4T+;k1|DZ^erK$1^OO-*FE;i*3o@XwGVeCtP}KhP_W z^~aa6D<7vwRHQx`ML95!Ov3K}J|NjfS2P z)=h(LW@71+lgu>OM&1sY2D|9y;ng(QMJ|WaV3VT!m~zT#u*obOKwRnh$PGwn6+ zSQ(*BCkDph!*pUGo(~g&-gGwx)7= z%^>h!kQ2T-1K=`{nE_yH=9vLtIrGc_ur>3{0I)Ul%m8>YJE7E{;ii71u1LtRP6r9= z)I$de>(oOB2|4rVAYsisI!MTwM+XUO=F#P;$4mgo(KQp|jBmy`n+c|JoXs@H*(|g; z&oilUHVc&gdz{Ti8)KaL;y}K;CUwSJOaLjmV(ec6L_8pESBzha{idF0OSCg z4*=_YWj+9`^OgAku-23L0I|+j<^x2YugnLCb-pqm+R5{k`80Zs^OgDNYwLW4Vj`iX z96$?5%VeeH0@BhrUs(VWbiP6p$^wwEjwBX~8LVZd}gn1pKwK#bLYPpQ%R#2=sBS!O-vEwSr^VKq@ ztP&&dmHG2^GK5?&L&yy>cHBrw;3in!x``$4m~ED^<8LuqeTlbS7KC-t{3*KBTXfON z$eU)9yJ!x*cuvjRDGsMCNmJ>BXQAp>dBU?0Cf&gMKyl%j3t`fgyf1RXJPTn`dDOHJ z=CqEQ7Q&qJsA(b0xtSY5{6d&h9yKk5Ial$xFlEn$u%~&}WF9pwQbgo&&m!vEtEz7o zQQywhJ9pJeq_K{57LjX4E>)l$h6?gnXE9W; zj&&9jfZn8=W{(wq7et$>CB*Gl#cc_3n}?h*(h?xZBa$URuui6y06{LCOMqbAXru{&QPm#w8rHF*TIlz@Lzz)J~uz5-rq0xxv~UTOj_bpu{%0xu=tcj|a( zsp0JAVSU(7iiA8W`Uxbg+xlXep=#xm^xeWRw(hfvSQ_J)lA&704E3WdGXgL8G zckq`JfN=+Zxe2hGcp66t%T0jgCV=SKAo8*~#sGH=@)k=&!epyXojA(i_i7^fyR+AXRE~`nDVVBjWT~@o< zWwmLS)oylK4ZBze50PsW33)iPhDaEZ_8KB#96YQs?Xrdl7^hfkOag060>TB?=%;Jo z6l<*lkY_b(3BZV=*AjqnD6!TASgVXBdw#76u+|M=t&F1ADFAtXvkm}O6uk}rRusL? z1Xu?EYcIPF0J4|X0l?bJu7e4!z3e)e(Tbwi!Hh0Z^m;`?p5I`r=@Lb+2MH^RUJnv- zFS{Njti9}dkdS-X^&nyGW!K9ndV>OxXFJ%pLQ995`Zkc3MijjP0M>?M13;`OdILb@ zjK2XORusJfn#w481GKcF=nc@)C5qmtNR+3EeL6i6(Hq@Khz)=kx$BWCXjHs-M<+mWI(YQkj6J7wAc(mGPKx?W-^4|f)?lb-?Xj-VZ!{s zgce)T#tJRAqK(T9)vW-wLW`}?)e0@PLSHMi*b05E&|)iewnB@oplXE{TcNWR!fyq6 zGla)VW`!2*e35kx;kUYl7F*pyi>+><#Wv_9VgeajY@_bGp&WS|R7z&I^n-o0@-*RY zlRJ*$aR`)UsGdj-j94U*8W^!iqMOqtQlA^sWTM&UiDsXRbu1D3%TPTLx)34$|!w1fuB`uw-fkDGv^uzZFd9TZh~)j1K)0fZzu3O3Vb^`n{iGMxkHhV zd%+zbVFk)NK*9=?cfbO2a@hd_*5tAS1mxth0|czeWrqxu#nT?rhj&7p@y+n&ou)VM zG`(4z@|@?RlsE4JrT-3;#d9N;H}6Ip7jNDT-~{vGmECUMyxYy2ce{D>ZZ~hX)v@n!_dyWPBbx0^TbcJt=lZr&`OetC?)(wl#VPEXiqSVe3feuhd<*$-w; zOv}bO($7%oiLtlIj;bE)xoTw0NMa5BS)Y6s+c@!1jX;rJxCbajIbH{#277>FMVouv zhQJ=6SkdMlfXHZb4~$lfUx!371opsaGTPijUT8#{dtfjt+Kd$8k{}_Y&AlLz#BM0% z_JTwb8;hI}xECbku758G%w#{B<;J|bmxjR@lnX8Q>LJ6mz%-XwO?pAEhc-rUid&B2 zu4GY)C-=#4Zuhsw1C57dLD~UY_8i8;lk$1SBVcF-b$a*!t*pE&`HKuGPsoV#q)bjx zqF;a*y&xXP#A^uRUZp}cWF{lS14L-5l6`<= zCm<(!@Bn&n5xLg^^x#o8!7TScPB`}gH{b&RKBCIKv7er%fDh0_hKJ-Re5(4r=2Pb& z2naU{3KL=u5{c=kE_1?-W+bG3;?;~IP3;+ z7?fp)9d-ja47(j>NqV2swv5gsrH70LlK_*##P2!?%On9Ng}qiVNq~8#%EbUXhPgm= zTM}SWRJp5P;NCTRt;)SwKK>`<2!~5T_dGW~`nd0K(@TsW(LFL^JVGQEs;TA(kyxa_ zj+i8lK-UyzJYsspByq$|*CYC~?{E+CsM1nKgGT{ih0jL;u!YT4Iv)jq6+Ry&gU++* zHHT^?eTIXC(BP;ZK2i&eJf>L7=5h?5VbWs|c#JJH%Z)(#7+70@ z^f7(oNX)>;6>Ayt9VY-IkUmZTi9fP z#tfu=@j#|O6wc2uj}6rdIZuGkdG1L^NI~ob`26?!dlGG|_4g#&SoecYLI-R4JqaDG z&E!ewVQnT)LXQNe`S9pTC}Zs=Pr}ix-Q-EP_4gzcvUZav(F4ZgdA{tV+wyzTZTUUv zw)~!?<+tlT=pr5gIfYcXt6YCiL8m8dvFi9!(CH~#V&+`e-&4@ZTz?_OSbk4I9T^aa z@qbD#zo!+5+<~4ZkfloOX#)94b^d7>?hbYGX#mV*%~a=~HUUnX0HX6x!(J~`eQ!3H z+o?k{pxkv}PAH70oX;o{au09@B&ps`~uA32>eOKGKwx znVly9=LH2I7y1hXutot~Ab_`ycenqb6o_9W&BqKb`d0&&?BE0L1HOhER)mPMQAxfmE*kE z+*Do!38TJvW-V5cxCjz-{Dgnia~8>pL{ON3O$Lb+wh-cFPON*zl9LP)a@|V?32Vto z1_`4unL}m&vr`I4>yxxk0!@0PB^hFG0%`wn1rm$ppAW02|G61K^UIsV_lG zxv*Y>sRwdzrR61PX)dhwSd@Bx^s*u%HxidYWHZ~Oh+GDdEo`%yb6xu`Q@?Mq>7Jup z*1pTM_Eo;3gvxEh6%x8tiMc{Tw<#^IK)bDE)+-QrjAhd&jMB3BhzH(;wXVpe?y8a} zcK}yOUZRqBmE>(#@~)clu9Cbw%JZ+HJLFit3Ts(o{Hi&|ufkf^nekP(G2U*p77!|T z2fq^d4h8-zf$vn{znb8`61ZJoG+Ha=vkRBS#^6^nj{bDC=3PPV3VtJDyOprtNZ8M2 z&ehz%k-4kd^rAm#CHZi@^$%KsGIHg=Mnd+eX4go_UgX3ScFkmTO`2EJw?TkUcI6b; zWPgdUON=>r?0cOA?o$GKLtrT^LU9HAc%{K_1%PAQ1;@?YKS~-yioG7A70|{oJ?mI?u2RG)u>Ndm}+iB;QASB4eVb6h!f7vVMw8o)d$cGI-jP1OamYi^nzd6PWSS9$79(<5)f zBL{FF*;N|5NqyzKrI6*>@-0G6QpmRm`G`WkWg_2_eWeg?naH=?kZ+mDx7^0UEw`~C z-hg!8RwT;O{CFEAtOM@bAYmPF-v$Xe^WO#u>wx<{(J`{tn=qPAYz?A-vN<@s*UUU^BoY8=g)UQ z!a9Gx0}?Lh&vzAx@??p-M8Y_KzDp#G^XI#6B<{MAxNDNQ3u{=1;CD?DcZq~?{(RRU z;rvw_W>vw_W>vw?nf(pp!UBG4ZIzmo&miYZ_6TIG2iu%tvKAdIcj%9a#3n`JF_AFdlX*-e zgy|o<5qNA8c+ZngCA;pqm1CY63hZ0OLgV zDYTUH_)}<^#4drh*wj2FEnSb(BA+P|atHs6Nc^Ep{fta){HDV*lf*NSu%5+uW|DYj znp$Z2jD}HUiUJ6tIX49W*5f280I(h>NdbVI+*1HxJx-DW0Qopc3IMFfNm2-)%5w!E zcjwPZ1LG~B=cIx0G|6*QgXaLC_j*Q8GhZ5dPNp(m8hTFmZ>qdd!sU+p1qnA^8hSy( zjVDH4n8IHe!u_Y4!e5Z^?J%t9hZiI~-%BN2?z~@;@IA`*FCkpKG&FR&mZhQ*bG|f9 z{gV1y#3^Dzd1?0dOTw|M{(dRnBsw)+^A45U@mB=0Pl3E5kp0LBDX&ZoUO@x#7Lnf! zY!^rHQg*%C3@v|ixv73lA`U1KuSvu~CE~Ry;x&md-X3~w5`S$H7e4ZuUL?_P&(JcZ zzpTdApCs`rf)!mW%>(s{x>ofYxdnei&{tH&H>kMW3^3oA&~E^ZcR$n^d1FGqF`e@8&^3g{gH4Ohl}XKMJ4KnxAvnHs($4UKs09T~UEUkX5O_WvS) z?-jsb1Yo=d^p^?n7Xjd9m)x_o%w~Z17YP)IwXH-aKRD4ojEEcJmTK2s7ukVNB=oDYyF_rf1YqVb^92UDL9 zrar>OKhQHjVILKM-2Z+gfIk($M*{fU%n1O)pFR=@{Hf#|`q^Q46}#}S0M!L}lUc;QdH+o!*s zqgB$&&DAdJ4VH1A`mnfh<4goz;yKQ=E@kl?ugIdzkIJ&+U&i)vJp6?+fA=yyYM$2L z1|j;Dd0GJ*TIzhh78@e()EUC@8)*jXq@D*by@PY@2+nQ1l_w^De=y2S^~tmoM~i68KIDf!pLg<7CfQ$X^?9{l(?n*XIlYXpR@qdwHQ5wU3mV$2De zsflK4BKll2fi(iQsm|88OK0nA7ivCL#7}{UO_+SK$3`UHD-t#$0c;{+GfCKp1m=ye z7pj-!Y-GAfu_Y41s?hkdldx-OE_QBq2rJ32D`9pBlaC)6+4O3Qa8M)P&ha4WDT=BGQ8k`~^MG_~aCsOVGkB5e7!T7v9&R1uK^;?BJZLD? zs77jd63}x6q(q1TOUL6#nRA67X>&;A0Z-Ap*v0 zc0L9HOiho;Pa}PmCBn%PzC^-!K+u;+7_Zs+nk0OQgfZ-WO%lE)2{G(_rK!^>EhRu2 z09fZIX#ilIpQJGX(g46ZKS=`sxn`sRfOUS723lI@CuyLmb$*ftn#%K&9ZT@jJz^>q zo>zmkObZg$Yj$Zt!g@e3El9`#lolkc0hAUbaQo zt5kH*d7eg{x}*oE|2}mIKpW%K#g_%3jdkb}06nZjmjLKt9l8WS59`n+0D8FGDh+@# z)~QPXl(9}-0-%s}>Jk8j%u^S@yB@j(aM$PV0`TLt)(@Ek;MaYvpV(7e0K6O@e9;&;^| zBegKjX)?kJ)^DF=gcYn~nvAf5Jf_JA1IS|x99U!q2{}b%1_^75$SkIaKs-^IpJkDQA}g@Y^BihWWChlL z4+{K9IQ%IO+)1qZ+0e!s6xqPf8Wh>U&l(ijz|k5M*}&0dP-Fv9Yfxl!8x+~x21Pcv zL6OaEP-Jr(6xrMcMK-rVk&OmLabr-3eXN+U-(qHOhfTL-1Drwbkko)*RHPdQR0w9unq6n?c+dOF5~H zF_v<=xpz(&4`WFm4mZtb4W68)KjX18_8otOVJY?{Imw@^i@mi_OZsyzLNf*v-oFP! zV=(1%L(8SmeAeR4qVKpdN^;3jB6jCOs&vrYkQ&ePD7|x&v4W5jV>>sb%I6?*L*fAQ zb-vu_{6TcLIJfDbvc54Ff}bBoA*)mMr(05B#$B?kM;5p35Ozq-=aW| zxpDvNu2yB=WeESf{14_rq^J>TTC)l`@L($AOAQ z=p=%jwd=G-SrEQZY*fJQ;wwF1z1FC@5d#%$M!s<*}p#26FP;%0Lbn$eKnRFp!)^959eIjX2C{#9{W5SQH#`r;!(!!VMg> z$ma#X6Lt_~V$9?Pz*9EU%!&K;Mkt&YASuQ(uc&D}bCVY!56pL`^P(4CC|TY(8Jh)J zq8IWSy`a}yi^(!bkq9CZK_HRBZYtOyBGFz2Btg(pJ~R+S1PY;+@VOumh$UYPGTlIE z8KgJbfc;cH1t5G*lq18?6&q4c3XQ2)7sN*A8ai)WJREpu)AD)ia@79JhK|8MW7R& zYEeE?1UgyUt0K_J+FlibPI7xy#Pl-Jxkcm-&MBrCfg%^HqJ(1HY%5AA#==w74W+0X zN>LM~sEHy5QBiZwEDD2R6Q|apqA-}XwQ-6$O^}eQUonud9$qU364ouUVjy7!C&fU* zx%q$75OdkDHEA)W4v ztl6f8<&-NxDQfAhT9%@gX>Gc9qSjFF-9WRq4OVuM^La2;_fge@sk)y63O0d)0W{Nm z20f^rBUEJ99LKEy-_aYG0(5klM$LI@!fZEZ`7 z=_Q~4C03OA`r`kS;joyE@mZv z{0!^YsNs(vyzE2i6#UqV$j`z@q+9S2X;v|TD z{QKkA;~R^_A3u*GUY+sBBfBT`UbSsG^t0QwnmK;KE!s&3HC6(z?~lUmyXrVCypqnw zLIQC9hF{cA{AGuB-3$L&K}Ph1m^FnKpZ%{2_yxpmJX_+U{aQoOD8HI&)Bo>Ai5-t= zCGE>jX_`Lqq!zdBjP}~Q$Q52dwJwC#SNZ2Yzb59sqFu^Tsd)U_S4=^dNeitEu0ZI=tib?-N*L!(&yk5C;!e}=sk{$|NIug!dVSg0%-^)gX~Ob5{~M%Aw-B0 z4a+Ci>t?IluwfjAZaX|JyavCGE&kQmYkOVT0NVYlT>Q>bTl^&OKkHvcc~91zC0^TN zn=}Y-i1#dM4{_EC4J{oK5e{u5LdupdQ3h&;l&BCMS`+%!3=b_GQ3HyV4y`!!yNb{# zqD+Ny6-z*svSmw@2`vL1DwYiiE)f#Kg2OA+4h<!Mj}fp?=YIdc<}b8P$W2Yu-Dm zGmmxDj_T1jChd_JBssn>Y1sI46DUndzI?tyPP)sP{$9 zTCF;?VBs|yI%_p=5#CH|F}zm2Uj1Ua#;`a?q2nL+T-(T=Y+G^e-qu4&Eamv_bDNK> z-06MT&o_b<+Wu~jc5S%#-rM_bo;jIz=gIwAxR$te*X8t=lDD1W{(inqZ1`UV8#rqB z@71{<>mJ+7(KV)DP0qTt7}PtaaCE1ne(~HZthggO-t!mx24@jJUkCmtx7yvu6q-=S zBl?##W771E{pO3bhevpIAMRPz5gcKQ;H+L3M^JR9(m@CJjXYGKMYot<2R*|bK5UPp zJM#*5w20mAs94dU>U9}@#QsIhzil<)7-zm=`RtK5@-41(BVX#msYmktkfwV6y!m1n{`DA9B>%mjo_+iF>2V_{ z^?J~VL3@Mt2Jvsk)$WpJLC_74pj-G4)E3#N1`S#e6d#+qAn3NfAZURzXmU^tuJ6z3 zjKTH19zO>C(ZkWbz$8a%gUI5;!fxF1j_HS|30K@(Z@a?|uWsJIlOrOQ_3RW|BX(fv z4)GD)qIz|WDZFrGPCwr$uZ6b#9)&i)X2*B$T7UY$zO^~`zNoV~%B#Tp4)uD)ckkCd zsz>+1w{0Vuwd~xzd#~u2fe%|abL{7%8rHkP7xs#a9WW)gtylk^mAIepf^Okcx>a?Q za}>JMbqhPc^=i3uoA<7odwh3P+5~Tw-_N&f>nx@0dF{R1gokzgHl`(ujr*okZ0t8B zS@Ui&G5z|Mj0leH->aYYMcIrYCHI9#N7w5Yv%x2iExuph!rhCM>=ib-e~7J6$L3DQ z5RW_ToJYyMhovh`hjuMVrk-i@a5L9<6|Io@iw54}M%VVBLdGCpn zdAy%*q2oKw9~@pNZ2y^!PyBojdxcCc*}R`~(Bj!$dQQcEP#726yJqZwUg;Zl@7pgR z*iq;bd$9BL-WSPRk2gHx2K(DW?)eLsFV6GxEmpm18AoVbcE`)b zeBm$e!Y*7rbH>m2Z1t+e9cAwFuB_1WDrL_2pLtp3dDx~Ze!eZcmF&L3F)7qhxo{h= zA|=BjVtVxGTR6REalX&DqLvIJ5W9UN&8zPhfSAH}~443-k;uQ{BTmP*i{4=NsR^&{8Vb zprpsgaz#CCfxR;YXKKoBmdnQ{y)4}nVR}k%Ot0vu3hzRhqfnXms#kQ4{{8x~*j|b4%Gei|*W;SnvQFt8q*rQTJ7D|U$r4k0 z*gts4WiJlj?5X%Oqp9sx;;TV+tdLP+Jse`kdWh9TPo?#6xV^W{j}~Jr%3+DLD37u? z@CgXRqEr?OR49vLo$#rspPXo~6cGNe;;fTUT;pHGohRAD0wVrZyamN+YFfpKsgvv; zY4Tt{i$y;*)e{d7c;m*th8xKEZ(gY^HI?gO3-P2)g*o=j0rjl5idTm@_S#vh|FalP z%WGNn)Vj88`t*tRLjQj%6yTzeB2{Z1tWxWrr1Z(6xc0w_e-*`b{#9IXK8ox9tGLg6 zdpSON#sYieDZQh8I$~dR8Gln`L0Y}>0=q+BvcR5SPn~biDr`w+494~H0d-YQ7+d_= zCrX`Ht~bpxWzB&GyHAxF`)cu^kKzipcC5|hi+9hY?hc=Rv|wVc5UspXp7zm$@^u5E z>nu+$k#p4iWl=`CuX9qjK0CV9+nK4pU+b!0MjPc{*ZSkj+o|X3&Z;+b?2`7sJ~hgR zW(erGBk+Q=(X2)*yRA=u<+yQSYyW2l%dTrtbI+)a>vkSZH^?Z@bpLgQ?RA=kP5b@s zpI?X8n`M;O?{MI0<(StEXZ@77TZIc-S{mg~SLA&)gCz0a6U%j}-zQo3#Cl1l)`}=s nGqg-dXlPmSw^l@A$QJu)p7{4x`x(1Oyw@sh%g^q#m-705ia1oZ delta 36685 zcmcJ&cYICB|35x+?oA~kBqGtS1Q8{ovtlKZV3*ZbSv83AMnc5uuFk6A;zUhYy%R() zi(vH@ZLPjotZ2LH=KGv-&bimh?(g%*&wVg==FE9LpRd=vro86Nxkio4KWbe5O?}Kx zo8~U@_ObOhPgGV{v%NF_&m(Wh0&k!5S17-b*59dtn=Lp`QQOKq`E18M3a0JMvq5nx zYOYSU+M+zapxbO#&x&-rZL?=xnr?gLSv9SP*Wn=Bp)VTPhJDc>Emy5_rf+T$Z_c0YyxiZeyqu_?*1l#TT5!0lHyQ4VI{KfR)ceP( z3AQF*mZ%aM+R0L@lcmfE*V1H!LnSX%r^ExeCjN~Ot*&k5mnB^F%mw>Q_Ln6JYgf$t z*4XY$Y9~t_j$^A+=bsha>?>I7lxUzy7~vZB2`OJxRX$5fpq*^wWH0P-9Xq1F;dYtG z@K1T1Y~(<6tbOf`;r~Xehyy8PbV~_Rl`1=sDimSIqrQD+K*Xn{DphtMm1bZ2W<&{V z&Xy{zlTz?)A#u*u>M~NSEc@u`Y^_~JxR(FK(!u)upEiFU;zShTFShI5a@(fY&1ZPS zs=9W{U9`*0inO~>&OXz|J~Pffv&la5i+#p5%1&Ap`%Gv1%vAf#4*SeK`%K3yJLB@(qQCKFw{-lbOaV)o&oWy4jV}MUZu_< zOC?%xYcv(f@D@2DGnFp1_!o_HY-4t3hn6|sx%eAj+tQZY1z6)=5MQ6R+i z`iq2B+xjiPb=R+Qxbj#sbqU5*y8 z@=KrXs{6mo(VfigaugVq^QCb)Upm~56U}NjnvEY!gURi=!pqw83ui_0p?x>)`j8I% zx~&7hzF#DdMdI5rM|!P0^7>;%vQZ@0JJx4nBRcuoYISPPzRu_*U_s=3Cl2&PloagD zFGPu?UuVuIQ{xb@~L4h7Q@M=_!)gA~_(ECn71>i`R_m#ao&QT-J*V+$S#l-s|6}*dqSNE3<}7Fuwk1 ze7$IVb?VLQGK^~CYt!C23Qy|IEqt&yr^n=*`{+IVW&SW4(fPqzwbKen>Of;Q3ioUC!~!75&PmM6UiD5e%^Onk_u` z^KjSM6-Ll9u%InEHXrBo>Gr{mS@DLiYmTn@`ln=mWn>C{ezncRsSy^0+D7)L34le#bR+fjD zC$cgV?Kvr6gij|{tH~@;>s{;c!MB^lcOH*;F61&RbEf;IxU}tByk~=+ONKcovdYib zuqe??UD_UO>C*Pk#;o#bFWb2(eS-Hn^L-dxW`7joNl4Zz7Ge?StVu{|n2DT4?o3+T z)OpS>(_C1E@o9N%fhLa%gk}}PxS$Z1tP-~3W}jBs>_)pkDG33%_82<_irFoH*zqaZ z|MR-rZ14X<$JQCk zqqo`u#`SFLU21EC`QMaplst0(``=Esk8<@tleJ*j>75VW?;Dg77?4hv`-PS-(|Nty z4`B(>U3!Eh{!pWm%iGegtg&-Fu2%6r`XS)s^kWP94%=8u+4Am$k2$H~q=ETr4BPeI zyU~R^`B$&CX3Y!fd$v~d;&;{_Y1MRoqrzsNlola$-JDH%4~@UE?Bw~jOIOS-|0K7E zN5qPc5pM#gS8=*KYtFK>eXpJ0k(BT3=3GO6OQ_jz@ygYfXY)cAe_yV3shCFv!X7-Z zKFGCr!<^z18n>UfrONbfCE|u`SijyUY{c9SY0tNItyziI=~TQ&wFTt|zbk*H^poLl zhK#sUYg#4e_12?)2^*%LNWPaRCgIm{9VYe(%sP51AuKgE&x<7slMY}1>sjXV*O@i{ z=d0#Fv%TK&A>O@mMep@jN_BVId$LzixADtb{j_RXqq>!>As$<{yd8f3{+$ccJnM8C zv3AU*#%J5KZ_zm9Xp5k8)pE}^%?URrJIx|Z>L@3b+0U=|`%PK$^nL%HenCzbX`b*G zi-Tu=yftsiyP};*vU7uXr&pc)exB`2$C>Ag)Os1c{#36#zvnyPeYP%*nzu7~mlYXq}UH2Z$!WNBLh{g4-BpTcoMzmmg(j6^`mc}xzsB5ppiAJ zQO$;PjvlD4EWh{u@`zS5-o%W0c}0D&xxv824}Pg&I@Ebgo3wW?#s@TK)~j}5Oo zzS_Dw+q%EdfHwW^HOyLDVZy|_f8Aa6c5c7L%MP`+)$91~`G|4vJFI@Ae0{3_=@Q#o ze0*N3(vERwzIf2^ykC0I?)dZ8ffuJ-o>M6%;rh$RBez)}#J#Xx`jD3L+m|7AfBVqj zyOf~Yc}Cp1wDI-XxLb?gZuQ<*d|~zd6~l_1_vu`4mDAu2f#l4LeIrIxUbMbK_b{ z*jJmRl-%0u$}R8Li1k#TIN`-(UrT#Wqf^a$my1^CoO1I^!lSe z_nhjO_26KA(wx*Fp#^$>Thza6NY?QEEziuKlRl#D(W0r&mT2qrw;67n5(y>B2rf^^j?LXz?ka(fLS$Gr)8ww92~K7^EA zPe^`jM3>!w6ua>?pp6B)^-VT`1a{%S-%LoyLWE4*LP&gJki4A+0oWuivyG5^#RzG- zoe-3hAJPf=76aqj9fS9;}eAVLvzbXG#gTvQ-oY708*z3c>zn* zID=US7O0IG#0?f`bdHdMu)x&wgtRGaC1m{tLWaNs=PnYms3_7)NMVWRnS{)PCCXoc z#;`=MtAu#L0@JS%QVkYx`UUsGCpz4~cUa&o(!oe0e|BhmKB<(-Y291G{Ka8|ToI?_&1tnDjIaZs$=YdAR+8}lcu1c=zb zQ2%#)+4P2xs%Ya{Z{eLtUm_h0O&`C56GGE-@6mS9bl(SPhc@^6n~=GX&^sH%(B?m2 z2F(Kv*HKC;qOC6|l(d1S&rFnid2uI7RzT6F&Xin&qNy&Fltk0EaHCdo1)3JkMahrQ zFgp(=lKp?&pCFelkVGt!>gTRN4B#e@p z;gr0tOV#)Q)7td>k@Og~t^zQ0Ck61ViIUaS@#Bgs1qnF)I0-j_IEF)w% zL&h5F_z^N#lQ@>MoU4@!fik#=w&6r_=O_fqeohFN0awB`v@4g9KSvp82s;@rl9PHX znhwanR^FeF6oNU{Qhe0z^=PyU|BB2O`^?{Vne?yg(->;hYhZWN-}afWzoJw8)={R( zKCBVTVQIIX>L2xwuV`71bw&YQua^3nR#(OQ4vdZVWFYsI>O z!gD|cehPUTsPS>;W@RnAiNdRR9f~@esPS>;N-!=)8T%&6Sz~-!&V0s%zZ)sW0=*Yn6o+Dq*iZ1t9m#V4QW9mKPfu?&mzB;|G2T;KZ_Qj$m$?o(nnWwWFpI% zw|=fZYtzq_GXsCFoEcS?Tcu5f-I!%QcLVzLXUkdJeXc(15}zw)UBI!tlK{p9^T`EK zj$!$;ZBOTV<|)VrB#J=`-<;JpeP}~8wm9JJZX1k4)cpjvr z(|JmKGu6|5=;HLYi|Jw4;0(A6vwi??rwp3oN39TKdYWE&6|Iyf_z1m)A&1?>8tn+p z@smD%J6-LL`nP5M;Qy%K`5?_UqyAl4zsi5qpOitbx}p9fSwHGO>Q6pP*Sn%Vi{lyp z*8fqz^Ho~Ht$an8==@ts?&VgEs*_8Yx~4C1Rmv;DM`@O1!+iKC z&GD1|++C^ZAAF3K#@Nl+S3>>cG^fwc=`Bhsi=0rO%KBgaM}5Dt%27p~J4wkyTdOlC zDfv|;L`k5p(g%hpF)lD0^yI)z{=;n9Rh1i5nM2fHt1AgCZC*o}%=1WF&w;NM3}+)v zE6B+pb0AgZ6p~36B1aWxTr&|>mYYd4`Vx&G%AIhJsP9Z3kzaY|EFM(QnFYIY7Kx?S#Bo3kQBY#3HONl&LoKxRO@`9l#FLWEnH|D z&U&t7-3CH4$s)|`JHdYIzY zuAO9EiW6zaiL8{+?Kly(8fNOZgSobGq3u8-8A~*+TqDsA<`N{>+PR&2B24j9`-Lgy z8cfyF9HBi&!0f{%wdV+{rKI*cLVK=e6{4;SQ~ZlC^!B<+?P2__WCHGCDz#TD7E^qz z9i$p%I7kP8WMV}tKss>aBNE||9eAs2_Ur(lo4P$a=q=yDq2)X1E#HB+yk^f1ux9{< z?=01?mEuvWqa;y|ljz7vtd+1GIf-@1F>N~PuGbL+GKssowzg8piJ7gVI=YqO7uHG2 z3gNOkaakLrtWI1O<_RvV6J*Wds&(SBV71zB6o0kxmr79@p!WSzso<4J63HZdrt%d3 zswdwlmDO8cDy2PZKn@|J=pf>%y-Rmd`F5;GW zQSzdW(q8TRPRZjo30}`6&QfE;m11I$8Z0WU2v@4*FH9NIaMbZ65?#&nUa6{@tILP|BA7o3#sGFXkrMgH_mAI%bT-1CistXr2LyGF6i|WEf zp{3&LDy3ETNF}ees}xh2i|Gn6i?Lo5KHC*yQix58>8gwA3Ne1P6z*hB)fL_=9HA?` zcMcy7Mk?+ocOeL`@rR8dU15$)vITk8eY(Pf=V05%Q=J#7c(mNmSt^x`9LpRV0aS zAQ3_l;B&BUAQ4KLz-}N>gD%y}ok&et?o7U*mm!h4bvKnpDSp;i2~d>-#Bwby(pa%v z%f@=nMDFSh91D;}R2%nVp=m1DCKj5e>f>H4H2sEy$3n|Hq!DB>En}f&OS+6KSLa13 z9)aB@iE5lgcTOTn!gl8*W~#NLl!kENAEK1ve4wt*>-Iq143Z!%(gSrf$N;H%4_HK) zzX!-B6RlZ#=z~fRkX1QZX15+7dxT8ZWwC)e5jjS<2MEt2^T`7CvEsaB9&YrWAihz4 zQ}l06`ZpJ{NnUkB83XBsJC4v)ZifKm{&fk6u$SHQKip#@*fx?m%u6NyuOo9xnauDG^a&$%JDN6)!ik=?6jb0N1+&*esL zzn=3zjs=8*OdjM8AjkSZZ=|fhXVqcXdh=#{kENW*u~orp=>WZX?_$xNxMn7S$@&D* zTW`zWdRsE@?#&l875hjO63*`J!%>DyxqaX)nPi2YMO2gT)Ei3Tx>rns4o}0RL`-6*lwz()>p!?H*=%DQoMCTIF*=^;&5vS zy(IOH!>u9o7;gUX^q$3bPIL&vGN8=ynSLuKKT@erqd(_AthS_zko zher#S?1wv!&}_i6b#XsX$}uKEv?5%xKkhMHvOn&T9%+T0`vcf;$^Ov8aLNAA#c;{~ z(8X}c{?Ny8$^M{fxMY7cg5i?=LEdo5{=n2c5?lWLiM>nq$5REvCHv!WxZ#rh(Txq4 zOpwkZTrz>T>N?qu3A|M|=sDJ^noB0|(M1l0{v<(n$piLkX!uOJdHz)BuC$UAse$PpyA;$!M4{JYApEp!$(ZAL5 zjnGZm@FYU5LHxdSdEX#@pB8Ej(pzZ|ZzV0%8l=0yAe}fHnFet;Xg63A6QR~%02rax zU;r4Q)?fgnatjOwfDvj927m~)1_J=079=tNEbI`=g$^A6=8+a<_Q4zd_IX5OJX$WRHQ zm20uxP-tPqc0+aGp&U3bXhd_<@`j00t$F4J%rUzdilMKN;(5snS#!VgH{!@2N-QuuIP_;4=#CRLrA z=)#9X_*fb$`{{78=p7-2i%4t)7ygqJK7tEBB!!RAg^%FE7pT*k$W`wM)iYV~3m++E ziGXV)mo-w#8p&l@^&A_$w3Yfu%@WkzRG_#Pu#SZJg;hp!tKe}Fx5`LC+$zDuEN10k zqojB%2OBMkTXo`A4zylf)Ku|x)11}H$osfoCQ+m`c8L2Z>aR_e5Kk>UVj)r@nX39V zQ;HSU;-XhP>=^?JdbC1c5w%q_rD#z+rNW;BR75o6c^#unoz+Z<)59kbEKL>h)ijYz z=TQ-zA(A8!BPBFfI?_Svx#micx_FY}Op`@pVPGYQ1f{n9d`MyA%aS}j;iQ_mx zmIN5b0kjBt90$-$J&uD+Rj+=lRB+QQIF5HOEAv}sIT7`Z=Q5v5nd7-kEf^lJTW-9A z<;Lrz$Lpk-tBltzH=bMWwY1!LSndh&r%&+j6SYWd4673)2@x4i;3Qs15)(KHEsUO^ zlb9ear(SEN_;ZJxfJXs}U!92#R+`9#Y5NEhxiGdR%+@*+9jr7_S}CTros}kXD+Nw+ zu+k(hQ`<6_#AUuz&$U*3*>lO?Tgz>TNxA_haRcm?2AITUw)??BY4%h-lW2PfKX93^ za09dC54zGnNTs!MZ9@A&w>)!~AGjd`Crbbk>P`lLv8yl{0N7Pf&$Ur}>KNMylhKyK zF(*T!v5hbpsunjO~M|05P@?rUFDPai#*q z*glvF4aN4sRA^^xA54X}8ruifX@Uf)%SlY*B(&{=X`IANNokq`iD?cbrs*W6Igps9 zlbFUy%z`X7*i6$&q))?gcREOjXlptkwQpM7H621k+%+AyiMVS9?l?lh0pbG44AB1X zxGM?w7;#q;?y-xzk^pSPT}jZ@h`W-2W5iua(A9{$lAx~
;2o5$D>znnm}zh2_A3SOWy{rplp3{?zX`D`jk7&!a9r-uvh^3_`3D zYd4je6hGC+q`1(1wzX^MQV$SZmjq!23C3-q`9=`jlmvAP5-i_I&%1-*Pf3takYMFO zy3!2HpR8b)nYbj)MJOi2zVbM?2&w3*tbKdr9DWGlY5#@A@YAX>}ziK0wZ zitVR)5&%&vR#7U@{Wd?7(x`0M0UCaXQfZE>ug zF~*qyqRMh3X-l6X&{c`06V=IGl`qtX zHuRlE>WK}sq*|eyQdZ5~K)uz(Zc3cm=b+-#NUgUj);aUzYGIj3uG}1lnI`PEE5pK1yRkDK@xb!!i$nfn#)$0f)-;Un{9y~@1ad|vO8tT&(6n~NL+HeYL+`S4)9Y36H9 zGar+fO6)!|AIqAv9PoS`(aRyPc>gE?KJHk`og;JDPn{gAxLbaeAgXc@zXC)yu|OGS zonHZBJz1pX3}gfL4D8R0iJ{TD{6rR5z0X<;2;)Du?si|w)kLz7Qhl4IKu_7#4JR_YS*4hSrc=}1#0YZTE?BWs#azyE$$2rCvjREBXtCx)iy}qr zQqIusNlP`CUh3r1OEo(zb+W@!*#15#OYf`wS}0z@%Or@}9KV#*unTqx z@Q?M_6|hY%S%*CH%N4NA4D4R{^rJrbeJrO0HvY0!ugAfx1ekD&oeIuiCBTGJ>{oE1 zD*+~w&owInrXiiLm77Q-S?)sKqi4a9X}ePWxrtIHm<{GkKz%M?71!1*&AEze+e(e; ztF)v^>g2vkpoP&k;Iykb?G#D7n$u3zat3l!^P1HFltk@bvl`aP;tH&Wb+WYaXEm(z zAqTn|mbpQuffuvPYFMT{U4Wj8p9P&vOqOdT@P-`B8i2_m834yjy9Qu#$Pj6PHClgI z10b`Ay_wc%?z@Kj0UHQKZCA37e5dhZgW*u*7#O-nHTP5e6V`$j20&x4g)IA>NxO3e z2JzG#WsK`O)YwP=k#m2$~-1q*HQkPWY;)KUYKFg{DH=aY6V zW&y^6#4xH2oW)tmVgqM!TFY_2Q|Av*n$R2SwE;>MiyN=Ck=HsQ={E9ON3H8thI$3ZUQ^|o!ucf0j+Sz zO~5A{l6k~F`i*qR-vFr)hh&bTJLF~%=?=LWf~=ZDZU%1MAvXiN?vR^-U3bXMz^^;x zWPxdkdc zAm7TS*aDRvk_m>!qGh%~r<)in?KvYz?T)bpIz8s?w?%UdHm+__AAW&Zgmoe&MR?y< zNU28In{n3QTOp+yZ6>{MD;Hv)VYk9?HMFsED}+?zW8zi_sZLou&zxi{j8Bb*Rg;F(2=)9~#j7*xy9|V13=_KzAkg=us@nh}hx|`^-8O&_3yN*r{lC-7?Q`We zuH{6OGcC8NZH8d>V8a1(Yq50N4gm+qBq?A!7cf~pJXi^)2h_a5N`U`22x zXH|l1SKEXb{Daw8!mx@SvV&v&QL@^>Sxr&frzycz#QJ6j;M~`O=pC?!fWHI0bI4Tn z=QO2)n;$mP1}Z~|x+6`AQs1U2@9~9*+9X{G_pz@-%2T$e$x%}dVzKf)p750qJt!7M zm(%5N2 zG{MYEcBzLwlrj;!C3vxT+Rd9*l>&Bi0kb5d-OLTuSwoZvHF=0q%Cbj76DyuQyyj1` z<{n;ij;y%{HAT#|hdc0Wt=#Uwdz_%{flcN@ld-_X6vVS=1R`{ zxtvUCto>XL8;JHp#_uFcE4Qyl_d^k}f@99JU)?zj11Vmma?cm*oKfeTjI03z#Pv z9nb_E-~!5`b1@4ZfTe^62Q&eq+^*RHu9U5qk%ItK$h>(7MEbmW2t@k4c?hWWdGioZ>+|LzAlK*3LqM+2n}>j2pEnPo zUG#bL5HxU@HxD_@n}=X?ecn9eG;bbqnl}$Q&6|gu=FP*hr9~ij7%Dv=^JPmPhDr~~ zul9NKFm%%A&BM@1pEnOfCoyjxhCZscL35bTo9d6l6}L}Cpm&6eSRh3l;UX5wwm!lo zFlRaf?z2cc+15ui?ngB4tgVm0T2FXyIRZ<4NsV$R?ugoUE4BcSO5Mb4eH4QA+4?91 z>$CMyF4#U>ABAvzwmu5sVzxdC;reWS6vD-9eH6m=+4`u{Y;8FvLHNcny^aAyHd!RK zKL!x%$zrMfF@V^>wK)a=zZ1Ks9|Hj4>Bj&--wZjX_2FYqo_@^H)A?pd$Kw)&2pNt8 zL=IUZK^zB&T(VTlv5=u54A0;m=gnXbj*bI}n5U1+W>C|(QoN$73T_*XQ0M{I{ zT&i{gs)?EW1m{>=Z!!%Hy|F0I>jXhQ&~I3R;en<=Cmy;=NMq)kjbDZLGdAqNdU~-|Y=rg$hqxYFyt1a#=l9%=Q-oe zlJR+s@p;bJsHpcwE8)r(gIdm_RBkBd_zRrFR>|Q4=dex7IU4!`H*^z&I>e%cyW0(T zf!j~rVNu-bh)Mk-=eS++xX3xOL$yqsiyEej98($fwMB_g${N+`W1y7Sz`Vp6?34^H zaR$32gG(BNOTt=;I$;dp*k}7o98Sz-X@0R8d6_fZEg4?s4EJa`M;$M79oHLFpRq~} zBMXnz=&?%Wa$`>{CaNRRU-kb>>*5X0b1*yY%ua9Ejzr1R}N{uW|-C zlEGEZU_WxqG*>mvu1d}9<#vz0${o!^I^b2!F|JC-5Ru$f$625_k9XLMq5*vIG?A#o zzE+}4Y>jkHyrntxwNlnyd;Oz6{8~v<|FB^RgtK2*0@>Fz)A);_zj#?X4m=Soi$vKy zu>@khr{Id|fmr(-8>e{kH$%3Y;}j37=FX+w{%;-V2~MyuNbdxs;BS=jmU_G=UW3K- z4clw5n7(0q4Hgq)`88Nf->|)gt~rB`kk?=_eZ%$|ET(VRUW3*24clw58sD(B@7IR% zh1zw1WQvLX)ax9KSka6oZ?)clURhkP8_-MNYP~^ROUb>~8&FE$YrUcFY>(Z|n~*NHkZwYj z{m#CbbQ4w)n@Kl;U2G=ZLXCaYgS&DNxdpt11jV;OqzA>fL8J%8w;@R1-MkH@^q}}Q zl+uIZ+fYgmif=UCIBBo`-2s41#5xdX%*<;%K zoS!|Wy|1~#eePEMq=5UHfcsp4ef#h}6cOX#eY8LhISZ6*EV|EKL2iifm^S%=1R-MD z2OPv*Y0U@Rn)WjZ4>S-DxIfy@Bs|bSJOBusNl^cqq=Y30#jsBC5DfKK{13rUf5rb0 z48`d65DfKK{13rUyyAZdhWac1hvF6gBZ*kVr;j+|4HEGqj`$aK<7A~7U9Y~ItW>Eh z!pA&Lw^7pNaXR}e{X9*xJOE+up4ATDD?$Fk7ua9c$swCilbJA&`$FT#5`>5jA9Lp0 zCG*E%o-Rgbs8meVt-vk2;*abD-7|3BlrE@(M658D^f&!pacepDjdUE#XSj?Xwa z%X7(7gr3hi&-0SYbMRcOEvcSs_@09wduJ}Rf38{Oxsz3%YgT#A8}O3s1JBV1oR?HM zSF5-+5L&(92u4c_z2I6|w49?>FQisqPLUgFFEoKKxInw6FSw>re@jh8MEf_FGe&a$ zo68w1TjFm`)4#b4ydHlvMTtokq3cUt^J`i2C9gS7)_keee93Ft4^h0-Z1j@bh%F`9 z(&VLR*jEyoh-qIzKrVS81-ya)ESz9$)}3E*0rrM{1tIK!#KWnG*mqO4(ln*=ry{O> z&6zxuOkQ&)D`bnk)=<6%1HC0*Ybakkwd89UR&>SJ+^~OwD|4aO{Md!MdYa-^w;msD z-f*dpq|`TDs{Pc&8%Px~;2SO#o&3=>d1~SfKQ$4JPYL*dEMmKVII|a$**~1wKU&W5 z)WkoW;bir5D;(T@DC8f}>@28dgS-gz-g2IQOD=CY&$r02Zv0j=%Ufv{HQ%a~f)rfjfRm%B4 zzN`88$^(>`qMb?Of+I^Ma zQwwap%Z4IUO=+R{bpc!M4vo1K%B8%KQYe=K=3ENZq_9JrxtNsf<@TV0;+(ZOXU1BJ zqW?`-O7~!=N0`G!aS8b57j-X#C+ofnB!tr|Qi1{r;zWr83Hpf=h1%alE0CbSiB_Q7 zd-%JBQHozQJC(wuG~rSVTuPqQ!@%{hA22dNihjVzz;&6d?w+kgc-Xs&K^RB%`3XJw zea_LyIX;#gjhrJ+)N;!hHOm<7_HX%xvO(?uptipk0TCRj%VbtWhKn}q#UpE-(aLlVRJyKw%qB!3sqpPdtCZQx+$PfodVE>FRQ`J1bT(pB2RUT#O}s-YD0cKf(;`)mUrW*=8+ zA2(^ASdQO~OSYfBa^sSpNy%=SWH%@KxM}ur(8p8nDp&LU?aO(-nrGt;bK^L!t_Q&A z$FDp9Mn8V#0WhMocmRyvSv<7P;sG#vXThe%FHMxv!T5@dt1BcF z&A&M87Zd~1fA1G~N}%x^s3&J*-!JgwZ0!35o&c)v7kC1!zF*)8uvuKRC&23a1)kKk zhTJdkgxU1{0?&VeVQB-+Ji>Onk5-tsgL9KE|9z>Vr(Bz6X zWE#8FWy_QbB}$=SA1x=nz7#+d;`R786b@4fSXn<00FmzX0YIvIeSnkK2RM0sfRon; zIC*`5lh+40dwqbD*9SOxeSnkK2RM0sfRon;IC*_(X?)@JrJ>R&S{_zl3YLaSqiF@B zy8KtAOF7};WjIBcq$mT5uW&FpXo1pzZ--ceqYfRjUbi4bU1i!D+r4-|Vz z6*vpCWPyku)(l3D)vN%0ZgSQYpvxE9Hedx!mkLh0RL~?C**g^fe zu%MTL7rRasA=yGJO34Ue9Xe4(trJy*WW5tr)H+c`r%qH+OnH_{Qi3^#8Ke>Pzh50)Q%BXf__gVFE{d(%my!}UnR5^e~IWX z-z0h?5KJKD?Qc2eEyiNw>S86yFor%;!?7W19=+vGPBk)Y$h->Ii238=K&`e4QgoFnK&^V_+O+p}-kRv4oLV|dM8>mTO)(wP&=OkT5`+;cx3*p+=4Y(Q#7GAN4 zK_NcnISlddhGj3?RgdhjZ?VSC?uMgqTaJaZ3b9`&9#ouV`uHm{!%eC72be z0f7FkS2fKF)wq+geRt-h)r74(SCOJ zkRYO_>fFx$QbKjL#ww*uR1GOWOdmD409V=VYj6R@q<|Wl3N;{r?`=O{rNopI!+%X) z(@oZ_$!mJ5ZB{Ft%8SuEoD;Z90xXW;U0w!t-)bdE-D#u7E)f!m7%n3?c^1l;(IPnc zJmi=$BQzutKr%}^=oq0HGr~#L2yRT#<0Dy*5B5Aus*)Rc)f_`{<~M$gGMrk~>tzg~ zU4O=|7^L8gC+^&4V@E36?Kb%myF22aH$IrHjazU0zX9Io=`Fm(WO;AOmNDM=H{(kdk)QEk5wh-4MT#IqBZ}-?Icgt|Cz|{amshpxY(aiQimQ>Cfl~; zD2c8ck1K0v*dba)su2P;4%4E3M{MU$C}#u0j?$`Dl+l zMN-pawq1WKs#n-CT1(Q8`9J8#nhZ7ki`^|@APuV+$XE3Y>?`gawlB&V&Kb};7toIX z53R{RZCCMW`)OOM*)W`aTh7*jtfoHz=<^l6Z+8hZH1GsLlq9HLkf2XJ!%rUUqwy^> zV+_5$k1N0M|1XHIZx&KpMvUR0(G(6h?xV&g8p@e6$RHAKOGz}$F&KK2a5cZVA%#*~ zN()wiEeKnFl3|$9#6D1aXB*MhFper_#rCe9;T@;9<$r9jxCJRBxeZzt8^Dw#`)YT7 z;to&!)U57?QkL2z4qKG*q!IomRs#MWR!#iDt~gQ$f7Plc${Vpi-^I%k@H`QBktmBr zX&wBx0qRAP`l!{2j3Og>{Wz4z;jSU4j>FS>$TMC{4&&MgbrV2U6ZI1OWTkkpssjS{ zAkNmJhoN~=5`)^6oWLh|z4?C?^4!=Q?N?a&6qK9rq#!*zy~XHlmsc2Wnk==@P1x)1 zI=JfMVqL91(uTNVaW%rlUZ{7*6@{w_uJ>_8z71)Mi){ub;7Y{R6c^*u25Adi zAK+?TEn4YlMq|8RstopNo1e>o{3q5mK=Y2T?$V)ul&+9b4A zWMmC5$GVXnH+Eh-eq{3z!!9LOv2ECL?riSfjYp}smq#1Yg0v*&ro#sJ z8rnZCX0W+$>d*wzul<-2>8YW;dk!5#Yq`eMF!vtga>y9wHPFKhpJ{68KQW}4sdukK z#U>UTlJ;pU&vCB(YmIejVvdYA#M2gicAA5F_pBYXbNt>a>FxWa4&LJuYbM*xN`K-S zX>OlpZWP|g)rGnm0-Lyg(Z9w&=E(8kyIgnS%bjoBzis3*sdS>pf##%qkU7Y_x#|a{ zY9*E03Qil&U_up>_rilhJkOrq^ zr1Tn?nr{gn9c=7;HF*AeSA(;r?GMhMP%OG~U~nqIe@$VPZwFl)G-SwU1Fr^M2^u#d ze@D=cAo}T~rhSTK2AP7clfN^A<{762jmQidla?8DL(R_&$_$zkl#0i@Eag*4X3*6@ z(|1942b%j=`O)06bB)pYF;}mVZntz^sUW4m{*-0{SgAEyZ)(3LzUKPokehwi zpV~k!)IXWMW7)y2cTzm9Zlto8N4-uF#z3Pf{gc?3zMrRdNXsCf_DoCrG(5QW#JgE6J+R?2}bO*Qi4!^q`py@wMfkx(#gTI~H zGd5(`ao@EMygc@~)(TIqJaokTpZW}%MiML;BrQE5?Tf)l{f$G07LPQCoc(h%Ikw|T z?uLW=&B?KJT-DqSjf`>E%J<$GpEhvVputmG$BfE6;FWJ;zgMQ(;qOdcZx^fcs2Ka1 z|1{Mp{>T)v=0vj3?{{;_o}Yqv{?%{xoXbbP zS9>h-h&FZKGh$?fDZ(@~Yu(9+3qBF1?sGq!KZun?n9{xo{QcN$pO-$dhkBZ7h57g! zTfMQA9agrUkH5QrwCVOIKK^fA{Od-W-255&XPY8q?75%O2mt(GV%vfH1Ow5Oa zQpn)mal?iVO&d&X-D();H&Ex#G*+3KUP^s0$*`Nv{I>kw#>BhIN zhEy`pmOtD$%z!^hGwdtlBX1E*oTHK5L{Krx*v7qB9mLLT4zEX2)Fa;-W1I>~Pbg5( zYl5+<6UBNIm^cqx{siM~4>hBOq4d;r-v9$KBC5cj>P7T!!fR(X#kvy@wfK5`9#`LL ztmwq1yVaOf+yM%R8z`mK{1`(Sb;h^Gnoh+3KVdrYNSskXvnd4&E*31PIO?Ojms0P(XDR-N1d6PA= z+lr()&4G*2KP(%y>Tby~mY7-3V#+CFTmELRkP?5eLHwMm&9}ap+h^U%GiU7OJ?Eua z7R{Q_`nP)DRPU0}`A2*CS6vr1>Qg5#X6u6YQ@$88Y_GkXjIMETblDC~m)A-A)?)ju zzP)@$^J;bcR_4b4bbQ!}&OR;?qjv(4ZSid5r|dh8`|fJ1Oru$?pK0_{%8pf&GL3H$ zRd<_fEN|T%)i0zxl>+C7GzdAqCal`9}7M3Q=eLYQ$EOy5(16 z7bK+@7`K3z?aTt>uLkb!Z%||LN1+yF8(sfDCfH(1 delta 27646 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 X;~Aqlb0BY{26bZ!t+afX(e?iTX$8Tx diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairplanmstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairplanmstServiceImpl.java index b1e6c58f..034599c9 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairplanmstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairplanmstServiceImpl.java @@ -48,6 +48,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic @Override public Map queryAll(Map whereJson, Pageable page) { String material_type_id = MapUtil.getStr(whereJson, "material_type_id"); + String repair_type = MapUtil.getStr(whereJson, "repair_type"); String device_code = MapUtil.getStr(whereJson, "device_code"); String maintenancecycle = MapUtil.getStr(whereJson, "maintenancecycle"); String repair_plan_code = MapUtil.getStr(whereJson, "repair_plan_code"); @@ -62,6 +63,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic map.put("is_active", is_active); map.put("begin_time", begin_time); map.put("end_time", end_time); + map.put("repair_type", repair_type); if (ObjectUtil.isNotEmpty(device_code)) map.put("device_code","%"+device_code+"%"); if (ObjectUtil.isNotEmpty(repair_plan_code)) map.put("repair_plan_code","%"+repair_plan_code+"%"); //处理物料当前节点的所有子节点 @@ -128,6 +130,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic jsonMst.put("repair_plan_name",whereJson.getString("repair_plan_name")); jsonMst.put("devicerecord_id",whereJson.get("devicerecord_id")); jsonMst.put("maintenancecycle",whereJson.getString("maintenancecycle")); + jsonMst.put("repair_type",whereJson.getString("repair_type")); jsonMst.put("plan_start_date",whereJson.getString("plan_start_date")); jsonMst.put("detail_count",tableData.size()); jsonMst.put("create_id",currentUserId); @@ -169,6 +172,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic jsonMst.put("repair_plan_name",whereJson.getString("repair_plan_name")); jsonMst.put("devicerecord_id",whereJson.get("devicerecord_id")); jsonMst.put("maintenancecycle",whereJson.getString("maintenancecycle")); + jsonMst.put("repair_type",whereJson.getString("repair_type")); jsonMst.put("plan_start_date",whereJson.getString("plan_start_date")); jsonMst.put("detail_count",tableData.size()); jsonMst.put("update_optid",currentUserId); @@ -268,6 +272,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic jsonMst.put("repair_plan_name",whereJson.getString("repair_plan_name")); jsonMst.put("devicerecord_id",whereJson.get("devicerecord_id")); jsonMst.put("maintenancecycle",whereJson.getString("maintenancecycle")); + jsonMst.put("repair_type",whereJson.getString("repair_type")); jsonMst.put("plan_start_date",whereJson.getString("plan_start_date")); jsonMst.put("detail_count",tableData.size()); jsonMst.put("create_id",currentUserId); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql index 8ed59224..ef8405ca 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql @@ -22,6 +22,7 @@ 输入.is_active TYPEAS s_string 输入.begin_time TYPEAS s_string 输入.end_time TYPEAS s_string + 输入.repair_type TYPEAS s_string [临时表] @@ -80,6 +81,10 @@ mst.maintenancecycle = 输入.maintenancecycle ENDOPTION + OPTION 输入.repair_type <> "" + mst.repair_type = 输入.repair_type + ENDOPTION + OPTION 输入.is_active <> "" mst.is_active = 输入.is_active ENDOPTION diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairplan/AddDialog.vue b/mes/qd/src/views/wms/sb/repair/devicerepairplan/AddDialog.vue index dd4c6d03..c94064eb 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairplan/AddDialog.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairplan/AddDialog.vue @@ -65,7 +65,25 @@
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 delta 27646 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 X;~Aqlb0BY{26bZ!t+afX(e?iTX$8Tx diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairplanmstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairplanmstServiceImpl.java index b1e6c58f..034599c9 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairplanmstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairplanmstServiceImpl.java @@ -48,6 +48,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic @Override public Map queryAll(Map whereJson, Pageable page) { String material_type_id = MapUtil.getStr(whereJson, "material_type_id"); + String repair_type = MapUtil.getStr(whereJson, "repair_type"); String device_code = MapUtil.getStr(whereJson, "device_code"); String maintenancecycle = MapUtil.getStr(whereJson, "maintenancecycle"); String repair_plan_code = MapUtil.getStr(whereJson, "repair_plan_code"); @@ -62,6 +63,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic map.put("is_active", is_active); map.put("begin_time", begin_time); map.put("end_time", end_time); + map.put("repair_type", repair_type); if (ObjectUtil.isNotEmpty(device_code)) map.put("device_code","%"+device_code+"%"); if (ObjectUtil.isNotEmpty(repair_plan_code)) map.put("repair_plan_code","%"+repair_plan_code+"%"); //处理物料当前节点的所有子节点 @@ -128,6 +130,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic jsonMst.put("repair_plan_name",whereJson.getString("repair_plan_name")); jsonMst.put("devicerecord_id",whereJson.get("devicerecord_id")); jsonMst.put("maintenancecycle",whereJson.getString("maintenancecycle")); + jsonMst.put("repair_type",whereJson.getString("repair_type")); jsonMst.put("plan_start_date",whereJson.getString("plan_start_date")); jsonMst.put("detail_count",tableData.size()); jsonMst.put("create_id",currentUserId); @@ -169,6 +172,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic jsonMst.put("repair_plan_name",whereJson.getString("repair_plan_name")); jsonMst.put("devicerecord_id",whereJson.get("devicerecord_id")); jsonMst.put("maintenancecycle",whereJson.getString("maintenancecycle")); + jsonMst.put("repair_type",whereJson.getString("repair_type")); jsonMst.put("plan_start_date",whereJson.getString("plan_start_date")); jsonMst.put("detail_count",tableData.size()); jsonMst.put("update_optid",currentUserId); @@ -268,6 +272,7 @@ public class DevicerepairplanmstServiceImpl implements DevicerepairplanmstServic jsonMst.put("repair_plan_name",whereJson.getString("repair_plan_name")); jsonMst.put("devicerecord_id",whereJson.get("devicerecord_id")); jsonMst.put("maintenancecycle",whereJson.getString("maintenancecycle")); + jsonMst.put("repair_type",whereJson.getString("repair_type")); jsonMst.put("plan_start_date",whereJson.getString("plan_start_date")); jsonMst.put("detail_count",tableData.size()); jsonMst.put("create_id",currentUserId); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql index 8ed59224..ef8405ca 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql @@ -22,6 +22,7 @@ 输入.is_active TYPEAS s_string 输入.begin_time TYPEAS s_string 输入.end_time TYPEAS s_string + 输入.repair_type TYPEAS s_string [临时表] @@ -80,6 +81,10 @@ mst.maintenancecycle = 输入.maintenancecycle ENDOPTION + OPTION 输入.repair_type <> "" + mst.repair_type = 输入.repair_type + ENDOPTION + OPTION 输入.is_active <> "" mst.is_active = 输入.is_active ENDOPTION diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairplan/AddDialog.vue b/mes/qd/src/views/wms/sb/repair/devicerepairplan/AddDialog.vue index dd4c6d03..c94064eb 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairplan/AddDialog.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairplan/AddDialog.vue @@ -65,7 +65,25 @@
TV=kwS=_dCMh*!=$T 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 a56R(g)L-EC^WC^*^FKOohj#!%h5rL2h}5M3 delta 12665 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 From 98ea47de14c0cc65281b7b313e0cfd09c0a9a9ee Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 28 Sep 2022 10:51:45 +0800 Subject: [PATCH 12/20] =?UTF-8?q?=E8=A1=A8=E5=AD=97=E6=AE=B5=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/wms/basedata/em/wql/em.xls | Bin 311808 -> 311808 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/wql/em.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/wql/em.xls index 03543cfeb7c300a0b43f0c08cabfd07844439aa0..abaef46600a202c3509577b9eb5c0c5ddb209adc 100644 GIT binary patch delta 36657 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 delta 36685 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