This commit is contained in:
2026-04-03 11:29:34 +08:00
parent f821344ab0
commit 71d0252cf8
2 changed files with 24 additions and 31 deletions

View File

@@ -657,12 +657,12 @@ public abstract class PrinterHandler {
OrderInfo orderInfo, PrintMachine machine, List<OrderDetail> detailList) {
ShopInfo shopInfo = shopInfoService.getById(orderInfo.getShopId());
PrintInfoDTO printInfoDTO = new PrintInfoDTO().setShopName(shopInfo.getShopName()).setPrintType("收银-堂食")
.setPickupNum(orderInfo.getTableName())
.setOrderNo(orderInfo.getOrderNo())
.setTradeDate(DateUtil.format(orderInfo.getCreateTime(), "yyyy-MM-dd HH:mm:ss"))
.setTradeDate(DateUtil.format(orderInfo.getCreateTime(), "yyyy/MM/dd HH:mm:ss"))
.setOperator(operator)
.setReturn(true)
.setPrintTitle(printTitle);
printInfoDTO.setPickupNum(getTableAreaAndName(orderInfo.getShopId(), orderInfo.getTableCode(), orderInfo.getTableName()));
printInfoDTO.setRefundAmount(refundAmount);
printInfoDTO.setRefundReason(refundReason);
printInfoDTO.setRefundType("cash".equals(refundType) ? "现金退款" : "原路退回");
@@ -684,13 +684,9 @@ public abstract class PrinterHandler {
}
}
printInfoDTO.setOriginalAmount((originalAmount.add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee())).toPlainString());
printInfoDTO.setPayAmount(originalAmount.add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee())
.subtract(orderInfo.getDiscountAllAmount()).setScale(2, RoundingMode.HALF_UP).toPlainString());
printInfoDTO.setPayAmount((originalAmount.add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee())
.subtract(orderInfo.getDiscountAllAmount())).setScale(2, RoundingMode.HALF_UP).toPlainString());
if (orderInfo.getSeatNum() != null && orderInfo.getSeatAmount().compareTo(BigDecimal.ZERO) > 0) {
printInfoDTO.setSeatNum(orderInfo.getSeatNum().toString());
printInfoDTO.setSeatAmount(orderInfo.getSeatAmount().divide(BigDecimal.valueOf(orderInfo.getSeatNum()), 2, RoundingMode.DOWN).toPlainString());
}
if (orderInfo.getPackFee().compareTo(BigDecimal.ZERO) > 0) {
printInfoDTO.setPackFee(orderInfo.getPackFee().toPlainString());
}
@@ -713,13 +709,6 @@ public abstract class PrinterHandler {
printInfoDTO.setOriginalAmount((originalAmount.add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee())).toPlainString());
printInfoDTO.setPayAmount(originalAmount.add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee())
.subtract(orderInfo.getDiscountAllAmount()).setScale(2, RoundingMode.HALF_UP).toPlainString());
if (orderInfo.getSeatNum() != null && orderInfo.getSeatAmount().compareTo(BigDecimal.ZERO) > 0) {
printInfoDTO.setSeatNum(orderInfo.getSeatNum() + "");
printInfoDTO.setSeatAmount(orderInfo.getSeatAmount().divide(BigDecimal.valueOf(orderInfo.getSeatNum()), 2, RoundingMode.DOWN).toPlainString());
} else {
printInfoDTO.setSeatNum("");
}
if (orderInfo.getPackFee().compareTo(BigDecimal.ZERO) > 0) {
printInfoDTO.setPackFee(orderInfo.getPackFee().toPlainString());
}
@@ -732,12 +721,6 @@ public abstract class PrinterHandler {
BigDecimal originalAmount = orderInfo.getOriginAmount() == null ? BigDecimal.ZERO : orderInfo.getOriginAmount();
printInfoDTO.setOriginalAmount(originalAmount.toPlainString());
printInfoDTO.setPayAmount(originalAmount.subtract(orderInfo.getDiscountAllAmount()).setScale(2, RoundingMode.HALF_UP).toPlainString());
if (orderInfo.getSeatNum() != null && orderInfo.getSeatAmount().compareTo(BigDecimal.ZERO) > 0) {
printInfoDTO.setSeatNum(orderInfo.getSeatNum() + "");
printInfoDTO.setSeatAmount(orderInfo.getSeatAmount().divide(BigDecimal.valueOf(orderInfo.getSeatNum()), 2, RoundingMode.DOWN).toPlainString());
} else {
printInfoDTO.setSeatNum("");
}
if (orderInfo.getPackFee().compareTo(BigDecimal.ZERO) > 0) {
printInfoDTO.setPackFee(orderInfo.getPackFee().toPlainString());
}
@@ -765,6 +748,14 @@ public abstract class PrinterHandler {
if (detail != null) {
printInfoDTO.setOperator(detail.getName());
}
} else {
printInfoDTO.setOperator("");
}
if (orderInfo.getSeatNum() != null && orderInfo.getSeatAmount().compareTo(BigDecimal.ZERO) > 0) {
printInfoDTO.setSeatNum(orderInfo.getSeatNum() + "");
printInfoDTO.setSeatAmount(orderInfo.getSeatAmount().divide(BigDecimal.valueOf(orderInfo.getSeatNum()), 2, RoundingMode.DOWN).toPlainString());
} else {
printInfoDTO.setSeatNum("");
}
if ("结算单".equals(printTitle)) {
if (StrUtil.isNotBlank(orderInfo.getPayType())) {

View File

@@ -256,7 +256,7 @@ public interface PrinterImpl {
StringBuilder data = new StringBuilder();
data.append(getFormatLabel(printInfoDTO.getShopName(), signLabelInfo.s, signLabelInfo.center)).append(signLabelInfo.br);
data.append(getFormatLabel(printInfoDTO.getPrintTitle(), signLabelInfo.s, signLabelInfo.center)).append(signLabelInfo.br);
data.append(getFormatLabel(StrUtil.format("桌台号: {}", printInfoDTO.getPickupNum()), signLabelInfo.f)).append(signLabelInfo.br);
data.append(getFormatLabel(printInfoDTO.getPickupNum(), signLabelInfo.f)).append(signLabelInfo.br);
data.append(getFormatLabel(getFormatLabel(leftRightAlign(printInfoDTO.getPrintType(), printInfoDTO.getSeatNum(), 32)), signLabelInfo.s)).append(signLabelInfo.br);
if (StrUtil.isNotBlank(printInfoDTO.getTradeDate())) {
data.append(getFormatLabel(StrUtil.format("结账时间:{}", printInfoDTO.getTradeDate()), signLabelInfo.s)).append(signLabelInfo.br);
@@ -291,7 +291,7 @@ public interface PrinterImpl {
}
}
if (StrUtil.isNotBlank(printInfoDTO.getSeatAmount())) {
data.append(getFormatLabel(formatItemLine("餐位费", printInfoDTO.getSeatNum(), printInfoDTO.getSeatAmount(), 18, 9), signLabelInfo.s)).append(signLabelInfo.br);
data.append(getFormatLabel(formatItemLine("餐位费", printInfoDTO.getSeatAmount(), printInfoDTO.getSeatNum(), 18, 9), signLabelInfo.s)).append(signLabelInfo.br);
}
if (StrUtil.isNotBlank(printInfoDTO.getPackFee())) {
data.append(getFormatLabel(formatItemLine("打包费", toPlainStr(printInfoDTO.getPackFee()), "", 18, 9), signLabelInfo.s)).append(signLabelInfo.br);
@@ -301,7 +301,7 @@ public interface PrinterImpl {
.append(signLabelInfo.br);
data.append(getFormatLabel(leftRightAlign("原价:", printInfoDTO.getOriginalAmount(), 32), signLabelInfo.s)).append(signLabelInfo.br);
if (ObjectUtil.isNotNull(printInfoDTO.getDiscountAmount())) {
data.append(getFormatLabel(leftRightAlign("优惠金额:", "-" + printInfoDTO.getDiscountAmount(), 32), signLabelInfo.s)).append(signLabelInfo.br);
data.append(getFormatLabel(leftRightAlign("优惠:", "-" + printInfoDTO.getDiscountAmount(), 32), signLabelInfo.s)).append(signLabelInfo.br);
}
if (StrUtil.isNotBlank(printInfoDTO.getRemark())) {
data.append(getFormatLabel(StrUtil.format("备注:{}", printInfoDTO.getRemark()), signLabelInfo.s)).append(signLabelInfo.br);
@@ -340,8 +340,10 @@ public interface PrinterImpl {
StringBuilder data = new StringBuilder();
data.append(getFormatLabel(printInfoDTO.getShopName(), signLabelInfo.s, signLabelInfo.center)).append(signLabelInfo.br);
data.append(getFormatLabel("客看单", signLabelInfo.s, signLabelInfo.center)).append(signLabelInfo.br);
data.append(getFormatLabel(StrUtil.format("桌台号: {}", printInfoDTO.getPickupNum()), signLabelInfo.f)).append(signLabelInfo.br);
data.append(getFormatLabel(getFormatLabel(leftRightAlign(printInfoDTO.getPrintType(), printInfoDTO.getSeatNum(), 32)), signLabelInfo.s)).append(signLabelInfo.br);
if (StrUtil.isNotBlank(printInfoDTO.getPickupNum())) {
data.append(getFormatLabel(printInfoDTO.getPickupNum(), signLabelInfo.f)).append(signLabelInfo.br);
}
data.append(getFormatLabel(getFormatLabel(leftRightAlign(printInfoDTO.getPrintType(), printInfoDTO.getSeatNum() + "", 32)), signLabelInfo.s)).append(signLabelInfo.br);
data.append(getFormatLabel("--------------------------------", signLabelInfo.s)).append(signLabelInfo.br);
data.append(getFormatLabel(formatItemLine("品名", "单价", "数量", 18, 9), signLabelInfo.s)).append(signLabelInfo.br);
@@ -372,7 +374,7 @@ public interface PrinterImpl {
}
}
if (StrUtil.isNotBlank(printInfoDTO.getSeatAmount())) {
data.append(getFormatLabel(formatItemLine("餐位费", printInfoDTO.getSeatNum(), printInfoDTO.getSeatAmount(), 18, 9), signLabelInfo.s)).append(signLabelInfo.br);
data.append(getFormatLabel(formatItemLine("餐位费", printInfoDTO.getSeatAmount(), printInfoDTO.getSeatNum(), 18, 9), signLabelInfo.s)).append(signLabelInfo.br);
}
if (StrUtil.isNotBlank(printInfoDTO.getPackFee())) {
data.append(getFormatLabel(formatItemLine("打包费", toPlainStr(printInfoDTO.getPackFee()), "", 18, 9), signLabelInfo.s)).append(signLabelInfo.br);
@@ -381,13 +383,13 @@ public interface PrinterImpl {
.append(signLabelInfo.br);
data.append(getFormatLabel(leftRightAlign("原价:", printInfoDTO.getOriginalAmount(), 32), signLabelInfo.s)).append(signLabelInfo.br);
if (ObjectUtil.isNotNull(printInfoDTO.getDiscountAmount())) {
data.append(getFormatLabel(leftRightAlign("优惠金额:", "-" + printInfoDTO.getDiscountAmount(), 32), signLabelInfo.s)).append(signLabelInfo.br);
data.append(getFormatLabel(leftRightAlign("优惠:", "-" + printInfoDTO.getDiscountAmount(), 32), signLabelInfo.s)).append(signLabelInfo.br);
}
if (StrUtil.isNotBlank(printInfoDTO.getRemark())) {
data.append(getFormatLabel(StrUtil.format("备注:{}", printInfoDTO.getRemark()), signLabelInfo.s)).append(signLabelInfo.br);
}
data.append(getFormatLabel("--------------------------------", signLabelInfo.s)).append(signLabelInfo.br);
data.append(getFormatLabel(leftRightAlign("应付金额:", printInfoDTO.getPayAmount(), 16), signLabelInfo.f)).append(signLabelInfo.br);
data.append(getFormatLabel(leftRightAlign("应付:", printInfoDTO.getPayAmount(), 16), signLabelInfo.f)).append(signLabelInfo.br);
data.append(getFormatLabel("--------------------------------", signLabelInfo.s))
.append(signLabelInfo.br);
data.append(getFormatLabel(StrUtil.format("操作员:{}", printInfoDTO.getOperator()), signLabelInfo.s));
@@ -410,10 +412,10 @@ public interface PrinterImpl {
StringBuilder data = new StringBuilder();
data.append(getFormatLabel(printInfoDTO.getShopName(), signLabelInfo.s, signLabelInfo.center)).append(signLabelInfo.br);
data.append(getFormatLabel(printInfoDTO.getPrintTitle(), signLabelInfo.s, signLabelInfo.center)).append(signLabelInfo.br);
data.append(getFormatLabel(StrUtil.format("桌台号: {}", printInfoDTO.getPickupNum()), signLabelInfo.f)).append(signLabelInfo.br);
data.append(getFormatLabel(printInfoDTO.getPickupNum(), signLabelInfo.f)).append(signLabelInfo.br);
data.append(getFormatLabel(getFormatLabel(leftRightAlign(printInfoDTO.getPrintType(), printInfoDTO.getSeatNum(), 32)), signLabelInfo.s)).append(signLabelInfo.br);
data.append(getFormatLabel("--------------------------------", signLabelInfo.s)).append(signLabelInfo.br);
if(CollUtil.isNotEmpty(detailList)){
if (CollUtil.isNotEmpty(detailList)) {
data.append(getFormatLabel(formatItemLine("退款明细", "数量", "小计", 18, 9), signLabelInfo.s)).append(signLabelInfo.br);
for (OrderDetail detail : detailList) {