rev:球磨参数修改以及工艺指令卡参数修改
This commit is contained in:
@@ -879,6 +879,15 @@ public class FormulaServiceImpl implements FormulaService {
|
||||
throw new BadRequestException("计算有误:"+e.getMessage());
|
||||
}
|
||||
|
||||
// 水含量计算:开单重量*液料比*含水量
|
||||
double liquid_rate = NumberUtil.mul(masterbucket_qty, jsonMaterExt.getString("liquid_rate")).doubleValue();
|
||||
double waterL = NumberUtil.mul(liquid_rate, NumberUtil.div(json98jj.getDoubleValue("value"), 100));
|
||||
oneMap.put("water", NumberUtil.round(waterL, 2).toString());
|
||||
|
||||
// 酒精含量计算:开单重量*液料比*含酒精量
|
||||
double alcoholL = NumberUtil.mul(liquid_rate, NumberUtil.div(json92jj.getDoubleValue("value"), 100));
|
||||
oneMap.put("alcohol", NumberUtil.round(alcoholL, 2).toString());
|
||||
|
||||
// String masterbucket_qty = jsonMst.getString("masterbucket_qty"); // 开单重量
|
||||
JSONObject jsonQM13 = paraTab.query("material_id = '" + material_id + "' and para_code = 'QM013'").uniqueResult(0);
|
||||
JSONObject jsonQM14 = paraTab.query("material_id = '" + material_id + "' and para_code = 'QM014'").uniqueResult(0);
|
||||
@@ -1042,6 +1051,70 @@ public class FormulaServiceImpl implements FormulaService {
|
||||
workBook.finish();
|
||||
}
|
||||
|
||||
/**
|
||||
* 纯粉重量计算
|
||||
* @param workorder_code、
|
||||
* @return 纯粉重量
|
||||
*/
|
||||
private double calculatePureWeight (String workorder_code) {
|
||||
/*
|
||||
计算纯粉重量:
|
||||
配方明细中【是否需要配粉】为是的和,其中若为软废,需要乘以物料扩展属性的纯粉系数
|
||||
*/
|
||||
WQLObject formDtlTab = WQLObject.getWQLObject("pdm_bi_formuladtl"); // 配方明细表
|
||||
WQLObject materExtTab = WQLObject.getWQLObject("MD_ME_ProducMaterialExt"); // 成品扩展属性表
|
||||
|
||||
// 查询出配方主表
|
||||
JSONObject form_jo = WQLObject.getWQLObject("PDM_BI_Formula").query("is_delete='0' and workorder_code = '" +workorder_code + "' AND bucket_type = '01'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(form_jo)) {
|
||||
throw new BadRequestException("没有工令号为【"+workorder_code+"】的配方!");
|
||||
}
|
||||
|
||||
// 1. 找出所有明细
|
||||
List<JSONObject> jsonDtlAll = formDtlTab.query("formula_id = '" + form_jo.getString("formula_id") + "' and is_need_manage = '1'").getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
if (ObjectUtil.isEmpty(jsonDtlAll)) throw new BadRequestException("纯粉重量异常,请检查!");
|
||||
|
||||
// 2.过滤出是物料的
|
||||
List<JSONObject> jsonDtlAll_mater = jsonDtlAll.stream()
|
||||
.filter(item -> item.getString("material_type").equals("01"))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 3.计算物料分类重量
|
||||
double class_qty = jsonDtlAll.stream()
|
||||
.filter(item -> item.getString("material_type").equals("02"))
|
||||
.collect(Collectors.summarizingDouble(item -> item.getDoubleValue("formula_qty")))
|
||||
.getSum();
|
||||
|
||||
String masterbucket_qty1 = String.valueOf(class_qty);
|
||||
try {
|
||||
for (JSONObject jsonDtl : jsonDtlAll_mater) {
|
||||
String formula_qty = jsonDtl.getString("formula_qty");
|
||||
|
||||
// 判断是否是软废
|
||||
boolean is_rf = materialbaseService.isAlongMaterType(MaterOptTypeEnum.RF.getCode(), jsonDtl.getString("material_id"), null);
|
||||
|
||||
if (is_rf) {
|
||||
// 软废:重量*纯粉系数
|
||||
String net_rate = materExtTab.query("material_id ='" + jsonDtl.getString("material_id") + "'").uniqueResult(0).getString("net_rate");
|
||||
|
||||
// 软废纯粉计算
|
||||
String rf_qty = NumberUtil.mul(formula_qty, NumberUtil.div(net_rate, "100").toString()).toString();
|
||||
|
||||
masterbucket_qty1 = NumberUtil.add(masterbucket_qty1, rf_qty).toString();
|
||||
} else {
|
||||
// 直接相加
|
||||
masterbucket_qty1 = NumberUtil.add(masterbucket_qty1, formula_qty).toString();
|
||||
}
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BadRequestException("纯粉计算有误:" + e.getMessage());
|
||||
}
|
||||
|
||||
return Double.parseDouble(masterbucket_qty1);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Map<String, Object> localStorage(Map whereJson, Pageable page) {
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
v-model="tableData[scope.$index].value"
|
||||
:controls="false"
|
||||
controls-position="right"
|
||||
@blur="blurOne(scope.row)"
|
||||
precision="2"
|
||||
style="width: 100px"
|
||||
:min="0"
|
||||
@@ -120,6 +121,46 @@ export default {
|
||||
duration: 2500
|
||||
})
|
||||
},
|
||||
blurOne(data) {
|
||||
if (data.para_code === 'QM001') {
|
||||
if (data.value !== undefined) {
|
||||
if (parseFloat(data.value) >= 0 && parseFloat(data.value) <= 100) {
|
||||
const QM002 = 100 - parseFloat(data.value)
|
||||
for (let i = 0; i < this.tableData.length; i++) {
|
||||
if (this.tableData[i].para_code === 'QM002') {
|
||||
this.tableData[i].value = QM002
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (let i = 0; i < this.tableData.length; i++) {
|
||||
if (this.tableData[i].para_code === 'QM001') {
|
||||
this.tableData[i].value = undefined
|
||||
}
|
||||
}
|
||||
this.notify('含水量参数必须在0-100之间', 'info')
|
||||
}
|
||||
}
|
||||
}
|
||||
if (data.para_code === 'QM002') {
|
||||
if (data.value !== undefined) {
|
||||
if (parseFloat(data.value) >= 0 && parseFloat(data.value) <= 100) {
|
||||
const QM001 = 100 - parseFloat(data.value)
|
||||
for (let i = 0; i < this.tableData.length; i++) {
|
||||
if (this.tableData[i].para_code === 'QM001') {
|
||||
this.tableData[i].value = QM001
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (let i = 0; i < this.tableData.length; i++) {
|
||||
if (this.tableData[i].para_code === 'QM002') {
|
||||
this.tableData[i].value = undefined
|
||||
}
|
||||
}
|
||||
this.notify('含酒精量参数必须在0-100之间', 'info')
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
close() {
|
||||
this.$emit('update:dialogShow', false)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user