添加打印发票功能

This commit is contained in:
牛叉闪闪 2024-07-18 13:40:01 +08:00
parent b27b364848
commit 6bcecc2ef9
3 changed files with 73 additions and 11 deletions

View File

@ -55,4 +55,17 @@ public class CloudPrinterController {
){
return cloudPrinterService.handoverprintData(token,id,loginName);
}
@GetMapping("printInvoice")
public Result printInvoice(@RequestHeader("token") String token,
@RequestHeader("loginName") String loginName,
@RequestHeader("clientType") String clientType,
@RequestParam("content") String content,
@RequestParam("remark") String remark,
@RequestParam("amount") String amount,
@RequestParam("shopId") String shopId
){
return cloudPrinterService.printInvoice(shopId, content, remark, amount);
}
}

View File

@ -666,4 +666,40 @@ public class CloudPrinterService {
public Result printInvoice(String shopId,String content,String remark,String amount){
List<TbPrintMachineWithBLOBs> bloBsList = tbPrintMachineMapper.selectByShopId(shopId);
if (ObjectUtil.isEmpty(bloBsList) || bloBsList.size() <= 0) {
log.error("此店铺没有对应的打印机设备");
return Result.fail(CodeEnum.printmachinenoexsit);
}
bloBsList.parallelStream().forEach(it->{
if (!"network".equals(it.getConnectionType())) {
log.error("非网络打印机");
return;
}
if (!"1".equals(it.getStatus().toString())) {
log.error("打印机状态异常");
return;
}
if(!it.getSubType().equals("cash")){
log.error("非小票打印机");
return;
}
String voiceJson = "{\"bizType\":\"1\",\"content\":\"您有一笔新的订单,请及时处理\"}";
PrinterUtils.printTickets(voiceJson,1,1,it.getAddress(),PrinterUtils.printInvoice(content, remark, amount));
});
return Result.success(CodeEnum.SUCCESS);
}
}

View File

@ -222,6 +222,15 @@ public class PrinterUtils {
public static String printInvoice(String content,String remark,String amount){
StringBuilder sb=new StringBuilder();
sb.append("<C><QR>".concat(content.concat("</QR></C><BR>")));
sb.append("<C><BOLD>".concat(remark).concat("</BOLD></C><BR>"));
sb.append("<C><BOLD>【开票金额:".concat(amount).concat("】</BOLD></C>"));
sb.append("<OUT:200>");
sb.append("<PCUT>");
return sb.toString();
}
@ -306,20 +315,24 @@ public class PrinterUtils {
//
// printTickets(3,1,"ZF544PG03W00002",handoverprintData(handoverInfo));
//
// List<OrderDetailPO.Detail> detailList= new ArrayList<>();
// OrderDetailPO.Detail detail=new OrderDetailPO.Detail("花香水牛拿铁","1","19000.90","不甜,麻辣");
//
// OrderDetailPO.Detail detail3=new OrderDetailPO.Detail("单位iiii","4","40000.00",null);
// OrderDetailPO.Detail detail4=new OrderDetailPO.Detail("喔喔奶茶","1","19000.90","微甜,微辣");
// detailList.add(detail);
// detailList.add(detail3);
// detailList.add(detail4);
// OrderDetailPO detailPO=new OrderDetailPO("牛叉闪闪","普通打印","#365","DD20240306134718468","2024-03-06 15:00:00","【POS-1】001","79000.80","5049758.96","deposit","0",detailList,"变态辣");
//
// String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
// printTickets(voiceJson,1,1,"ZF544PG03W00002",getCashPrintData(detailPO,"结算单",""));\\
List<OrderDetailPO.Detail> detailList= new ArrayList<>();
OrderDetailPO.Detail detail=new OrderDetailPO.Detail("花香水牛拿铁","1","19000.90","不甜,麻辣");
OrderDetailPO.Detail detail3=new OrderDetailPO.Detail("单位iiii","4","40000.00",null);
OrderDetailPO.Detail detail4=new OrderDetailPO.Detail("喔喔奶茶","1","19000.90","微甜,微辣");
detailList.add(detail);
detailList.add(detail3);
detailList.add(detail4);
OrderDetailPO detailPO=new OrderDetailPO("牛叉闪闪","普通打印","#365","DD20240306134718468","2024-03-06 15:00:00","【POS-1】001","79000.80","5049758.96","deposit","0",detailList,"变态辣");
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
printTickets(voiceJson,1,1,"ZF544PG03W00002",getCashPrintData(detailPO,"结算单",""));
String voiceJson = "{\"bizType\":\"1\",\"content\":\"您有一笔新的订单,请及时处理\"}";
printTickets(voiceJson,1,1,"ZF544PG03W00002", printInvoice("http://weixin.qq.com/q/020fVS8lcLeiG1ID3SxCcH","【30天内开票有效】","1000000"));
}
}