From 8394585422205b894a2ea2dad7a10c3eef8933c1 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:58:16 +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/FeiPrinter.java | 5 ++--- .../system/cashierservice/rabbit/print/PrinterHandler.java | 4 ++-- .../system/cashierservice/util/PrinterUtils.java | 5 +++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/FeiPrinter.java b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/FeiPrinter.java index 6845d98..506c928 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/FeiPrinter.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/FeiPrinter.java @@ -64,13 +64,12 @@ public class FeiPrinter extends PrinterHandler { @Override protected void normalDishesPrint(TbOrderInfo orderInfo, TbOrderDetail orderDetail, TbPrintMachine machine) { TbProductSkuWithBLOBs sku = tbProductSkuMapper.selectByPrimaryKey(orderDetail.getProductSkuId()); - if (sku == null) { + if (sku == null && orderDetail.getIsTemporary() == 0) { log.warn("打印菜品票失败 sku商品不存在: {}", orderDetail); return; } - String remark = sku.getSpecSnap(); + String remark = sku == null ? "" : sku.getSpecSnap(); // todo 修改为bigdecimal - String[] resp = FeieyunPrintUtil.getPrintData(machine.getAddress(), orderInfo, DateUtils.getTime(new Date(orderInfo.getCreatedAt())), orderDetail.getProductName(), orderDetail.getNum().intValue(), remark); shopPrintLogService.save(machine, "新订单", resp[0], resp[1]); 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 fe09f6d..fb87580 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 @@ -116,7 +116,7 @@ public abstract class PrinterHandler { long count = categoryInfos.stream().filter(c -> c.getId().toString().equals(finalCategoryId) ).count(); - if (isTemporary == 0) { + if (isTemporary == 1) { count = 1; } if (machine.getClassifyPrint() != null && "1".equals(machine.getClassifyPrint()) && count == 0) { @@ -153,7 +153,7 @@ public abstract class PrinterHandler { } } if (isTemporary == 1) { - it.setProductName("【临时菜】" + it.getProductName()); + it.setProductName("【临】" + it.getProductName()); } OrderDetailPO.Detail detail = new OrderDetailPO.Detail(it.getProductName(), it.getNum().toString(), NumberUtil.mul(it.getNum(), it.getPrice()).toPlainString(), remark); detailList.add(detail); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/util/PrinterUtils.java b/src/main/java/com/chaozhanggui/system/cashierservice/util/PrinterUtils.java index 9f11ed1..b9398a6 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/util/PrinterUtils.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/util/PrinterUtils.java @@ -18,6 +18,7 @@ import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; /** @@ -159,7 +160,7 @@ public class PrinterUtils { sb.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()); t = String.format("%11s", t).replace(' ', paddingCharacter); if (orderType.equals("return")) { sb.append("应退" + t + "
"); @@ -195,7 +196,7 @@ public class PrinterUtils { } private static String toPlainStr(String str) { - if(StrUtil.isBlank(str)){ + if (StrUtil.isBlank(str)) { return "0"; } return NumberUtil.roundDown(new BigDecimal(str), 2).toPlainString();