Merge remote-tracking branch 'origin/hph' into dev

This commit is contained in:
牛叉闪闪 2024-07-25 16:52:32 +08:00
commit 14f9f36ef5
1 changed files with 136 additions and 143 deletions

View File

@ -31,6 +31,7 @@ public class PrinterUtils {
/**
* 获取TOKEN值
*
* @param timestamp 时间戳13位
* @param requestId 请求ID自定义
* @return
@ -51,10 +52,10 @@ public class PrinterUtils {
token += key + value;
encode += key + "=" + value + "&";
}
System.out.println("token"+token);
System.out.println("token" + token);
Map<String, String> finalMap = new HashMap<>();
finalMap.put("ENCODE",encode);
System.out.println("+++++++++++++++"+token + APP_SECRET);
finalMap.put("ENCODE", encode);
System.out.println("+++++++++++++++" + token + APP_SECRET);
finalMap.put("TOKEN", MD5Util.encrypt(token + APP_SECRET).toUpperCase());
return finalMap;
}
@ -62,6 +63,7 @@ public class PrinterUtils {
/**
* 厨房打印机
*
* @param pickupNumber
* @param date
* @param productName
@ -69,23 +71,23 @@ public class PrinterUtils {
* @param remark
* @return
*/
public static String getPrintData(String type,String pickupNumber,String date,String productName,Integer number,String remark) {
public static String getPrintData(String type, String pickupNumber, String date, String productName, Integer number, String remark) {
StringBuilder builder = new StringBuilder();
if("return".equals(type)){
builder.append("<C><B>"+pickupNumber+"【退】</B></C><BR><BR>");
}else {
builder.append("<C><B>"+pickupNumber+"</B></C><BR><BR>");
if ("return".equals(type)) {
builder.append("<C><B>" + pickupNumber + "【退】</B></C><BR><BR>");
} else {
builder.append("<C><B>" + pickupNumber + "</B></C><BR><BR>");
}
builder.append("<S><L>时间: "+date+" </L></S><BR><BR><BR>");
builder.append("<S><L>时间: " + date + " </L></S><BR><BR><BR>");
if(productName.length()>4||remark.length()>4){
builder.append("<CS:32>"+productName+" "+number+"</CS><BR>");
builder.append("<CS:32>"+remark+" </CS><BR>");
}else {
builder.append("<B>"+productName+" "+number+"</B><BR>");
builder.append("<B>"+remark+" </B><BR>");
if (productName.length() > 4 || remark.length() > 4) {
builder.append("<CS:32>" + productName + " " + number + "</CS><BR>");
builder.append("<CS:32>" + remark + " </CS><BR>");
} else {
builder.append("<B>" + productName + " " + number + "</B><BR>");
builder.append("<B>" + remark + " </B><BR>");
}
builder.append("<OUT:150>");
builder.append("<PCUT>");
@ -94,66 +96,66 @@ public class PrinterUtils {
}
public static String getCashPrintData(OrderDetailPO detailPO,String type,String orderType){
public static String getCashPrintData(OrderDetailPO detailPO, String type, String orderType) {
StringBuilder sb = new StringBuilder();
sb.append("<C><B>"+detailPO.getMerchantName()+"</B></C><BR><BR>");
sb.append("<C><BOLD>"+type+""+detailPO.getMasterId()+"】</BOLD></C><BR><BR>");
if(Objects.nonNull(detailPO.getOutNumber())){
sb.append("<CB><BOLD>"+detailPO.getOutNumber()+"</BOLD></CB><BR><BR>");
sb.append("<C><B>" + detailPO.getMerchantName() + "</B></C><BR><BR>");
sb.append("<C><BOLD>" + type + "" + detailPO.getMasterId() + "】</BOLD></C><BR><BR>");
if (Objects.nonNull(detailPO.getOutNumber())) {
sb.append("<CB><BOLD>" + detailPO.getOutNumber() + "</BOLD></CB><BR><BR>");
}
sb.append("<S><L>订单号: "+detailPO.getOrderNo()+" </L></S><BR>");
sb.append("<S><L>交易时间: "+detailPO.getTradeDate()+" </L></S><BR>");
sb.append("<S><L>收银员: "+detailPO.getOperator()+" </L></S><BR><BR><BR>");
sb.append("<S><L>订单号: " + detailPO.getOrderNo() + " </L></S><BR>");
sb.append("<S><L>交易时间: " + detailPO.getTradeDate() + " </L></S><BR>");
sb.append("<S><L>收银员: " + detailPO.getOperator() + " </L></S><BR><BR><BR>");
sb.append("------------------------<BR>");
char paddingCharacter = ' ';
sb.append("<S>"+String.format("%-15s","品名").replace(' ', paddingCharacter)+String.format("%-4s","数量").replace(' ', paddingCharacter)+String.format("%4s","小计").replace(' ', paddingCharacter)+"</S><BR>");
sb.append("<S>" + String.format("%-15s", "品名").replace(' ', paddingCharacter) + String.format("%-4s", "数量").replace(' ', paddingCharacter) + String.format("%4s", "小计").replace(' ', paddingCharacter) + "</S><BR>");
for (OrderDetailPO.Detail detail : detailPO.getDetailList()) {
if(detail.getProductName().length()>8){
sb.append("<S>"+detail.getProductName()+"</S><BR>");
sb.append("<S>"+String.format("%16s",detail.getNumber()).replace(' ', paddingCharacter)+String.format("%10s",detail.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
}else {
int tt=16-detail.getProductName().length();
sb.append("<S>"+String.format("%-"+tt+"s",detail.getProductName()).replace(' ', paddingCharacter)+String.format("%-4s",detail.getNumber()).replace(' ', paddingCharacter)+String.format("%6s",detail.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
if (detail.getProductName().length() > 8) {
sb.append("<S>" + detail.getProductName() + "</S><BR>");
sb.append("<S>" + String.format("%16s", detail.getNumber()).replace(' ', paddingCharacter) + String.format("%10s", detail.getAmount()).replace(' ', paddingCharacter) + "</S><BR>");
} else {
int tt = 16 - detail.getProductName().length();
sb.append("<S>" + String.format("%-" + tt + "s", detail.getProductName()).replace(' ', paddingCharacter) + String.format("%-4s", detail.getNumber()).replace(' ', paddingCharacter) + String.format("%6s", detail.getAmount()).replace(' ', paddingCharacter) + "</S><BR>");
}
if(detail.getSpec()!=null&& ObjectUtil.isNotEmpty(detail.getSpec())){
sb.append("<S>规格:"+detail.getSpec()+"</S><BR>");
if (detail.getSpec() != null && ObjectUtil.isNotEmpty(detail.getSpec())) {
sb.append("<S>规格:" + detail.getSpec() + "</S><BR>");
}
sb.append("<BR>");
}
sb.append("------------------------<BR>");
String t=""+detailPO.getReceiptsAmount();
t=String.format("%11s",t).replace(' ', paddingCharacter);
if(orderType.equals("return")){
sb.append("<F>应退"+t+"</F><BR>");
}else {
sb.append("<F>应收"+t+"</F><BR>");
String t = "" + detailPO.getReceiptsAmount();
t = String.format("%11s", t).replace(' ', paddingCharacter);
if (orderType.equals("return")) {
sb.append("<F>应退" + t + "</F><BR>");
} else {
sb.append("<F>应收" + t + "</F><BR>");
}
if(ObjectUtil.isNotEmpty(detailPO.getPayType())&&ObjectUtil.isNotNull(detailPO.getPayType())&&detailPO.getPayType().equals("deposit")){
sb.append("<S>储值¥"+detailPO.getReceiptsAmount()+" </S><BR>");
if (ObjectUtil.isNotEmpty(detailPO.getPayType()) && ObjectUtil.isNotNull(detailPO.getPayType()) && detailPO.getPayType().equals("deposit")) {
sb.append("<S>储值¥" + detailPO.getReceiptsAmount() + " </S><BR>");
sb.append("------------------------<BR>");
sb.append("<S>积分:"+detailPO.getIntegral()+"</S><BR>");
sb.append("<S>积分:" + detailPO.getIntegral() + "</S><BR>");
}
sb.append("<S>余额:"+detailPO.getBalance()+"</S><BR>");
sb.append("<S>余额:" + detailPO.getBalance() + "</S><BR>");
sb.append("------------------------<BR>");
if(ObjectUtil.isNotEmpty(detailPO.getRemark())&&ObjectUtil.isNotNull(detailPO.getRemark())){
sb.append("<L>备注:"+detailPO.getRemark()+"</L><BR>");
if (ObjectUtil.isNotEmpty(detailPO.getRemark()) && ObjectUtil.isNotNull(detailPO.getRemark())) {
sb.append("<L>备注:" + detailPO.getRemark() + "</L><BR>");
}
if(Objects.nonNull(detailPO.getOutNumber())){
if (Objects.nonNull(detailPO.getOutNumber())) {
sb.append("<QR>".concat(detailPO.getOutNumber()).concat("</QR><BR>"));
}
sb.append("<S>打印时间:"+DateUtils.getTime(new Date())+"</S><BR>");
sb.append("<S>打印时间:" + DateUtils.getTime(new Date()) + "</S><BR>");
sb.append("<OUT:180>");
sb.append("<PCUT>");
@ -162,87 +164,91 @@ public class PrinterUtils {
}
public static String handoverprintData(HandoverInfo handoverInfo){
public static String handoverprintData(HandoverInfo handoverInfo) {
StringBuilder sb = new StringBuilder();
sb.append("<C><B>"+handoverInfo.getMerchantName()+"</B></C><BR><BR>");
sb.append("<C><B>" + handoverInfo.getMerchantName() + "</B></C><BR><BR>");
sb.append("<C> </C><BR><BR>");
sb.append("<C><S><L>交班小票</L></S></C><BR>");
sb.append("<S>当班时间: "+handoverInfo.getStartTime()+"</S><BR>");
sb.append("<S>交班时间: "+handoverInfo.getEndTime()+"</S><BR>");
sb.append("<S>收银员: "+handoverInfo.getStaff()+"</S><BR>");
sb.append("<S>当班收入: "+handoverInfo.getTotalAmount()+"</S><BR>");
if(ObjectUtil.isNotEmpty(handoverInfo.getPayInfos())&&handoverInfo.getPayInfos().size()>0){
sb.append("<S>当班时间: " + handoverInfo.getStartTime() + "</S><BR>");
sb.append("<S>交班时间: " + handoverInfo.getEndTime() + "</S><BR>");
sb.append("<S>收银员: " + handoverInfo.getStaff() + "</S><BR>");
sb.append("<S>当班收入: " + handoverInfo.getTotalAmount() + "</S><BR>");
if (ObjectUtil.isNotEmpty(handoverInfo.getPayInfos()) && handoverInfo.getPayInfos().size() > 0) {
for (HandoverInfo.PayInfo payInfo : handoverInfo.getPayInfos()) {
sb.append("<S> "+payInfo.getPayType()+": "+payInfo.getAmount()+"</S><BR>");
sb.append("<S> " + payInfo.getPayType() + ": " + payInfo.getAmount() + "</S><BR>");
}
}
if(ObjectUtil.isNotEmpty(handoverInfo.getMemberData())&&handoverInfo.getMemberData().size()>0){
if (ObjectUtil.isNotEmpty(handoverInfo.getMemberData()) && handoverInfo.getMemberData().size() > 0) {
sb.append("<S>会员数据</S><BR>");
for (HandoverInfo.MemberData memberDatum : handoverInfo.getMemberData()) {
sb.append("<S> "+memberDatum.getDeposit()+": "+memberDatum.getAmount()+"</S><BR>");
sb.append("<S> " + memberDatum.getDeposit() + ": " + memberDatum.getAmount() + "</S><BR>");
}
}
if(ObjectUtil.isNotEmpty(handoverInfo.getProductCategories())&&handoverInfo.getProductCategories().size()>0){
if (ObjectUtil.isNotEmpty(handoverInfo.getProductCategories()) && handoverInfo.getProductCategories().size() > 0) {
sb.append("<S>分类数据</S><BR>");
for(HandoverInfo.ProductCategory productCategory:handoverInfo.getProductCategories()){
sb.append("<S> "+productCategory.getCategoryName()+" "+ productCategory.getNum()+" "+productCategory.getAmount()+"</S><BR>");
for (HandoverInfo.ProductCategory productCategory : handoverInfo.getProductCategories()) {
sb.append("<S> " + productCategory.getCategoryName() + " " + productCategory.getNum() + " " + productCategory.getAmount() + "</S><BR>");
}
}
if(ObjectUtil.isNotEmpty(handoverInfo.getProductInfos())&&handoverInfo.getProductInfos().size()>0) {
if (ObjectUtil.isNotEmpty(handoverInfo.getProductInfos()) && handoverInfo.getProductInfos().size() > 0) {
sb.append("<S>商品数据</S><BR>");
char paddingCharacter = ' ';
sb.append("<S> 品名"+String.format("%22s","数量").replace(' ', paddingCharacter)+"</S><BR>");
sb.append("<S> 品名" + String.format("%22s", "数量").replace(' ', paddingCharacter) + "</S><BR>");
for (ProductInfo productInfo : handoverInfo.getProductInfos()) {
if(productInfo.getProductName().length()>=14){
sb.append("<S> "+productInfo.getProductName()+"</S><BR>");
sb.append("<S> "+String.format("%27s",productInfo.getNum()).replace(' ', paddingCharacter)+"</S><BR>");
if (productInfo.getProductName().length() >= 14) {
}else {
int tt=22-productInfo.getProductName().length();
sb.append("<S> "+productInfo.getProductName()+String.format("%"+tt+"s",productInfo.getNum()).replace(' ', paddingCharacter)+"</S><BR>");
}
sb.append("<S> " + productInfo.getProductName() + "</S><BR>");
sb.append("<S> " + String.format("%27s", "*" + productInfo.getNum()).replace(' ', paddingCharacter) + "</S><BR>");
} else {
//计算英文和数字数量
//计算中文数量
int m = getProducrName(productInfo.getProductName());
int tt = 23 - productInfo.getProductName().length();
sb.append("<S> " + productInfo.getProductName() + String.format("%" + 6 + "s", "*" + productInfo.getNum()).replace(' ', paddingCharacter) + "</S><BR>");
}
sb.append("<BR>");
}
}
if(ObjectUtil.isNotEmpty(handoverInfo.getProductInfoPOS())&&handoverInfo.getProductInfoPOS().size()>0){
if (ObjectUtil.isNotEmpty(handoverInfo.getProductInfoPOS()) && handoverInfo.getProductInfoPOS().size() > 0) {
sb.append("<S>商品数据</S><BR>");
char paddingCharacter = ' ';
for (ProductInfoPO productInfoPO : handoverInfo.getProductInfoPOS()) {
if(ObjectUtil.isNotEmpty(productInfoPO.getSkuName())){
if (ObjectUtil.isNotEmpty(productInfoPO.getSkuName())) {
productInfoPO.setProductName(productInfoPO.getProductName().concat("(").concat(productInfoPO.getSkuName()).concat(")"));
}
if(productInfoPO.getProductName().length()>4&&productInfoPO.getProductName().length()<=10){
if (productInfoPO.getProductName().length() > 4 && productInfoPO.getProductName().length() <= 10) {
int count=getProducrName(productInfoPO.getProductName());
if(count<=0){
int length=15-(productInfoPO.getProductName().length()-4);
sb.append("<S>"+String.format("%-"+length+"s",productInfoPO.getProductName()).replace(' ', paddingCharacter)+String.format("%-2s", productInfoPO.getNum()).replace(' ', paddingCharacter)+String.format("%8s",productInfoPO.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
}else {
int length=15+count-(productInfoPO.getProductName().length()-4);
sb.append("<S>"+String.format("%-"+length+"s",productInfoPO.getProductName()).replace(' ', paddingCharacter)+String.format("%-2s",productInfoPO.getNum()).replace(' ', paddingCharacter)+String.format("%8s",productInfoPO.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
int count = getProducrName(productInfoPO.getProductName());
if (count <= 0) {
int length = 15 - (productInfoPO.getProductName().length() - 4);
sb.append("<S>" + String.format("%-" + length + "s", productInfoPO.getProductName()).replace(' ', paddingCharacter) + String.format("%-2s", productInfoPO.getNum()).replace(' ', paddingCharacter) + String.format("%8s", productInfoPO.getAmount()).replace(' ', paddingCharacter) + "</S><BR>");
} else {
int length = 15 + count - (productInfoPO.getProductName().length() - 4);
sb.append("<S>" + String.format("%-" + length + "s", productInfoPO.getProductName()).replace(' ', paddingCharacter) + String.format("%-2s", productInfoPO.getNum()).replace(' ', paddingCharacter) + String.format("%8s", productInfoPO.getAmount()).replace(' ', paddingCharacter) + "</S><BR>");
}
}else if(productInfoPO.getProductName().length()>10){
} else if (productInfoPO.getProductName().length() > 10) {
sb.append("<S>"+productInfoPO.getProductName()+"</S><BR>");
sb.append("<S>"+String.format("%20s",productInfoPO.getNum()).replace(' ', paddingCharacter)+String.format("%11s",productInfoPO.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
sb.append("<S>" + productInfoPO.getProductName() + "</S><BR>");
sb.append("<S>" + String.format("%20s", productInfoPO.getNum()).replace(' ', paddingCharacter) + String.format("%11s", productInfoPO.getAmount()).replace(' ', paddingCharacter) + "</S><BR>");
}else {
sb.append("<S>"+String.format("%-15s",productInfoPO.getProductName()).replace(' ', paddingCharacter)+String.format("%-4s",productInfoPO.getNum()).replace(' ', paddingCharacter)+String.format("%8s",productInfoPO.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
} else {
sb.append("<S>" + String.format("%-15s", productInfoPO.getProductName()).replace(' ', paddingCharacter) + String.format("%-4s", productInfoPO.getNum()).replace(' ', paddingCharacter) + String.format("%8s", productInfoPO.getAmount()).replace(' ', paddingCharacter) + "</S><BR>");
}
sb.append("<BR>");
@ -250,19 +256,16 @@ public class PrinterUtils {
}
sb.append("<S>快捷收款金额 :".concat(ObjectUtil.isNull(handoverInfo.getQuickAmount())?"0":handoverInfo.getQuickAmount())+"</S><BR>");
sb.append("<S>退款金额 :".concat(handoverInfo.getReturnAmount())+"</S><BR>");
sb.append("<S>总收入: "+handoverInfo.getTotalAmount()+"</S><BR>");
sb.append("<S>备用金: "+handoverInfo.getImprest()+"</S><BR>");
sb.append("<S>应交金额: "+handoverInfo.getPayable()+"</S><BR>");
sb.append("<S>上交金额: "+handoverInfo.getHandIn()+"</S><BR>");
sb.append("<S>快捷收款金额 :".concat(ObjectUtil.isNull(handoverInfo.getQuickAmount()) ? "0" : handoverInfo.getQuickAmount()) + "</S><BR>");
sb.append("<S>退款金额 :".concat(handoverInfo.getReturnAmount()) + "</S><BR>");
sb.append("<S>总收入: " + handoverInfo.getTotalAmount() + "</S><BR>");
sb.append("<S>备用金: " + handoverInfo.getImprest() + "</S><BR>");
sb.append("<S>应交金额: " + handoverInfo.getPayable() + "</S><BR>");
sb.append("<S>上交金额: " + handoverInfo.getHandIn() + "</S><BR>");
sb.append("<C> </C><BR><BR>");
sb.append("<S>总订单数:"+handoverInfo.getOrderNum()+"</S><BR>");
sb.append("<S>打印时间:"+DateUtils.getTime(new Date())+"</S><BR>");
sb.append("<S>总订单数:" + handoverInfo.getOrderNum() + "</S><BR>");
sb.append("<S>打印时间:" + DateUtils.getTime(new Date()) + "</S><BR>");
// sb.append("<QR>".concat(handoverInfo.getMerchantName())+"</QR><BR>");
sb.append("<OUT:200>");
@ -272,29 +275,22 @@ 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();
public static String printInvoice(String content, String remark, String amount) {
String sb = "<C><QR>".concat(content.concat("</QR></C><BR>")) +
"<C><BOLD>".concat(remark).concat("</BOLD></C><BR>") +
"<C><BOLD>【开票金额:".concat(amount).concat("】</BOLD></C>") +
"<OUT:200>" +
"<PCUT>";
return sb;
}
/**
* 打印票据
*
* @throws Exception
*/
public static void printTickets(String voiceJson,Integer actWay ,Integer cn,String devName,String data) {
public static void printTickets(String voiceJson, Integer actWay, Integer cn, String devName, String data) {
//设备名称
//行为方式 1:只打印数据 2:只播放信息 3:打印数据并播放信息
// actWay = 3;
@ -308,32 +304,30 @@ public class PrinterUtils {
Map<String, String> param = getToken(time, uuid);
//参数
MultiValueMap<String, Object> multiValueMap = new LinkedMultiValueMap<>();
multiValueMap.add("token",param.get("TOKEN"));
multiValueMap.add("devName",devName);
multiValueMap.add("actWay",actWay);
multiValueMap.add("cn",cn);
multiValueMap.add("data",data);
multiValueMap.add("voiceJson",voiceJson);
multiValueMap.add("appId",APP_ID);
multiValueMap.add("timestamp",time);
multiValueMap.add("requestId",uuid);
multiValueMap.add("userCode",USER_CODE);
multiValueMap.add("token", param.get("TOKEN"));
multiValueMap.add("devName", devName);
multiValueMap.add("actWay", actWay);
multiValueMap.add("cn", cn);
multiValueMap.add("data", data);
multiValueMap.add("voiceJson", voiceJson);
multiValueMap.add("appId", APP_ID);
multiValueMap.add("timestamp", time);
multiValueMap.add("requestId", uuid);
multiValueMap.add("userCode", USER_CODE);
RestTemplate restTemplate = new RestTemplate();
HttpHeaders header = new HttpHeaders();
header.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(multiValueMap,header);
HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(multiValueMap, header);
String httpResponse = restTemplate.postForObject(URL_STR,
httpEntity, String.class);
System.out.println("map"+httpResponse);
System.out.println("map" + httpResponse);
}
public static int getProducrName(String str){
int count=0;
public static int getProducrName(String str) {
int count = 0;
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c >= '0' && c <= '9') {
@ -345,35 +339,35 @@ public class PrinterUtils {
return count;
}
public static void main(String[] args)throws Exception {
public static void main(String[] args) throws Exception {
//
List<HandoverInfo.PayInfo> payInfos=new ArrayList<>();
List<HandoverInfo.PayInfo> payInfos = new ArrayList<>();
payInfos.add(new HandoverInfo.PayInfo("现金","39.00"));
payInfos.add(new HandoverInfo.PayInfo("微信支付","0.01"));
payInfos.add(new HandoverInfo.PayInfo("储值卡支付","43.00"));
payInfos.add(new HandoverInfo.PayInfo("银行卡支付","20.00"));
payInfos.add(new HandoverInfo.PayInfo("现金", "39.00"));
payInfos.add(new HandoverInfo.PayInfo("微信支付", "0.01"));
payInfos.add(new HandoverInfo.PayInfo("储值卡支付", "43.00"));
payInfos.add(new HandoverInfo.PayInfo("银行卡支付", "20.00"));
List<HandoverInfo.MemberData> memberDatas=new ArrayList<>();
memberDatas.add(new HandoverInfo.MemberData("43.00","会员消费"));
memberDatas.add(new HandoverInfo.MemberData("43.00","储值支付"));
List<HandoverInfo.MemberData> memberDatas = new ArrayList<>();
memberDatas.add(new HandoverInfo.MemberData("43.00", "会员消费"));
memberDatas.add(new HandoverInfo.MemberData("43.00", "储值支付"));
List<ProductInfo> productInfos=new ArrayList<>();
List<ProductInfo> productInfos = new ArrayList<>();
productInfos.add(new ProductInfo("161616161616161616161616161",16,new BigDecimal(65.00)));
productInfos.add(new ProductInfo("161616161616161616161616161", 16, new BigDecimal("65.00")));
productInfos.add(new ProductInfo("张三",16,new BigDecimal(65.00)));
productInfos.add(new ProductInfo("张三", 16, new BigDecimal("65.00")));
productInfos.add(new ProductInfo("牛叉闪闪牛叉闪闪牛叉闪闪牛叉闪闪牛叉闪闪牛叉闪闪牛叉闪闪",16,new BigDecimal(65.00)));
productInfos.add(new ProductInfo("牛叉闪闪牛叉闪闪牛叉闪闪牛叉闪闪牛叉闪闪牛叉闪闪牛叉闪闪", 16, new BigDecimal("65.00")));
HandoverInfo handoverInfo=new HandoverInfo("牛叉闪闪",DateUtils.getTime(new Date()),DateUtils.getTime(new Date()),"李四",payInfos,memberDatas,"5000.00","5000.00","5000.00","5000.00","50.00","80",null,"5000.00",null,productInfos);
HandoverInfo handoverInfo = new HandoverInfo("牛叉闪闪", DateUtils.getTime(new Date()), DateUtils.getTime(new Date()), "李四", payInfos, memberDatas, "5000.00", "5000.00", "5000.00", "5000.00", "50.00", "80", null, "5000.00", null, productInfos);
printTickets("3",1,1,"ZF544PG03W00005",handoverprintData(handoverInfo));
printTickets("3", 1, 1, "ZF544PG03W00005", handoverprintData(handoverInfo));
//
// List<OrderDetailPO.Detail> detailList= new ArrayList<>();
@ -390,7 +384,6 @@ public class PrinterUtils {
// 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"));