From b75bb50f63bb48c7782093a28baa850c31ff37d8 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:33:21 +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 --- .../rabbit/PrintMechineConsumer.java | 13 ++++++------- .../rabbit/print/PrinterHandler.java | 14 +++++++------- .../service/CloudPrinterService.java | 4 ++-- .../cashierservice/util/FeieyunPrintUtil.java | 4 +++- .../system/cashierservice/util/PrinterUtils.java | 4 ++-- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/PrintMechineConsumer.java b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/PrintMechineConsumer.java index ec321b7..6c90c0f 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/PrintMechineConsumer.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/PrintMechineConsumer.java @@ -180,7 +180,7 @@ public class PrintMechineConsumer { if (ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs) && ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs.getSpecSnap())) { remark = tbProductSkuWithBLOBs.getSpecSnap(); } - OrderDetailPO.Detail detail = new OrderDetailPO.Detail(it.getProductName(), it.getNum().toString(), NumberUtil.mul(it.getNum(),it.getPrice()).toPlainString(), remark); + OrderDetailPO.Detail detail = new OrderDetailPO.Detail(it.getProductName(), it.getNum().toString(), NumberUtil.mul(it.getNum(), it.getPrice()).toPlainString(), remark); detailList.add(detail); }); @@ -228,7 +228,7 @@ public class PrintMechineConsumer { if (ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs) && ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs.getSpecSnap())) { remark = tbProductSkuWithBLOBs.getSpecSnap(); } - OrderDetailPO.Detail detail = new OrderDetailPO.Detail(it.getProductName(), it.getNum().toString(), NumberUtil.mul(it.getNum(),it.getPrice()).toPlainString(), remark); + OrderDetailPO.Detail detail = new OrderDetailPO.Detail(it.getProductName(), it.getNum().toString(), NumberUtil.mul(it.getNum(), it.getPrice()).toPlainString(), remark); detailList.add(detail); } }); @@ -285,7 +285,7 @@ public class PrintMechineConsumer { // 重置打印数据 redisTemplate.delete(printKey); if (!tbOrderDetails.isEmpty()) { - tbOrderDetails.forEach(it -> { + tbOrderDetails.parallelStream().filter(o -> ObjectUtil.defaultIfNull(o.getIsPrint(), 0) == 1).forEach(it->{ log.info("开始打印一菜一品票据,:{}", it.getProductName()); String categoryId = tbProductMapper.selectByPrimaryKey(it.getProductId()).getCategoryId(); @@ -494,7 +494,7 @@ public class PrintMechineConsumer { private void printReturnTicket(TbPrintMachineWithBLOBs tbPrintMachineWithBLOBs, TbOrderInfo orderInfo, String printerNum, List categoryInfos, String orderId) { List details = tbOrderDetailMapper.selectAllByOrderId(Integer.valueOf(orderId)); if (ObjectUtil.isNotEmpty(details) && details.size() > 0) { - details.parallelStream().forEach(it -> { + details.parallelStream().filter(o -> ObjectUtil.defaultIfNull(o.getIsPrint(), 0) == 1).forEach(it -> { String categoryId = tbProductMapper.selectByPrimaryKey(Integer.valueOf(it.getProductId())).getCategoryId(); Long count = categoryInfos.stream().filter(c -> c.getId().toString().equals(categoryId) @@ -556,7 +556,7 @@ public class PrintMechineConsumer { if (ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs) && ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs.getSpecSnap())) { remark = tbProductSkuWithBLOBs.getSpecSnap(); } - OrderDetailPO.Detail detail = new OrderDetailPO.Detail(it.getProductName(), it.getNum().toString(), NumberUtil.mul(it.getNum(),it.getPrice()).toPlainString(), remark); + OrderDetailPO.Detail detail = new OrderDetailPO.Detail(it.getProductName(), it.getNum().toString(), NumberUtil.mul(it.getNum(), it.getPrice()).toPlainString(), remark); detailList.add(detail); }); @@ -657,8 +657,7 @@ public class PrintMechineConsumer { List cashierCarts = tbCashierCartMapper.selectByOrderId(orderId, "final"); if (ObjectUtil.isNotEmpty(cashierCarts) && cashierCarts.size() > 0) { - cashierCarts.parallelStream().forEach(it -> { - + cashierCarts.parallelStream().filter(o -> ObjectUtil.defaultIfNull(o.getIsPrint(), 0) == 1).forEach(it -> { String categoryId; if (ObjectUtil.isEmpty(it.getCategoryId())) { categoryId = tbProductMapper.selectByPrimaryKey(Integer.valueOf(it.getProductId())).getCategoryId(); 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 62cad14..d303334 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 @@ -83,7 +83,7 @@ public abstract class PrinterHandler { * 仅打印制作单「厨房」 */ private void onlyKitchen(TbPrintMachine machine, TbOrderInfo orderInfo, List tbOrderDetailList, List categoryInfos, boolean isReturn) { - tbOrderDetailList.forEach(item -> { + tbOrderDetailList.parallelStream().filter(o -> ObjectUtil.defaultIfNull(o.getIsPrint(), 0) == 1).forEach(item -> { log.info("开始打印退单菜品,商品名:{}", item.getProductName()); Integer isTemporary = ObjectUtil.defaultIfNull(item.getIsTemporary(), 0); String categoryId = "0"; @@ -97,7 +97,7 @@ public abstract class PrinterHandler { } TbProduct product = tbProductMapper.selectByPrimaryKey(item.getProductId()); - if(isTemporary == 0) { + if (isTemporary == 0) { categoryId = product.getCategoryId(); } TbProductSkuWithBLOBs sku = tbProductSkuMapper.selectByPrimaryKey(item.getProductSkuId()); @@ -113,7 +113,7 @@ public abstract class PrinterHandler { long count = categoryInfos.stream().filter(c -> c.getId().toString().equals(finalCategoryId) ).count(); - if(isTemporary == 0) { + if (isTemporary == 0) { count = 1; } if (machine.getClassifyPrint() != null && "1".equals(machine.getClassifyPrint()) && count == 0) { @@ -143,16 +143,16 @@ public abstract class PrinterHandler { tbOrderDetailList.forEach(it -> { Integer isTemporary = ObjectUtil.defaultIfNull(it.getIsTemporary(), 0); String remark = ""; - if(isTemporary == 0){ + if (isTemporary == 0) { TbProductSkuWithBLOBs tbProductSkuWithBLOBs = tbProductSkuMapper.selectByPrimaryKey(it.getProductSkuId()); if (ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs) && ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs.getSpecSnap())) { remark = tbProductSkuWithBLOBs.getSpecSnap(); } } - if(isTemporary == 1) { - it.setProductName("【临时菜】"+it.getProductName()); + if (isTemporary == 1) { + it.setProductName("【临时菜】" + it.getProductName()); } - OrderDetailPO.Detail detail = new OrderDetailPO.Detail(it.getProductName(), it.getNum().toString(), NumberUtil.mul(it.getNum(),it.getPrice()).toPlainString(), remark); + 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/service/CloudPrinterService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CloudPrinterService.java index 5b3bfa2..79a1262 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CloudPrinterService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CloudPrinterService.java @@ -175,7 +175,7 @@ public class CloudPrinterService { if ("return".equals(orderInfo.getOrderType())) { List details = tbOrderDetailMapper.selectAllByOrderId(Integer.valueOf(orderId)); if (ObjectUtil.isNotEmpty(details) && details.size() > 0) { - details.parallelStream().forEach(it -> { + details.parallelStream().filter(o -> ObjectUtil.defaultIfNull(o.getIsPrint(), 0) == 1).forEach(it -> { String categoryId = tbProductMapper.selectByPrimaryKey(Integer.valueOf(it.getProductId())).getCategoryId(); @@ -509,7 +509,7 @@ public class CloudPrinterService { List cashierCarts = tbCashierCartMapper.selectByOrderId(orderId, "final"); if (ObjectUtil.isNotEmpty(cashierCarts) && cashierCarts.size() > 0) { - cashierCarts.parallelStream().forEach(it -> { + cashierCarts.parallelStream().filter(o -> ObjectUtil.defaultIfNull(o.getIsPrint(), 0) == 1).forEach(it -> { String categoryId; if (ObjectUtil.isEmpty(it.getCategoryId())) { 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 eca7ea2..9b1d673 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/util/FeieyunPrintUtil.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/util/FeieyunPrintUtil.java @@ -274,7 +274,7 @@ public class FeieyunPrintUtil { if(StrUtil.isBlank(str)){ return "0"; } - return new BigDecimal(str).toPlainString(); + return NumberUtil.roundDown(new BigDecimal(str), 2).toPlainString(); } public static String[] getCashPrintData(OrderDetailPO detailPO, String sn, String type, String orderType, String printerNum) { @@ -498,6 +498,8 @@ public class FeieyunPrintUtil { String a = "12.0000"; String s = new BigDecimal(a).toPlainString(); System.out.println(s); + String s1 = toPlainStr(a); + System.out.println(s1); //testPrint3(); } 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 0296754..9f11ed1 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/util/PrinterUtils.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/util/PrinterUtils.java @@ -195,10 +195,10 @@ public class PrinterUtils { } private static String toPlainStr(String str) { - if (StrUtil.isBlank(str)) { + if(StrUtil.isBlank(str)){ return "0"; } - return new BigDecimal(str).toPlainString(); + return NumberUtil.roundDown(new BigDecimal(str), 2).toPlainString(); } public static String getCallNumPrintData(CallNumPrintPO po) {