This commit is contained in:
邹宗楠
2025-06-09 15:45:59 +08:00
parent 57f5c312fe
commit 13950ec978
4 changed files with 136 additions and 33 deletions

View File

@@ -79,8 +79,11 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
<BR> <BR>
商品明细: <BR> 商品明细: <BR>
品名 数量 单价 小计<BR> `
--------------------------------<BR>` priceQuote := `品名 数量<BR>
--------------------------------<BR>` // 报价
pricePoints := `品名 数量 单价 小计<BR>
--------------------------------<BR>` // 扣点
// <BOLD>实际支付:</BOLD>%s<BR> // <BOLD>实际支付:</BOLD>%s<BR>
orderParams = append(orderParams, orderParams = append(orderParams,
jxutils.GetVendorName(order.VendorID), jxutils.GetVendorName(order.VendorID),
@@ -95,11 +98,23 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
order.BuyerComment, order.BuyerComment,
// jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice), // jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice),
) )
switch order.EarningType {
case model.EarningTypePoints: // 扣点
orderFmt += pricePoints
case model.EarningTypeQuote: // 报价
orderFmt += priceQuote
}
for _, sku := range order.Skus { for _, sku := range order.Skus {
orderFmt += `%s<BR>` switch order.EarningType {
orderFmt += `%8s%10s%10s<BR>` case model.EarningTypePoints: // 扣点
orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count))) orderFmt += `%s<BR>`
orderFmt += `%8s%10s%10s<BR>`
orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count)))
case model.EarningTypeQuote: // 报价
orderFmt += `%s %25s<BR>`
orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count))
}
//标品需要打印条形码 //标品需要打印条形码
if sku.Upc != "" { if sku.Upc != "" {
orderFmt += `upc码 %s<BR>` orderFmt += `upc码 %s<BR>`
@@ -186,8 +201,18 @@ func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel st
for _, sku := range order.Skus { for _, sku := range order.Skus {
orderFmt += `<B>%s<BR></B>` orderFmt += `<B>%s<BR></B>`
orderFmt += `<B>%s %s %s<BR><BR></B>`
orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count))) switch order.EarningType {
case model.EarningTypePoints: // 扣点
orderFmt += `<B>%s %s %s<BR><BR></B>`
orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count)))
case model.EarningTypeQuote: // 报价
orderFmt += `<B>%25s<BR><BR></B>`
orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count))
}
//orderFmt += `<B>%s %s %s<BR><BR></B>`
//orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count)))
//标品需要打印条形码 //标品需要打印条形码
if sku.Upc != "" { if sku.Upc != "" {
orderFmt += `upc码 %s<BR>` orderFmt += `upc码 %s<BR>`

View File

@@ -62,7 +62,11 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
客户备注: * 客户备注: *
<big>%s* <big>%s*
商品明细: * 商品明细: *
品名 数量 单价 小计 `
priceQuote := `品名 数量
--------------------------------*
`
pricePoints := `品名 数量 单价 小计
--------------------------------* --------------------------------*
` `
// <S011>实际支付: %s* // <S011>实际支付: %s*
@@ -80,10 +84,24 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
buyerComment, buyerComment,
// jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice), // jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice),
} }
switch order.EarningType {
case model.EarningTypePoints: // 扣点
orderFmt += pricePoints
case model.EarningTypeQuote: // 报价
orderFmt += priceQuote
}
for _, sku := range order.Skus { for _, sku := range order.Skus {
orderFmt += `%s*`
orderFmt += `%8s%10s%10s*` switch order.EarningType {
orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count))) case model.EarningTypePoints: // 扣点
orderFmt += `%s*`
orderFmt += `%8s%10s%10s*`
orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count)))
case model.EarningTypeQuote: // 报价
orderFmt += `%s %25s*`
orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count))
}
} }
orderFmt += ` orderFmt += `
* *
@@ -154,9 +172,15 @@ func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel st
// jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice), // jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice),
} }
for _, sku := range order.Skus { for _, sku := range order.Skus {
orderFmt += `<big>%s*` switch order.EarningType {
orderFmt += `<big>%s %s %s*` case model.EarningTypePoints: // 扣点
orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count))) orderFmt += `<big>%s*`
orderFmt += `<big>%s %s %s*`
orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count)))
case model.EarningTypeQuote: // 报价
orderFmt += `<big>%s %s*`
orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count))
}
} }
orderFmt += ` orderFmt += `
<big>共%d种%d件商品* <big>共%d种%d件商品*

