|
@@ -42,7 +42,10 @@ func (s *PrintService) PrintTicket(printerID uint, lotName, channelCode, plateNo
|
|
|
now := time.Now().Format("02-01-2006 15:04:05")
|
|
now := time.Now().Format("02-01-2006 15:04:05")
|
|
|
slipNo := fmt.Sprintf("%d", ticketID)
|
|
slipNo := fmt.Sprintf("%d", ticketID)
|
|
|
|
|
|
|
|
- // Print ticket
|
|
|
|
|
|
|
+ // ── 打印入场小票 (79.5mm纸, Font A 32字/行) ──
|
|
|
|
|
+ // 顶部分割线
|
|
|
|
|
+ line32 := "================================" // 32 chars
|
|
|
|
|
+
|
|
|
write(InitCmd)
|
|
write(InitCmd)
|
|
|
write(AlignCenterCmd)
|
|
write(AlignCenterCmd)
|
|
|
write(DoubleHeightCmd)
|
|
write(DoubleHeightCmd)
|
|
@@ -52,13 +55,17 @@ func (s *PrintService) PrintTicket(printerID uint, lotName, channelCode, plateNo
|
|
|
write(NormalCmd)
|
|
write(NormalCmd)
|
|
|
write(ESCPOS_Text(""))
|
|
write(ESCPOS_Text(""))
|
|
|
write(ESCPOS_Text(lotName))
|
|
write(ESCPOS_Text(lotName))
|
|
|
|
|
+ if len(lotName) > 32 {
|
|
|
|
|
+ write(FontBCmd) // 长名称切 Font B 小字体
|
|
|
|
|
+ write(AlignCenterCmd)
|
|
|
|
|
+ write(ESCPOS_Text(lotName))
|
|
|
|
|
+ write(NormalCmd)
|
|
|
|
|
+ }
|
|
|
write(ESCPOS_Text("A-General Car"))
|
|
write(ESCPOS_Text("A-General Car"))
|
|
|
write(ESCPOS_Text(""))
|
|
write(ESCPOS_Text(""))
|
|
|
- write(BoldOnCmd)
|
|
|
|
|
write(ESCPOS_Text("PARK AT YOUR OWN RISK"))
|
|
write(ESCPOS_Text("PARK AT YOUR OWN RISK"))
|
|
|
- write(BoldOffCmd)
|
|
|
|
|
|
|
+ write(ESCPOS_Text(line32))
|
|
|
|
|
|
|
|
- write(InitCmd)
|
|
|
|
|
write(AlignLeftCmd)
|
|
write(AlignLeftCmd)
|
|
|
write(ESCPOS_Text("In-Time::" + now))
|
|
write(ESCPOS_Text("In-Time::" + now))
|
|
|
if channelCode != "" {
|
|
if channelCode != "" {
|
|
@@ -67,14 +74,12 @@ func (s *PrintService) PrintTicket(printerID uint, lotName, channelCode, plateNo
|
|
|
if plateNo != "" {
|
|
if plateNo != "" {
|
|
|
write(ESCPOS_Text("Veh No::" + plateNo))
|
|
write(ESCPOS_Text("Veh No::" + plateNo))
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- write(InitCmd)
|
|
|
|
|
- write(ESCPOS_Text(""))
|
|
|
|
|
|
|
+ write(ESCPOS_Text(line32))
|
|
|
write(ESCPOS_Text("Slip No::" + slipNo))
|
|
write(ESCPOS_Text("Slip No::" + slipNo))
|
|
|
|
|
+ write(ESCPOS_Text(line32))
|
|
|
|
|
|
|
|
- write(InitCmd)
|
|
|
|
|
write(AlignCenterCmd)
|
|
write(AlignCenterCmd)
|
|
|
- write(ESCPOS_Text(""))
|
|
|
|
|
|
|
+ write(ESCPOS_Text("")) // 空行:二维码前留白
|
|
|
write(ESCPOS_QRCode(ticketNo))
|
|
write(ESCPOS_QRCode(ticketNo))
|
|
|
write(ESCPOS_Text(""))
|
|
write(ESCPOS_Text(""))
|
|
|
|
|
|
|
@@ -82,9 +87,11 @@ func (s *PrintService) PrintTicket(printerID uint, lotName, channelCode, plateNo
|
|
|
write(ESCPOS_Text("SCAN AND PAY WITH"))
|
|
write(ESCPOS_Text("SCAN AND PAY WITH"))
|
|
|
write(ESCPOS_Text("NEW THE CANADIA BANK APP"))
|
|
write(ESCPOS_Text("NEW THE CANADIA BANK APP"))
|
|
|
|
|
|
|
|
|
|
+ // 纸尾留白 + 切纸
|
|
|
write(InitCmd)
|
|
write(InitCmd)
|
|
|
write(ESCPOS_Text(""))
|
|
write(ESCPOS_Text(""))
|
|
|
write(ESCPOS_Text(""))
|
|
write(ESCPOS_Text(""))
|
|
|
|
|
+ write(ESCPOS_Text(""))
|
|
|
write(CutPaperCmd)
|
|
write(CutPaperCmd)
|
|
|
|
|
|
|
|
global.GVA_DB.Model(&printer).Update("status", "online")
|
|
global.GVA_DB.Model(&printer).Update("status", "online")
|