From 49babaa814e301d9febf895b4731c746305e1008 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Fri, 3 Apr 2026 15:07:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A4=E7=8F=AD=E7=A5=A8=20=E5=92=8C=20?= =?UTF-8?q?=E7=94=A8=E9=A4=90=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/order/print/PrinterHandler.java | 12 +++- .../czg/service/order/print/PrinterImpl.java | 72 ++++++++----------- 2 files changed, 39 insertions(+), 45 deletions(-) diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterHandler.java b/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterHandler.java index 7788f507a..e2b403b90 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterHandler.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterHandler.java @@ -752,7 +752,7 @@ public abstract class PrinterHandler { .le(OrderInfo::getCreateTime, orderInfo.getCreateTime())); PrintInfoDTO printInfoDTO = new PrintInfoDTO().setShopName(shopInfo.getShopName()) - .setPrintTitle(printTitle).setPrintType("收银-堂食") + .setPrintTitle(printTitle) .setPickupNum(getTableAreaAndName(orderInfo.getShopId(), orderInfo.getTableCode(), orderInfo.getTableName())) .setOrderNo(orderInfo.getOrderNo()).setPayAmount(orderInfo.getPayAmount().toPlainString()).setReturn(false) .setOutNumber(orderInfo.getTakeCode()).setCount(count).setRemark(orderInfo.getRemark()) @@ -760,6 +760,16 @@ public abstract class PrinterHandler { .setDiscountAmount(orderInfo.getDiscountAllAmount() != null ? orderInfo.getDiscountAllAmount().toPlainString() : "0.00"); + + if(StrUtil.isNotBlank(orderInfo.getDineMode())){ + switch (orderInfo.getDineMode()){ + case "dine-in" -> printInfoDTO.setPrintType("收银-堂食"); + case "take-out" -> printInfoDTO.setPrintType("收银-外带"); + case "take-away" -> printInfoDTO.setPrintType("收银-外卖"); + } + } + + if (orderInfo.getStaffId() != null) { ShopStaff detail = shopStaffService.getOne(new QueryWrapper().eq(ShopStaff::getId, orderInfo.getStaffId()).eq(ShopStaff::getShopId, orderInfo.getShopId())); if (detail != null) { diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterImpl.java index a4faa2442..76a5b3cd0 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterImpl.java @@ -180,22 +180,36 @@ public interface PrinterImpl { default String buildHandoverData(HandoverRecordDTO handoverRecord) { PrintSignLabel signLabelInfo = getSignLabelInfo(); StringBuilder builder = new StringBuilder() - .append(getFormatLabel(handoverRecord.getShopName(), signLabelInfo.center, signLabelInfo.f)).append(signLabelInfo.br) - .append(getFormatLabel("交班小票", signLabelInfo.l, signLabelInfo.center)).append(signLabelInfo.br) - .append("交班时间: ").append(DateUtil.format(handoverRecord.getHandoverTime(), "yyyy-MM-dd HH:mm:ss")).append(signLabelInfo.br) + .append(getFormatLabel(handoverRecord.getShopName(), signLabelInfo.center, signLabelInfo.s)).append(signLabelInfo.br) + .append(getFormatLabel("交班小票", signLabelInfo.s, signLabelInfo.center)).append(signLabelInfo.br) + .append("交班时间: ").append(DateUtil.format(handoverRecord.getHandoverTime(), "yyyy/MM/dd HH:mm:ss")).append(signLabelInfo.br) .append("收银员: ").append(handoverRecord.getStaffName()).append(signLabelInfo.br) - .append("当班总收入: ").append(handoverRecord.getHandAmount()).append(signLabelInfo.br) - .append("现金收入: ").append(handoverRecord.getCashAmount()).append(signLabelInfo.br) - .append("微信收入: ").append(handoverRecord.getWechatAmount()).append(signLabelInfo.br) - .append("支付宝收入: ").append(handoverRecord.getAlipayAmount()).append(signLabelInfo.br) - .append("会员支付: ").append(handoverRecord.getVipPay()).append(signLabelInfo.br) - .append("会员充值: ").append(handoverRecord.getVipRecharge()).append(signLabelInfo.br) + .append("交班周期: ") + .append(DateUtil.format(handoverRecord.getLoginTime(), "MM/dd HH:mm")) + .append("--") + .append(DateUtil.format(handoverRecord.getHandoverTime(), "MM/dd HH:mm")) .append(signLabelInfo.br) .append(signLabelInfo.br) - .append("分类数据").append(signLabelInfo.br).append(signLabelInfo.br) - .append(getFormatLabel("名称 数量 总计 ", signLabelInfo.s)) .append(signLabelInfo.br) - .append(signLabelInfo.br); + .append("当班营业总额: ").append(handoverRecord.getHandAmount()).append(signLabelInfo.br) + .append("实际收款的支付方式").append(signLabelInfo.br) + .append(leftRightAlign(" 现金:", handoverRecord.getCashAmount().toPlainString(), 32)).append(signLabelInfo.br) + .append(leftRightAlign(" 微信:", handoverRecord.getWechatAmount().toPlainString(), 32)).append(signLabelInfo.br) + .append(leftRightAlign(" 支付宝:", handoverRecord.getAlipayAmount().toPlainString(), 32)).append(signLabelInfo.br) + .append(leftRightAlign(" 二维码收款:", "", 32)).append(signLabelInfo.br) + .append(leftRightAlign(" 扫码收款:", "", 32)).append(signLabelInfo.br) + .append(leftRightAlign(" 充值:", handoverRecord.getVipRecharge().toPlainString(), 32)).append(signLabelInfo.br) + .append("非实际收款的支付方式").append(signLabelInfo.br) + .append(leftRightAlign(" 挂账:", handoverRecord.getCreditAmount().toPlainString(), 32)).append(signLabelInfo.br) + .append(leftRightAlign(" 余额:", handoverRecord.getVipPay().toPlainString(), 32)).append(signLabelInfo.br) + .append(getFormatLabel("--------------------------------", signLabelInfo.s)) + .append("退菜/退款").append(signLabelInfo.br).append(signLabelInfo.br) + .append(leftRightAlign(" 退款金额:", handoverRecord.getRefundAmount().toPlainString(), 32)).append(signLabelInfo.br) + .append(leftRightAlign(" 退菜数量:", "", 32)).append(signLabelInfo.br) + .append(getFormatLabel("--------------------------------", signLabelInfo.s)) + .append(leftRightAlign("订单(数量/订单总额)", handoverRecord.getOrderCount() + "" + handoverRecord.getHandAmount(), 32)).append(signLabelInfo.br) + .append(getFormatLabel("----------- 销售数据 ------------", signLabelInfo.s)) + .append(getFormatLabel(formatItemLine("商品分类", "数量", "总计", 18, 9), signLabelInfo.s)); if (StrUtil.isNotBlank(handoverRecord.getCategoryData())) { JSONArray.parseArray(handoverRecord.getCategoryData()).forEach(item -> { @@ -203,41 +217,11 @@ public interface PrinterImpl { String categoryName = info.getString("categoryName"); Integer quantity = info.getInteger("quantity"); BigDecimal amount = info.getBigDecimal("amount"); - builder.append(getRow(categoryName, "", quantity.toString(), amount.toPlainString(), 20, 0, 6, 6)).append(signLabelInfo.br); + builder.append(formatItemLine(categoryName, quantity.toString(), amount.toPlainString(), 18, 9)).append(signLabelInfo.br); }); } - builder.append(signLabelInfo.br); - builder.append(signLabelInfo.br); - builder.append("商品数据") - .append(signLabelInfo.br) - .append(signLabelInfo.br); - builder.append(getFormatLabel("名称 总计 ", signLabelInfo.s)) - .append(signLabelInfo.br) - .append(signLabelInfo.br); - - if (StrUtil.isNotBlank(handoverRecord.getProductData())) { - JSONArray.parseArray(handoverRecord.getProductData()).forEach(item -> { - JSONObject info = (JSONObject) item; - String productName = info.getString("productName"); - String skuName = info.getString("skuName"); - if (StrUtil.isNotBlank(skuName)) { - productName = productName + "-" + skuName; - } - BigDecimal num = info.getBigDecimal("num"); -// builder.append(signLabelInfo.getRs(5)); - builder.append(getRow(productName, "", "", num.toPlainString(), 25, 0, 1, 6)).append(signLabelInfo.br); - }); - } - builder - .append(signLabelInfo.br) - .append(signLabelInfo.br) - .append("快捷收款金额: ").append(handoverRecord.getQuickInAmount()).append(signLabelInfo.br) - .append("退款金额: ").append(handoverRecord.getRefundAmount()).append(signLabelInfo.br) - .append("总收入: ").append(handoverRecord.getHandAmount()).append(signLabelInfo.br) - .append("挂账金额: ").append(handoverRecord.getCreditAmount()).append(signLabelInfo.br) - .append("总订单数: ").append(handoverRecord.getOrderCount()).append(signLabelInfo.br) - .append("打印时间: ").append(DateUtil.date()).append(signLabelInfo.br) + .append("打印时间: ").append(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")).append(signLabelInfo.br) .append(signLabelInfo.getOut(180)) .append(signLabelInfo.cut) ;