View File

@@ -336,9 +336,15 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
` + xpyunapi.StrRepeat("-", 32) + `客户备注: %s ` + xpyunapi.StrRepeat("-", 32) + `客户备注: %s
` + xpyunapi.StrRepeat("-", 32) + ` ` + xpyunapi.StrRepeat("-", 32) + `
商品列表 商品列表
商品名` + xpyunapi.StrRepeat(" ", 2) + `数量` + xpyunapi.StrRepeat(" ", 3) + `单价` + xpyunapi.StrRepeat(" ", 5) + `小计 商品名`
switch order.EarningType {
case model.EarningTypePoints: // 扣点
orderFmt += xpyunapi.StrRepeat(" ", 2) + `数量` + xpyunapi.StrRepeat(" ", 3) + `单价` + xpyunapi.StrRepeat(" ", 5) + `小计
` + xpyunapi.StrRepeat("-", 32) + ` ` + xpyunapi.StrRepeat("-", 32) + `
` `
case model.EarningTypeQuote: // 报价
orderFmt += xpyunapi.StrRepeat(" ", 20) + `数量<BR>` + xpyunapi.StrRepeat("-", 32)
}
orderParams = append(orderParams, orderParams = append(orderParams,
utils.Time2Str(order.OrderCreatedAt), utils.Time2Str(order.OrderCreatedAt),
utils.Time2Str(expectedDeliveryTime), utils.Time2Str(expectedDeliveryTime),
@@ -352,8 +358,13 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
order.BuyerComment, order.BuyerComment,
) )
for _, sku := range order.Skus { for k, sku := range order.Skus {
orderFmt += xpyunapi.FormatPrintOrderItem(sku.SkuName, sku.Count, utils.Int64ToFloat64(sku.VendorPrice)) switch order.EarningType {
case model.EarningTypePoints: // 扣点
orderFmt += xpyunapi.FormatPrintOrderItem(sku.SkuName, sku.Count, utils.Int64ToFloat64(sku.VendorPrice))
case model.EarningTypeQuote: // 报价
orderFmt += xpyunapi.FormatPrintOrderItemV2(sku.SkuName, sku.Count, k+1)
}
} }
orderFmt += ` orderFmt += `
<L>共%d种%d件商品</L> <L>共%d种%d件商品</L>
@@ -405,9 +416,16 @@ func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel st
` + xpyunapi.StrRepeat("-", 32) + `<HB>客户备注: %s ` + xpyunapi.StrRepeat("-", 32) + `<HB>客户备注: %s
` + xpyunapi.StrRepeat("-", 32) + ` ` + xpyunapi.StrRepeat("-", 32) + `
商品列表 商品列表
商品名` + xpyunapi.StrRepeat(" ", 2) + `数量` + xpyunapi.StrRepeat(" ", 3) + `单价` + xpyunapi.StrRepeat(" ", 5) + `小计</HB> 商品名`
switch order.EarningType {
case model.EarningTypePoints: // 扣点
orderFmt += xpyunapi.StrRepeat(" ", 2) + `数量` + xpyunapi.StrRepeat(" ", 3) + `单价` + xpyunapi.StrRepeat(" ", 5) + `小计</HB>
` + xpyunapi.StrRepeat("-", 32) + "<HB>" + ` ` + xpyunapi.StrRepeat("-", 32) + "<HB>" + `
` `
case model.EarningTypeQuote: // 报价
orderFmt += xpyunapi.StrRepeat(" ", 20) + `数量<BR>` + xpyunapi.StrRepeat("-", 32)
}
orderParams = append(orderParams, orderParams = append(orderParams,
utils.Time2Str(order.OrderCreatedAt), utils.Time2Str(order.OrderCreatedAt),
utils.Time2Str(expectedDeliveryTime), utils.Time2Str(expectedDeliveryTime),
@@ -421,8 +439,13 @@ func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel st
order.BuyerComment, order.BuyerComment,
) )
for _, sku := range order.Skus { for k2, sku := range order.Skus {
orderFmt += xpyunapi.FormatPrintOrderItem(sku.SkuName, sku.Count, utils.Int64ToFloat64(sku.VendorPrice)) switch order.EarningType {
case model.EarningTypePoints: // 扣点
orderFmt += xpyunapi.FormatPrintOrderItem(sku.SkuName, sku.Count, utils.Int64ToFloat64(sku.VendorPrice))
case model.EarningTypeQuote: // 报价
orderFmt += xpyunapi.FormatPrintOrderItemV2(sku.SkuName, sku.Count, k2+1)
}
} }
orderFmt += `<L>共%d种%d件商品</L> orderFmt += `<L>共%d种%d件商品</L>
<L>实际支付: %s</L> <L>实际支付: %s</L>

