From 1bdc1b1df7a8346ba9b5f48b1d2e8d05e398fc65 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Thu, 13 Oct 2022 20:28:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../master/constant/MaterOptTypeEnum.java | 3 +- .../org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql | 3 + .../impl/AcceptFormulaServiceImpl.java | 81 ++++++++++++------- .../views/wms/pdm/produce/dailyplan/index.vue | 6 +- .../wms/pdm/produce/workorder/ViewDialog.vue | 8 +- .../views/wms/pdm/produce/workorder/index.vue | 81 ++++++++++++------- .../src/views/wms/pf/acceptmark/AddDialog.vue | 2 +- 7 files changed, 117 insertions(+), 67 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/constant/MaterOptTypeEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/constant/MaterOptTypeEnum.java index 3760cf34..58b3d448 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/constant/MaterOptTypeEnum.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/constant/MaterOptTypeEnum.java @@ -33,7 +33,8 @@ public enum MaterOptTypeEnum { SPARE(22, "23", "备品备件", "('1503644361789935616')", ""), SBGZ(23, "24", "设备故障", "('1541964046385942528')", ""), TJJ_AND_OTHER(24, "25", "添加剂和其他有色金属粉", "('1503644361697660928','1503644362838511616')", ""), - BJID(25, "26", "备品备件", "1503644361789935616", ""); + BJID(25, "26", "备品备件", "1503644361789935616", ""), + THW_AND_GF_AND_TJJ(26, "27", "碳化钨、钴粉、添加剂", "('1503644361664106496','1503644362192588800','1503644361697660928')", ""); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql index 86b695d0..d49992d8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql @@ -77,6 +77,9 @@ (device.device_code like 输入.device_code or device.device_name like 输入.device_code) ENDOPTION + OPTION 输入.device_id <> "" + device.device_id = 输入.device_id + ENDOPTION OPTION 输入.pcsn <> "" WorkOrder.pcsn like 输入.pcsn ENDOPTION diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AcceptFormulaServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AcceptFormulaServiceImpl.java index a278c423..239905da 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AcceptFormulaServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AcceptFormulaServiceImpl.java @@ -700,29 +700,51 @@ public class AcceptFormulaServiceImpl implements AcceptFormulaService { //该批次配粉重量 double X22p = bomdlt_Cr3C2.getDouble("bom_ivt_qty"); + AtomicReference Z_sum = new AtomicReference<>(0.0); + AtomicReference Z_sum_per = new AtomicReference<>(0.0); + //计算不需要移库的添加剂(抑制剂) + yzj_map.forEach((key,tjj_map_jo)->{ + //获取添加剂id + String tjj_material_id = tjj_map_jo.getString("material_id"); + JSONObject tjj_finished = WQL.getWO("QPF_AUTOFORMULA02") + .addParam("material_id",bomdlt_Cr3C2.getString("material_id")) + .addParam("pcsn",bomdlt_Cr3C2.getString("pcsn")) + .addParam("item_material_id",tjj_material_id) + .addParam("flag","5") + .process() + .uniqueResult(0); + if(tjj_finished!=null){ + //质保书含量比 + double value = tjj_finished.getDouble("value"); + //当前含量重量 + double finished = X22p*value/100.0; + + //累计各碳化钨中已含添加剂重量百分比 + Z_sum_per.set(Z_sum_per.get() + value/100.0); + //累计各碳化钨中已含添加剂重量 + Z_sum.set(Z_sum.get() + finished); + } + }); + //获取碳含量 JSONObject FactoryWarranty = bomdlts_plan_map.get(bomdlt_Cr3C2.getString("material_id")); //该批次含碳比 double X22 = FactoryWarranty.getDouble("is_tan"); - // X1减=[产品碳平衡*X1- X1* X22碳含量]/(1- * X22碳含量) + //X22p减=(产品碳平衡*(Z_sum已+CT1_weight)-CT1-Z_sum已)/(1- X22碳含量- X22Z1含量+产品碳平衡*X22Z1含量) - double X22_jian = CT1_weight*(c_balance/100.0-X22/100.0)/(1-X22/100.0); + double X22_jian = ((c_balance/100.0)*(CT1_weight+Z_sum.get())-CT1-Z_sum.get())/(1-X22/100.0-Z_sum_per.get()+(c_balance/100.0)*Z_sum_per.get()); //更新碳化钨配粉重量 double bom_ivt_qty = X22p-X22_jian; if(bom_ivt_qty < 0){ throw new BadRequestException("碳化钨配粉结果为负数,当前配粉无解!"); } - double C = X22_jian; + double C = X22_jian + bom_ivt_qty*Z_sum_per.get(); if(C < 0){ throw new BadRequestException("补碳结果为负数,当前配粉无解!"); }else if(C >= 0){ bomdlt_Cr3C2.put("bom_ivt_qty",bom_ivt_qty); bomdlts_plan_map.put(bomdlt_Cr3C2.getString("material_id"),bomdlt_Cr3C2); - //统计除钨以外其他总重 - AtomicReference total_sum = new AtomicReference<>(0.0); - - total_sum.set(total_sum.get() + bomdlt_Cr3C2.getDouble("bom_ivt_qty")); //计算不需要移库的添加剂(抑制剂) yzj_map.forEach((key,tjj_map_jo)->{ //获取添加剂id @@ -763,7 +785,6 @@ public class AcceptFormulaServiceImpl implements AcceptFormulaService { tjj_map_now.put("is_active","1"); tjj_map_now.put("quality_scode","01"); yzj_list.add(tjj_map_now); - total_sum.set(total_sum.get() + need_qty-finished_qty); } }); if(C>0){ @@ -782,24 +803,6 @@ public class AcceptFormulaServiceImpl implements AcceptFormulaService { C_weight.put("is_active","1"); C_weight.put("quality_scode","01"); cw_list.add(C_weight); - total_sum.set(total_sum.get() + C); - } - double W = new_qty - total_sum.get(); - if(W>0){ - JSONObject W_weight = new JSONObject(); - W_weight.put("formula_qty",W); - //钨分类id - W_weight.put("material_id","1503644362234531840"); - W_weight.put("material_name","钨粉"); - W_weight.put("material_code","09030103"); - W_weight.put("material_type","02"); - W_weight.put("is_need_move","0"); - W_weight.put("is_need_manage","1"); - W_weight.put("is_rf_xl","0"); - W_weight.put("ivt_level","01"); - W_weight.put("is_active","1"); - W_weight.put("quality_scode","01"); - cw_list.add(W_weight); } } } @@ -817,9 +820,31 @@ public class AcceptFormulaServiceImpl implements AcceptFormulaService { //该批次配粉重量 double X22p = bomdlt_Cr3C2.getDouble("bom_ivt_qty"); - // X1减=[产品碳平衡*X1-(X1)* X1碳含量]/(1-X1碳含量) + AtomicReference Z_sum = new AtomicReference<>(0.0); + //计算不需要移库的添加剂(抑制剂) + yzj_map.forEach((key,tjj_map_jo)->{ + //获取添加剂id + String tjj_material_id = tjj_map_jo.getString("material_id"); + JSONObject tjj_finished = WQL.getWO("QPF_AUTOFORMULA01") + .addParam("material_id",bomdlt_Cr3C2.getString("material_id")) + .addParam("pcsn",bomdlt_Cr3C2.getString("pcsn")) + .addParam("item_material_id",tjj_material_id) + .addParam("flag","5") + .process() + .uniqueResult(0); + if(tjj_finished!=null){ + //质保书含量比 + double value = tjj_finished.getDouble("value"); + //当前含量重量 + double finished = X22p*value/100.0; + //累计各碳化钨中已含添加剂重量 + Z_sum.set(Z_sum.get() + finished); + } + }); + + // X21p减=[(X21p)* X21碳含量+软废含碳量-产品碳平衡*(X21p+软废碳化钨)]/X21碳含量 //解得钨粉重量 - double X22_jian = CT1_weight*(c_balance/100.0-X22/100.0) / (1-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){ diff --git a/mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue b/mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue index a2a0d628..ef90199a 100644 --- a/mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue +++ b/mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue @@ -175,7 +175,7 @@ - + @@ -184,7 +184,7 @@ - + @@ -223,7 +223,7 @@ export default { url: 'api/dailyplan', idField: 'dailyplan_id', sort: '', - query: { nowstart_date: new Date(),device_id: '' }, + query: { nowstart_date: new Date(),device_id: '', status: '01' }, crudMethod: { ...dailyplan }, optShow: { add: true, diff --git a/mes/qd/src/views/wms/pdm/produce/workorder/ViewDialog.vue b/mes/qd/src/views/wms/pdm/produce/workorder/ViewDialog.vue index f6e2c80e..5b4f76fc 100644 --- a/mes/qd/src/views/wms/pdm/produce/workorder/ViewDialog.vue +++ b/mes/qd/src/views/wms/pdm/produce/workorder/ViewDialog.vue @@ -71,8 +71,8 @@ - - + + - - + + - 关键设备: + + size="mini" + placeholder="关键设备" + class="filter-item" + style="width: 200px" + @change="hand" + > + + @@ -221,7 +231,7 @@ > - - - + + + @@ -247,26 +257,26 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -293,6 +303,7 @@ import Date from "@/utils/datetime"; import crudWorkProcedure from "@/api/wms/basedata/pdm/workProcedure"; import { download } from '@/api/data' import { downloadFile } from '@/utils' +import producetask from '@/api/wms/pdm/producetask' export default { name: 'workorder', @@ -327,6 +338,7 @@ export default { mstrow: {}, XLList: [], Depts: [], + Devices: [], workProcedureList: [], viewShow: false, changeShow: false, @@ -348,6 +360,9 @@ export default { crudWorkProcedure.downSelect().then(res => { this.workProcedureList = res }) + producetask.getDevices().then(res => { + this.Devices = res + }) workorder.getDepts().then(res => { this.Depts = res }) @@ -440,6 +455,9 @@ export default { workorder_dateFormat(row) { return row.planstart_time.substring(0, 10) }, + planend_timeFormat(row) { + return row.planend_time.substring(0, 10) + }, handleCurrentChange() { this.checkrows = [] this.mstrow = {} @@ -520,6 +538,9 @@ export default { this.crud.toQuery() this.handleCurrentChange() }, + hand(value) { + this.crud.toQuery() + }, printCard() { const _selectData = this.$refs.table.selection if (_selectData.length > 1 || _selectData.length === 0) { diff --git a/mes/qd/src/views/wms/pf/acceptmark/AddDialog.vue b/mes/qd/src/views/wms/pf/acceptmark/AddDialog.vue index c35c455d..f4d95ada 100644 --- a/mes/qd/src/views/wms/pf/acceptmark/AddDialog.vue +++ b/mes/qd/src/views/wms/pf/acceptmark/AddDialog.vue @@ -156,7 +156,7 @@