From 6164a4ebd29b2235c400acdee81830dd91dbcc30 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Tue, 22 Oct 2024 10:54:15 +0800 Subject: [PATCH] =?UTF-8?q?rev:=E4=BF=AE=E6=94=B9=E5=B7=A5=E4=BB=A4?= =?UTF-8?q?=E5=90=AB=E6=B0=B4=E8=AE=A1=E7=AE=97=E5=85=AC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pf/service/impl/FormulaServiceImpl.java | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/FormulaServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/FormulaServiceImpl.java index b34d6a7c..1da932b7 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/FormulaServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/FormulaServiceImpl.java @@ -49,6 +49,7 @@ import java.awt.print.PrinterException; import java.awt.print.PrinterJob; import java.io.IOException; import java.math.BigDecimal; +import java.math.RoundingMode; import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; @@ -777,7 +778,8 @@ public class FormulaServiceImpl implements FormulaService { JSONObject jsonMaterExt = materExtTab.query("material_id = '" + material_id + "'").uniqueResult(0); JSONObject json98jj = paraTab.query("material_id = '" + material_id + "' and para_code = 'QM001'").uniqueResult(0); JSONObject json92jj = paraTab.query("material_id = '" + material_id + "' and para_code = 'QM002'").uniqueResult(0); - + JSONObject qm013_unload_num = paraTab.query("material_id = '" + material_id + "' and para_code = 'QM013'").uniqueResult(0); + JSONObject qm014_unload_percentage = paraTab.query("material_id = '" + material_id + "' and para_code = 'QM014'").uniqueResult(0); // 生成二维码 String create_time = jsonWork.getString("create_time"); BarcodeFormat qrCode = BarcodeFormat.QR_CODE; @@ -879,14 +881,26 @@ 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()); + /** + * masterbucket_qty 开单重量 + * liquid_rate 液料比 + * NumberUtil.div(json98jj.getDoubleValue("value"), 100) 含水量 + * qm013_unload_num 卸料酒精次数 + * qm014_unload_percentage 卸载量(需要除以100) + * v1.0 水含量计算:开单重量*液料比*含水量 + * v2.0水含量=开单重量*(液料比+卸料酒精每次加量*卸料次数)*含水量 + * 精含量=开单重量*液料比-水含量 + */ + String unload_num = qm013_unload_num.getString("value"); + String unload_percentage = qm014_unload_percentage.getString("value"); + + BigDecimal 开单重量_液料比 = NumberUtil.mul(jsonMaterExt.getString("liquid_rate"), masterbucket_qty).setScale(3, RoundingMode.HALF_UP); + BigDecimal 卸料酒精 = NumberUtil.div(NumberUtil.mul(masterbucket_qty, unload_num, unload_percentage), 100).setScale(3, RoundingMode.HALF_UP); + int 含水量 = NumberUtil.mul(卸料酒精.add(开单重量_液料比), (json98jj.getDoubleValue("value") / 100)).intValue(); + int 酒精含量 = 开单重量_液料比.intValue() - 含水量; + oneMap.put("water", String.valueOf(含水量)); + oneMap.put("alcohol", String.valueOf(酒精含量)); // String masterbucket_qty = jsonMst.getString("masterbucket_qty"); // 开单重量 JSONObject jsonQM13 = paraTab.query("material_id = '" + material_id + "' and para_code = 'QM013'").uniqueResult(0);