优化
This commit is contained in:
@@ -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')", "");
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -700,29 +700,51 @@ public class AcceptFormulaServiceImpl implements AcceptFormulaService {
|
||||
//该批次配粉重量
|
||||
double X22p = bomdlt_Cr3C2.getDouble("bom_ivt_qty");
|
||||
|
||||
AtomicReference<Double> Z_sum = new AtomicReference<>(0.0);
|
||||
AtomicReference<Double> 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<Double> 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<Double> 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){
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
<el-table-column prop="material_code" label="物料编码" min-width="130"/>
|
||||
<el-table-column prop="old_mark" label="牌号" min-width="100" />
|
||||
<el-table-column :formatter="seriesFormat2" min-width="80" prop="mater_product_series" label="产品系列" />
|
||||
<el-table-column prop="product_weight" label="生产重量(kg)" :formatter="crud.formatNum0" min-width="95" />
|
||||
<el-table-column prop="product_weight" label="计划重量(kg)" :formatter="crud.formatNum0" min-width="95" />
|
||||
<el-table-column prop="product_num" label="批数" width="45" />
|
||||
<el-table-column prop="planend_date" label="计划结束日期" width="100" />
|
||||
<el-table-column prop="plan_finish_date" label="交货日期" width="90" />
|
||||
@@ -184,7 +184,7 @@
|
||||
<el-table-column prop="task_code" label="生产任务号" width="110" />
|
||||
<el-table-column prop="create_time" label="创建时间" width="135" />
|
||||
<el-table-column prop="create_name" label="创建人" width="70" />
|
||||
<el-table-column prop="remark" label="备注" />
|
||||
<el-table-column prop="remark" label="备注" min-width="150" />
|
||||
</el-table>
|
||||
<!--分页组件-->
|
||||
<pagination />
|
||||
@@ -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,
|
||||
|
||||
@@ -71,8 +71,8 @@
|
||||
<label slot="label">生产批次:</label>
|
||||
<el-input v-model="form.pcsn" style="width: 210px" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="总重量" prop="workorder_qty">
|
||||
<label slot="label">总 重 量:</label>
|
||||
<el-form-item label="计划重量" prop="workorder_qty">
|
||||
<label slot="label">计划重量:</label>
|
||||
<el-input-number
|
||||
v-model="form.workorder_qty"
|
||||
:controls="false"
|
||||
@@ -101,8 +101,8 @@
|
||||
style="width: 210px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="实际生产重量" prop="productin_qty">
|
||||
<label slot="label">实际生产重量:</label>
|
||||
<el-form-item label="实投总重量" prop="productin_qty">
|
||||
<label slot="label">实投总重量:</label>
|
||||
<el-input-number
|
||||
v-model="form.productin_qty"
|
||||
:controls="false"
|
||||
|
||||
@@ -120,13 +120,23 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="关键设备">
|
||||
<el-input
|
||||
v-model="query.device_code"
|
||||
size="mini"
|
||||
<label slot="label">关键设备:</label>
|
||||
<el-select
|
||||
v-model="query.device_id"
|
||||
clearable
|
||||
placeholder="编码、名称"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
size="mini"
|
||||
placeholder="关键设备"
|
||||
class="filter-item"
|
||||
style="width: 200px"
|
||||
@change="hand"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in Devices"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<rrOperation />
|
||||
</el-form>
|
||||
@@ -221,7 +231,7 @@
|
||||
>
|
||||
<el-table-column
|
||||
v-permission="['admin','workorder:del','workorder:edit']"
|
||||
min-width="130"
|
||||
min-width="125"
|
||||
label="操作"
|
||||
align="center"
|
||||
fixed="right"
|
||||
@@ -235,9 +245,9 @@
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :selectable="checkboxT" type="selection" width="45" />
|
||||
<el-table-column prop="workorder_date" min-width="85" label="工令日期" :formatter="workorder_dateFormat"/>
|
||||
<el-table-column prop="workorder_code" width="130" label="工令号">
|
||||
<el-table-column :selectable="checkboxT" type="selection" min-width="35" />
|
||||
<el-table-column prop="workorder_date" min-width="83" label="工令日期" :formatter="workorder_dateFormat"/>
|
||||
<el-table-column prop="workorder_code" min-width="125" label="工令号">
|
||||
<template slot-scope="scope">
|
||||
<el-link type="warning" @click="toView(scope.$index, scope.row)">{{ scope.row.workorder_code }}</el-link>
|
||||
</template>
|
||||
@@ -247,26 +257,26 @@
|
||||
<el-table-column :formatter="stateFormat" min-width="70" prop="status" label="工令状态" />
|
||||
<el-table-column prop="device_name" min-width="80" label="设备"/>
|
||||
<el-table-column prop="material_code" min-width="130" label="物料编码"/>
|
||||
<el-table-column prop="old_mark" min-width="110" label="牌号"/>
|
||||
<el-table-column :formatter="seriesFormat" min-width="80" prop="product_series_id" label="系列" />
|
||||
<el-table-column prop="pcsn" min-width="80" label="批次"/>
|
||||
<el-table-column prop="workorder_qty" min-width="70" label="重量" :formatter="crud.formatNum0"/>
|
||||
<el-table-column prop="bill_qty" min-width="90" label="开单总重量" :formatter="crud.formatNum3" />
|
||||
<el-table-column prop="productin_qty" min-width="100" label="实际生产重量" :formatter="crud.formatNum3"/>
|
||||
<el-table-column prop="qty_unit_name" min-width="80" label="单位"/>
|
||||
<el-table-column prop="planstart_time" min-width="140" label="计划开始时间"/>
|
||||
<el-table-column prop="planend_time" min-width="140" label="计划结束时间"/>
|
||||
<el-table-column prop="realstart_time" min-width="140" label="实际开始时间"/>
|
||||
<el-table-column prop="realend_time" min-width="140" label="实际结束时间"/>
|
||||
<el-table-column min-width="100" prop="source_bill_type" :formatter="workorder_typeFormat2" label="源类型" />
|
||||
<el-table-column prop="source_bill_code" label="来源单据编号" min-width="100" />
|
||||
<el-table-column min-width="90" prop="workprocedure_id" label="当前工序" :formatter="seriesFormat2" />
|
||||
<el-table-column :formatter="create_modeFormat" min-width="170" prop="create_mode" label="生成方式" />
|
||||
<el-table-column prop="startwork_name" min-width="80" label="开工人"/>
|
||||
<el-table-column prop="endwork_name" min-width="80" label="完工人"/>
|
||||
<el-table-column prop="create_name" min-width="80" label="创建人"/>
|
||||
<el-table-column prop="update_optname" min-width="80" label="修改人"/>
|
||||
<el-table-column prop="remark" min-width="120" label="备注"/>
|
||||
<el-table-column prop="old_mark" min-width="80" label="牌号"/>
|
||||
<el-table-column :formatter="seriesFormat" min-width="65" prop="product_series_id" label="系列" />
|
||||
<el-table-column prop="pcsn" min-width="75" label="批次"/>
|
||||
<el-table-column prop="workorder_qty" min-width="70" label="计划重量" :formatter="crud.formatNum0"/>
|
||||
<el-table-column prop="bill_qty" min-width="85" label="开单总重量" :formatter="crud.formatNum3" />
|
||||
<el-table-column prop="productin_qty" min-width="85" label="实投总重量" :formatter="crud.formatNum3"/>
|
||||
<el-table-column prop="qty_unit_name" min-width="75" label="单位"/>
|
||||
<el-table-column prop="planstart_time" min-width="100" label="计划开始时间" :formatter="workorder_dateFormat"/>
|
||||
<el-table-column prop="planend_time" min-width="100" label="计划结束时间" :formatter="planend_timeFormat" />
|
||||
<el-table-column prop="realstart_time" min-width="135" label="实际开始时间"/>
|
||||
<el-table-column prop="realend_time" min-width="135" label="实际结束时间"/>
|
||||
<el-table-column min-width="70" prop="source_bill_type" :formatter="workorder_typeFormat2" label="源类型" />
|
||||
<el-table-column prop="source_bill_code" label="来源单据编号" min-width="105" />
|
||||
<el-table-column min-width="70" prop="workprocedure_id" label="当前工序" :formatter="seriesFormat2" />
|
||||
<el-table-column :formatter="create_modeFormat" min-width="155" prop="create_mode" label="生成方式" />
|
||||
<el-table-column prop="startwork_name" min-width="60" label="开工人"/>
|
||||
<el-table-column prop="endwork_name" min-width="60" label="完工人"/>
|
||||
<el-table-column prop="create_name" min-width="60" label="创建人"/>
|
||||
<el-table-column prop="update_optname" min-width="60" label="修改人"/>
|
||||
<el-table-column prop="remark" min-width="180" label="备注"/>
|
||||
</el-table>
|
||||
<!--分页组件-->
|
||||
<pagination />
|
||||
@@ -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) {
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
<MaterDtl
|
||||
:dialog-show.sync="dtlMaterShow"
|
||||
:is-single="true"
|
||||
:mater-opt-code="'04'"
|
||||
:mater-opt-code="'27'"
|
||||
@tableChanged2="tableChanged2"
|
||||
/>
|
||||
</el-dialog>
|
||||
|
||||
Reference in New Issue
Block a user