修改打印时间

This commit is contained in:
牛叉闪闪
2024-07-25 10:56:29 +08:00
parent 3bd9766e42
commit d3e4c3ef4a
5 changed files with 78 additions and 113 deletions

View File

@@ -12,6 +12,7 @@ import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.math.BigDecimal;
import java.util.*;
/**
@@ -109,24 +110,13 @@ public class PrinterUtils {
char paddingCharacter = ' ';
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()>4&&detail.getProductName().length()<=10){
int count=getProducrName(detail.getProductName());
if(count<=0){
int length=15-(detail.getProductName().length()-4);
sb.append("<S>"+String.format("%-"+length+"s",detail.getProductName()).replace(' ', paddingCharacter)+String.format("%-4s",detail.getNumber()).replace(' ', paddingCharacter)+String.format("%8s",detail.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
}else {
int length=15+count-(detail.getProductName().length()-4);
sb.append("<S>"+String.format("%-"+length+"s",detail.getProductName()).replace(' ', paddingCharacter)+String.format("%-4s",detail.getNumber()).replace(' ', paddingCharacter)+String.format("%8s",detail.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
}
}else if(detail.getProductName().length()>10){
sb.append("<S>"+detail.getProductName()+"</S><BR>");
sb.append("<S>"+String.format("%20s",detail.getNumber()).replace(' ', paddingCharacter)+String.format("%11s",detail.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
if(detail.getProductName().length()>8){
sb.append("<S> "+detail.getProductName()+"</S><BR>");
sb.append("<S> "+String.format("%15s",detail.getNumber()).replace(' ', paddingCharacter)+String.format("%10s",detail.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
}else {
sb.append("<S>"+String.format("%-15s",detail.getProductName()).replace(' ', paddingCharacter)+String.format("%-4s",detail.getNumber()).replace(' ', paddingCharacter)+String.format("%8s",detail.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
int tt=14-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())){
@@ -205,45 +195,20 @@ public class PrinterUtils {
sb.append("<S>商品数据</S><BR>");
List<ProductInfo> productInfo1=handoverInfo.getProductInfos();
Integer max= productInfo1.stream().max(Comparator.comparing(it->it.getProductName().length())).get().getProductName().length();
char paddingCharacter = ' ';
sb.append("<S> "+String.format("%-10s","品名").replace(' ', paddingCharacter)+String.format("%-4s","数量").replace(' ', paddingCharacter)+String.format("%4s","小计").replace(' ', paddingCharacter)+"</S><BR>");
for (ProductInfo productInfo : handoverInfo.getProductInfos()) {
if(productInfo.getProductName().length()>4&&productInfo.getProductName().length()<=8){
int count=getProducrName(productInfo.getProductName());
if(count<=0){
int length=15-(productInfo.getProductName().length()-4);
sb.append("<S> "+String.format("%-"+length+"s",productInfo.getProductName()).replace(' ', paddingCharacter)+String.format("%-4s",productInfo.getNum()).replace(' ', paddingCharacter)+String.format("%4s",productInfo.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
}else {
int length=15+count/2-(productInfo.getProductName().length()-4);
sb.append("<S> "+String.format("%-"+length+"s",productInfo.getProductName()).replace(' ', paddingCharacter)+String.format("%-4s",productInfo.getNum()).replace(' ', paddingCharacter)+String.format("%4s",productInfo.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
}
}else if(productInfo.getProductName().length()>10){
if(productInfo.getProductName().length()>8){
sb.append("<S> "+productInfo.getProductName()+"</S><BR>");
sb.append("<S> "+String.format("%20s",productInfo.getNum()).replace(' ', paddingCharacter)+String.format("%11s",productInfo.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
sb.append("<S> "+String.format("%15s",productInfo.getNum()).replace(' ', paddingCharacter)+String.format("%10s",productInfo.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
}else {
if(productInfo.getProductName().length()<max){
int tt=max-productInfo.getProductName().length()+10;
sb.append("<S> "+String.format("%-"+tt+"s",productInfo.getProductName()).replace(' ', paddingCharacter)+String.format("%-4s",productInfo.getNum()).replace(' ', paddingCharacter)+String.format("%6s",productInfo.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
}else {
sb.append("<S> "+String.format("%-10s",productInfo.getProductName()).replace(' ', paddingCharacter)+String.format("%-4s",productInfo.getNum()).replace(' ', paddingCharacter)+String.format("%6s",productInfo.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
}
int tt=14-productInfo.getProductName().length();
sb.append("<S> "+String.format("%-"+tt+"s",productInfo.getProductName()).replace(' ', paddingCharacter)+String.format("%-4s",productInfo.getNum()).replace(' ', paddingCharacter)+String.format("%6s",productInfo.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
}
sb.append("<BR>");
}
@@ -387,39 +352,32 @@ public class PrinterUtils {
public static void main(String[] args)throws Exception {
int t=0;
//
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"));
List<HandoverInfo.MemberData> memberDatas=new ArrayList<>();
memberDatas.add(new HandoverInfo.MemberData("43.00","会员消费"));
memberDatas.add(new HandoverInfo.MemberData("43.00","储值支付"));
String str="张三456987asdfg";
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c >= '0' && c <= '9') {
t++;
} else if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
t++;
}
}
System.out.println(t);
List<ProductInfo> productInfos=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"));
//
// List<HandoverInfo.MemberData> memberDatas=new ArrayList<>();
// memberDatas.add(new HandoverInfo.MemberData("43.00","会员消费"));
// memberDatas.add(new HandoverInfo.MemberData("43.00","储值支付"));
//
//
//
//
// HandoverInfo handoverInfo=new HandoverInfo("冠军","2024-03-15 14:57:00","2024-03-15 14:59:00","【POS-1】 001",payInfos,memberDatas,"102.01","0.00","39.00","39.00","4");
//
//
// printTickets(3,1,"ZF544PG03W00002",handoverprintData(handoverInfo));
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)));
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));
//
// List<OrderDetailPO.Detail> detailList= new ArrayList<>();