View File

@@ -75,9 +75,19 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
<FS>%s</FS>\n <FS>%s</FS>\n
\n \n
\n \n
商品明细: \n 商品明细: \n`
points := `
品名 数量 小计\n 品名 数量 小计\n
--------------------------------\n` --------------------------------\n`
quote := `
品名 数量 \n
--------------------------------\n`
switch order.EarningType {
case model.EarningTypePoints: // 扣点
orderFmt += points
case model.EarningTypeQuote: // 报价
orderFmt += quote
}
orderParams = append(orderParams, orderParams = append(orderParams,
jxutils.GetVendorName(order.VendorID), jxutils.GetVendorName(order.VendorID),
order.OrderSeq, order.OrderSeq,
@@ -93,11 +103,16 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
) )
for _, sku := range order.Skus { for _, sku := range order.Skus {
orderFmt += `<FH>%s</FH>\n` switch order.EarningType {
//orderFmt += `%8s%10s%10s\n` case model.EarningTypePoints: // 扣点
orderFmt += `<FH>%20s%8s</FH>\n` orderFmt += `<FH>%s</FH>\n`
//orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.SalePrice), jxutils.IntPrice2StandardCurrencyString(sku.SalePrice*int64(sku.Count))) orderFmt += `<FH>%20s%8s</FH>\n`
orderParams = append(orderParams, sku.SkuName, "X"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count))) orderParams = append(orderParams, sku.SkuName, "X"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count)))
case model.EarningTypeQuote: // 报价
orderFmt += `<FH>%s%25s</FH>\n`
orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count))
}
//标品需要打印条形码 //标品需要打印条形码
if sku.Upc != "" { if sku.Upc != "" {
orderFmt += `upc码 %s\n` orderFmt += `upc码 %s\n`
@@ -158,9 +173,20 @@ func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel st
<FS>%s</FS>\n <FS>%s</FS>\n
\n \n
\n \n
<FS>商品明细: \n</FS> <FS>商品明细: \n</FS>`
品名 数量 小计\n
points := `品名 数量 小计\n
--------------------------------\n` --------------------------------\n`
quote := `品名 小计\n
--------------------------------\n`
switch order.EarningType {
case model.EarningTypePoints: // 扣点
orderFmt += points
case model.EarningTypeQuote: // 报价
orderFmt += quote
}
orderParams = append(orderParams, orderParams = append(orderParams,
jxutils.GetVendorName(order.VendorID), jxutils.GetVendorName(order.VendorID),
order.OrderSeq, order.OrderSeq,
@@ -176,11 +202,16 @@ func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel st
) )
for _, sku := range order.Skus { for _, sku := range order.Skus {
orderFmt += `<FH2>%s\n</FH2>` switch order.EarningType {
//orderFmt += `<FS2>%s %s %s\n\n</FS2>` case model.EarningTypePoints: // 扣点
orderFmt += `<FS><FB>%15s%8s</FB>\n</FS>` orderFmt += `<FH2>%s\n</FH2>`
//orderParams = append(orderParams, sku.SkuName, "x"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.SalePrice), jxutils.IntPrice2StandardCurrencyString(sku.SalePrice*int64(sku.Count))) orderFmt += `<FS><FB>%15s%8s</FB>\n</FS>`
orderParams = append(orderParams, sku.SkuName, "X"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count))) orderParams = append(orderParams, sku.SkuName, "X"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count)))
case model.EarningTypeQuote: // 报价
orderFmt += `<FH2>%s%25s\n</FH2>`
orderParams = append(orderParams, sku.SkuName, "X"+utils.Int2Str(sku.Count))
}
//标品需要打印条形码 //标品需要打印条形码
if sku.Upc != "" { if sku.Upc != "" {
orderFmt += `<FS>upc码 %s\n</FS>` orderFmt += `<FS>upc码 %s\n</FS>`