获取打印消息

This commit is contained in:
suyl
2021-07-01 13:52:06 +08:00
parent aa0eee9812
commit 92b6d309e4
4 changed files with 110 additions and 20 deletions

View File

@@ -20,7 +20,7 @@ func AddPrinter(appID int, printNo, printKey, name string) (err error) {
PrintNo: printNo,
PrintKey: printKey,
Name: name,
Status: model.PrinterStatusNormal,
Status: model.PrinterStatusOffline,
}
dao.WrapAddIDCULDEntity(printer, "")
if err = dao.CreateEntity(db, printer); err != nil {
@@ -68,7 +68,7 @@ func DelPrinterSeq(appID int, printNo string) (err error) {
if printers, _ := dao.GetPrinters(db, appID, printNo); len(printers) == 0 {
return fmt.Errorf("该应用下未找到该打印机print_no : %v", printNo)
} else {
printMsgs, _ := dao.GetPrintMsgs(db, printNo)
printMsgs, _ := dao.GetPrintMsgs(db, printNo, "", model.PrintMsgWait)
for _, v := range printMsgs {
v.DeletedAt = time.Now()
if _, err = dao.UpdateEntity(db, v, "DeletedAt"); err != nil {
@@ -78,3 +78,35 @@ func DelPrinterSeq(appID int, printNo string) (err error) {
}
return err
}
func DoPrint(appID int, msgID, printNo, content string, orderNo int) (err error) {
var (
db = dao.GetDB()
)
printMsg := &model.PrintMsg{
PrintNo: printNo,
Content: content,
OrderNo: orderNo,
MsgID: msgID,
}
dao.WrapAddIDCULDEntity(printMsg, "")
if err = dao.CreateEntity(db, printMsg); err != nil {
return err
}
return err
}
func GetPrintMsg(appID int, msgID string) (printMsg *model.PrintMsg, err error) {
var (
db = dao.GetDB()
)
if printMsgs, _ := dao.GetPrintMsgs(db, "", msgID, model.PrintMsgAll); len(printMsgs) > 0 {
for _, v := range printMsgs {
return v, err
}
} else {
return printMsg, fmt.Errorf("未找到该消息msg_id :%v", msgID)
}
return printMsg, err
}

View File

@@ -26,19 +26,27 @@ func GetPrinters(db *DaoDB, appID int, printNo string) (printers []*model.Printe
return printers, err
}
func GetPrintMsgs(db *DaoDB, printNo string) (printMsgs []*model.PrintMsg, err error) {
func GetPrintMsgs(db *DaoDB, printNo, msgID string, status int) (printMsgs []*model.PrintMsg, err error) {
sql := `
SELECT *
FROM print_msg
WHERE 1 = 1 AND deleted_at = ? AND status = ?
WHERE 1 = 1 AND deleted_at = ?
`
sqlParams := []interface{}{
utils.DefaultTimeValue, model.PrinterStatusNormal,
utils.DefaultTimeValue,
}
if status != model.PrintMsgAll {
sql += " AND status = ?"
sqlParams = append(sqlParams, status)
}
if printNo != "" {
sql += " AND print_no = ?"
sqlParams = append(sqlParams, printNo)
}
if msgID != "" {
sql += " AND msg_id = ?"
sqlParams = append(sqlParams, msgID)
}
err = GetRows(db, &printMsgs, sql, sqlParams)
return printMsgs, err
}

View File

@@ -4,6 +4,13 @@ const (
PrinterStatusOnlineWithoutPaper = 2 //在线正常缺纸
PrinterStatusOnline = 1 //在线正常
PrinterStatusOffline = -1 //离线
PrintMsgAlreadySend = 2 //已经发出打印消息
PrintMsgSuccess = 1 //打印成功
PrintMsgWait = 0 //待打印
PrintMsgFail = -1 //打印失败(打印机报出)
PrintMsgErr = -2 //京西报出
PrintMsgAll = -9
)
type Printer struct {