This commit is contained in:
邹宗楠
2022-12-07 17:17:59 +08:00
parent a09f35be54
commit 40c7ca6dca
7 changed files with 103 additions and 33 deletions

View File

@@ -1,6 +1,7 @@
package print_server
import (
"encoding/json"
"fmt"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-print/dao"
@@ -38,7 +39,7 @@ func AddPrinters(c *gin.Context, tokenInfo *model.TokenInfo, appID int, printInf
errs = append(errs, fmt.Errorf("请输入正确的打印机编号print_no :%s 。", v.PrintNo))
continue
}
printers, _ := dao.GetPrinters(db, appID, v.PrintNo, 0, 0, 0)
printers, _ := dao.GetPrinters(db, appID, v.PrintNo, 0, 0, 0, "")
if len(printers) > 0 {
errs = append(errs, fmt.Errorf("此打印机已被其他应用绑定print_no :%s 。", v.PrintNo))
continue
@@ -68,8 +69,28 @@ func AddPrinters(c *gin.Context, tokenInfo *model.TokenInfo, appID int, printInf
return err
}
func GetPrinters(c *gin.Context, appID int, printNo, name string, status, isOnline, offset, pageSize int) (page *model.PagedInfo, err error) {
return dao.GetPrintersPage(globals.GetDB(), appID, printNo, name, status, isOnline, offset, pageSize, "")
func GetPrinters(userId string, appID int, printNo, name string, status, isOnline, offset, pageSize int) (page *model.PagedInfo, err error) {
page, err = dao.GetPrintersPage(globals.GetDB(), appID, printNo, name, status, isOnline, offset, pageSize, "")
if err != nil {
return nil, err
}
print2 := make([]model.Printer, 0, 0)
if err := json.Unmarshal([]byte(utils.Interface2String(page.Data)), &print2); err != nil {
return nil, err
}
printList := make([]string, 0, len(print2))
for _, v := range print2 {
printList = append(printList, v.PrintNo)
}
printBillList, err := dao.QueryPrintBillList(userId, printList)
if err != nil {
return nil, err
}
for _, v := range printBillList {
page.PrintBill[v.PrintNo] = v.PrintBalance
}
return
}
func DelPrinters(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printNos []string) (err error) {
@@ -89,7 +110,7 @@ func DelPrinters(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printNos
errs = append(errs, fmt.Errorf("请输入正确的打印机编号print_no :%s 。", v))
continue
}
printers, _ := dao.GetPrinters(db, appID, v, 0, 0, 0)
printers, _ := dao.GetPrinters(db, appID, v, 0, 0, 0, "")
if len(printers) == 0 {
errs = append(errs, fmt.Errorf("未在该应用下查到此打印机app_id: %d, print_no: %s", appID, v))
continue
@@ -117,7 +138,7 @@ func UpdatePrinter(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printN
return fmt.Errorf("未查询到此应用app_id:%d", appID)
}
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0)
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0, "")
if len(printers) == 0 {
return fmt.Errorf("未在该应用下查到此打印机app_id: %d, print_no: %s", appID, printNo)
}
@@ -186,7 +207,7 @@ func GetPrintMessages(c *gin.Context, appID int, tokenInfo *model.TokenInfo, pri
if apps, _ := dao.GetApps(db, appID, tokenInfo.User.UserID, ""); len(apps) == 0 {
return nil, fmt.Errorf("未查询到此应用app_id:%d", appID)
}
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0)
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0, "")
if len(printers) == 0 {
return nil, fmt.Errorf("未在该应用下查到此打印机app_id: %d, print_no: %s", appID, printNo)
}
@@ -208,14 +229,15 @@ func GetPrinterReport(c *gin.Context, tokenInfo *model.TokenInfo) (getPrinterRep
db = globals.GetDB()
weekCount, DayCount, DayUnCount = 0, 0, 0
onlineC, offlineC, flowC, paperC = 0, 0, 0, 0
userId = tokenInfo.User.UserID
)
getPrinterReportResult = &GetPrinterReportResult{}
apps, _ := dao.GetApps(db, 0, tokenInfo.User.UserID, "")
apps, _ := dao.GetApps(db, 0, userId, "")
if len(apps) == 0 {
return nil, err
}
for _, app := range apps {
printers, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 0)
printers, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 0, userId)
for _, printer := range printers {
weeks, _ := dao.GetPrintMessages(db, printer.PrintNo, "", utils.Time2Str(time.Now().AddDate(0, 0, -7)), utils.Time2Str(time.Now()), 0)
weekCount += len(weeks)
@@ -224,13 +246,13 @@ func GetPrinterReport(c *gin.Context, tokenInfo *model.TokenInfo) (getPrinterRep
dayUns, _ := dao.GetPrintMessages(db, printer.PrintNo, "", utils.Time2Str(time.Now().AddDate(0, 0, -1)), utils.Time2Str(time.Now()), 1)
DayUnCount += len(dayUns)
}
onlines, _ := dao.GetPrinters(db, app.ID, "", model.PrinterOnline, 0, 0)
onlines, _ := dao.GetPrinters(db, app.ID, "", model.PrinterOnline, 0, 0, userId)
onlineC += len(onlines)
offlines, _ := dao.GetPrinters(db, app.ID, "", model.PrinterOffline, 0, 0)
offlines, _ := dao.GetPrinters(db, app.ID, "", model.PrinterOffline, 0, 0, userId)
offlineC += len(offlines)
flows, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 1)
flows, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 1, userId)
flowC += len(flows)
papers, _ := dao.GetPrinters(db, app.ID, "", model.PrinterStatusWithouPaper, 0, 0)
papers, _ := dao.GetPrinters(db, app.ID, "", model.PrinterStatusWithouPaper, 0, 0, userId)
paperC += len(papers)
}
getPrinterReportResult.WeekPrintCount = weekCount