From 059d8718ddb33749291b25b366b8ab22e50e17f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=AD=E5=87=AF=E5=87=AF?= Date: Thu, 28 Nov 2024 17:45:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=A5=A8=E6=89=93=E5=8D=B0bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/rabbit/print/PrinterHandler.java | 3 +++ .../system/cashierservice/util/FeieyunPrintUtil.java | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/PrinterHandler.java b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/PrinterHandler.java index d303334..fe09f6d 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/PrinterHandler.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/PrinterHandler.java @@ -89,6 +89,7 @@ public abstract class PrinterHandler { String categoryId = "0"; if (isTemporary == 1) { item.setProductId(0); + item.setProductSkuId(0); } // 台位费不打印 if (item.getProductId().equals(-999)) { @@ -104,6 +105,8 @@ public abstract class PrinterHandler { if (isTemporary == 0 && sku == null) { log.error("商品不存在, id: {}", item.getProductSkuId()); return; + } else { + sku = new TbProductSkuWithBLOBs(); } if (StrUtil.isEmpty(machine.getClassifyPrint())) { log.error("分类打印是空, classifyPrint: {}", machine.getClassifyPrint()); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/util/FeieyunPrintUtil.java b/src/main/java/com/chaozhanggui/system/cashierservice/util/FeieyunPrintUtil.java index 9b1d673..83287f6 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/util/FeieyunPrintUtil.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/util/FeieyunPrintUtil.java @@ -27,6 +27,7 @@ import org.apache.http.util.EntityUtils; import java.io.IOException; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; @Slf4j @@ -249,7 +250,7 @@ public class FeieyunPrintUtil { data.append(StrUtil.format("折扣:-{}
", toPlainStr(detailPO.getDiscountAmount()))); } data.append("--------------------------------
"); - String t = "¥" + (ObjectUtil.isEmpty(detailPO.getDiscountAmount()) || ObjectUtil.isNull(detailPO.getDiscountAmount()) ? toPlainStr(detailPO.getReceiptsAmount()) : NumberUtil.sub(new BigDecimal(detailPO.getReceiptsAmount()),new BigDecimal(detailPO.getDiscountAmount())).toPlainString()); + String t = "¥" + (ObjectUtil.isEmpty(detailPO.getDiscountAmount()) || ObjectUtil.isNull(detailPO.getDiscountAmount()) ? toPlainStr(detailPO.getReceiptsAmount()) : NumberUtil.sub(new BigDecimal(detailPO.getReceiptsAmount()), new BigDecimal(detailPO.getDiscountAmount())).setScale(2, RoundingMode.DOWN).toPlainString()); if (orderType.equals("return")) { data.append(StrUtil.format("应退:{}
", t)); } else { @@ -271,7 +272,7 @@ public class FeieyunPrintUtil { } private static String toPlainStr(String str) { - if(StrUtil.isBlank(str)){ + if (StrUtil.isBlank(str)) { return "0"; } return NumberUtil.roundDown(new BigDecimal(str), 2).toPlainString(); @@ -496,7 +497,7 @@ public class FeieyunPrintUtil { //testPrint(); //testPrint2(); String a = "12.0000"; - String s = new BigDecimal(a).toPlainString(); + String s = new BigDecimal(a).setScale(2, RoundingMode.DOWN).toPlainString(); System.out.println(s); String s1 = toPlainStr(a); System.out.println(s1);