排队叫号打印

This commit is contained in:
张松
2025-03-18 17:08:51 +08:00
parent 06c3fd012d
commit faa8e8331c
6 changed files with 43 additions and 10 deletions

View File

@@ -8,6 +8,7 @@ import cn.hutool.extra.qrcode.QrConfig;
import com.czg.account.dto.calltable.*;
import com.czg.account.entity.*;
import com.czg.account.service.*;
import com.czg.config.RabbitPublisher;
import com.czg.config.RedisCst;
import com.czg.exception.ApiNotPrintException;
import com.czg.resp.CzgResult;
@@ -59,6 +60,8 @@ public class CallTableServiceImpl extends ServiceImpl<CallTableMapper, CallTable
private CallConfigService callConfigService;
@Resource
private CallQueueMapper callQueueMapper;
@Resource
private RabbitPublisher rabbitPublisher;
@Override
public CallTablePage get(Long shopId, Long callTableId, Integer state) {
@@ -215,8 +218,8 @@ public class CallTableServiceImpl extends ServiceImpl<CallTableMapper, CallTable
callQueueService.save(callQueue);
// todo 打印排号票信息
// rabbitMsgUtils.printCallNumTicket(callQueue.getId(), callQueue.getShopId());
// 打印排号票信息
rabbitPublisher.printCallNumTicket(callQueue.getId());
return new CallTableNumDTO().setTableName(callTable.getName()).setTableNote(callTable.getNote())
.setCallNum(callQueue.getCallNum());

View File

@@ -232,6 +232,15 @@ public abstract class PrinterHandler {
printMethod = "all";
break;
case PrintTypeEnum.CALL:
CallQueue queue = callQueueService.getById(data);
if (queue == null) {
throw new RuntimeException("叫号信息不存在: " + data);
}
shopId = queue.getShopId();
obj = queue;
printType = "queue";
break;
default:
throw new RuntimeException("未知打印类型");
@@ -346,8 +355,8 @@ public abstract class PrinterHandler {
break;
case PrintTypeEnum.CALL:
log.info("准备开始打印叫号单");
if (data instanceof Long id) {
onlyCallNumPrint(machine, id);
if (data instanceof CallQueue queue) {
onlyCallNumPrint(machine, queue);
}else {
throw new RuntimeException("传递数据类型有误");
}
@@ -506,12 +515,7 @@ public abstract class PrinterHandler {
/**
* 打印排队小票
*/
private void onlyCallNumPrint(PrintMachine machine, Long callQueueId) {
if (callQueueId == null) {
log.warn("打印叫号小票失败id为空");
}
CallQueue queue = callQueueService.getById(callQueueId);
private void onlyCallNumPrint(PrintMachine machine, CallQueue queue) {
if (queue == null) {
log.warn("叫号记录不存在");
return;