交班票 和 用餐方式

This commit is contained in:
2026-04-03 15:07:23 +08:00
parent 60fbcb32b1
commit 49babaa814
2 changed files with 39 additions and 45 deletions

View File

@@ -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) {

View File

@@ -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)
;