a
This commit is contained in:
@@ -187,3 +187,20 @@ func GetPrintMessages(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//查询打印统计(首页) GET
|
||||||
|
func GetPrinterReport(c *gin.Context) {
|
||||||
|
var (
|
||||||
|
tokenInfo *model.TokenInfo
|
||||||
|
)
|
||||||
|
if tokenInfo = checkToken(c); tokenInfo == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||||
|
retVal, err = services.GetPrinterReport(c, tokenInfo)
|
||||||
|
return retVal, "", err
|
||||||
|
}) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|||||||
@@ -151,6 +151,63 @@ func GetPrintMessagesPage(db *sqlx.DB, printNo, msgID, beginAt, endAt string, of
|
|||||||
return page, err
|
return page, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetPrintMessages(db *sqlx.DB, printNo, msgID, beginAt, endAt string, statusNeq int) (printMsgs []*model.PrintMsg, err error) {
|
||||||
|
var (
|
||||||
|
count int
|
||||||
|
beginTime, endTime time.Time
|
||||||
|
)
|
||||||
|
if beginAt == "" {
|
||||||
|
beginTime = utils.Time2Date(time.Now().AddDate(0, 0, -7))
|
||||||
|
} else {
|
||||||
|
beginTime = utils.Str2Time(beginAt)
|
||||||
|
}
|
||||||
|
if endAt == "" {
|
||||||
|
endTime = utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + " 23:59:59")
|
||||||
|
} else {
|
||||||
|
endTime = utils.Str2Time(endAt)
|
||||||
|
}
|
||||||
|
sqlCount := `
|
||||||
|
SELECT COUNT(id) count
|
||||||
|
`
|
||||||
|
sql := `
|
||||||
|
SELECT *
|
||||||
|
`
|
||||||
|
sqlOhter := `
|
||||||
|
FROM print_msg
|
||||||
|
WHERE 1 = 1 AND deleted_at = ?
|
||||||
|
`
|
||||||
|
sqlParams := []interface{}{utils.DefaultTimeValue}
|
||||||
|
if printNo != "" {
|
||||||
|
sqlOhter += " AND print_no = ?"
|
||||||
|
sqlParams = append(sqlParams, printNo)
|
||||||
|
}
|
||||||
|
if msgID != "" {
|
||||||
|
sqlOhter += " AND msg_id = ?"
|
||||||
|
sqlParams = append(sqlParams, msgID)
|
||||||
|
}
|
||||||
|
if beginTime != utils.ZeroTimeValue {
|
||||||
|
sqlOhter += " AND created_at > ?"
|
||||||
|
sqlParams = append(sqlParams, beginTime)
|
||||||
|
}
|
||||||
|
if endTime != utils.ZeroTimeValue {
|
||||||
|
sqlOhter += " AND created_at < ?"
|
||||||
|
sqlParams = append(sqlParams, endTime)
|
||||||
|
}
|
||||||
|
if statusNeq != 0 {
|
||||||
|
sqlOhter += " AND status <> ?"
|
||||||
|
sqlParams = append(sqlParams, statusNeq)
|
||||||
|
}
|
||||||
|
//查总数
|
||||||
|
row := db.DB.QueryRow(sqlCount+sqlOhter, sqlParams...)
|
||||||
|
if err = row.Scan(&count); err != nil {
|
||||||
|
return printMsgs, err
|
||||||
|
}
|
||||||
|
if err = db.Select(&printMsgs, sql+sqlOhter, sqlParams...); err == nil {
|
||||||
|
return printMsgs, err
|
||||||
|
}
|
||||||
|
return printMsgs, err
|
||||||
|
}
|
||||||
|
|
||||||
func GetPrinter(db *sqlx.DB, printNo, iccID string) (printer *model.Printer, err error) {
|
func GetPrinter(db *sqlx.DB, printNo, iccID string) (printer *model.Printer, err error) {
|
||||||
var (
|
var (
|
||||||
printers []*model.Printer
|
printers []*model.Printer
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ func Init(r *gin.Engine) {
|
|||||||
print.POST("/updatePrinter", controllers.UpdatePrinter)
|
print.POST("/updatePrinter", controllers.UpdatePrinter)
|
||||||
print.POST("/testPrint", controllers.TestPrint)
|
print.POST("/testPrint", controllers.TestPrint)
|
||||||
print.GET("/getPrintMessages", controllers.GetPrintMessages)
|
print.GET("/getPrintMessages", controllers.GetPrintMessages)
|
||||||
|
print.GET("/getPrinterReport", controllers.GetPrinterReport)
|
||||||
//order
|
//order
|
||||||
order := v2.Group("/order")
|
order := v2.Group("/order")
|
||||||
order.POST("/createOrder", controllers.CreateOrder)
|
order.POST("/createOrder", controllers.CreateOrder)
|
||||||
|
|||||||
@@ -186,3 +186,53 @@ func GetPrintMessages(c *gin.Context, appID int, tokenInfo *model.TokenInfo, pri
|
|||||||
}
|
}
|
||||||
return dao.GetPrintMessagesPage(db, printNo, msgID, beginAt, endAt, offset, pageSize)
|
return dao.GetPrintMessagesPage(db, printNo, msgID, beginAt, endAt, offset, pageSize)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type GetPrinterReportResult struct {
|
||||||
|
WeekPrintCount int `json:"week_print_count"`
|
||||||
|
DayPrintCount int `json:"day_print_count"`
|
||||||
|
DayUnPrintCount int `json:"day_un_print_count"`
|
||||||
|
OnlinePrinterCount int `json:"online_printer_count"`
|
||||||
|
OfflinePrinterCount int `json:"offline_printer_count"`
|
||||||
|
FlowPrinterCount int `json:"flow_printer_count"`
|
||||||
|
PaperPrinterCount int `json:"paper_printer_count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetPrinterReport(c *gin.Context, tokenInfo *model.TokenInfo) (getPrinterReportResult *GetPrinterReportResult, err error) {
|
||||||
|
var (
|
||||||
|
db = globals.GetDB()
|
||||||
|
weekCount, DayCount, DayUnCount = 0, 0, 0
|
||||||
|
onlineC, offlineC, flowC, paperC = 0, 0, 0, 0
|
||||||
|
)
|
||||||
|
getPrinterReportResult = &GetPrinterReportResult{}
|
||||||
|
apps, _ := dao.GetApps(db, 0, tokenInfo.User.UserID, "")
|
||||||
|
if len(apps) == 0 {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
for _, app := range apps {
|
||||||
|
printers, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 0)
|
||||||
|
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)
|
||||||
|
days, _ := dao.GetPrintMessages(db, printer.PrintNo, "", utils.Time2Str(time.Now().AddDate(0, 0, -1)), utils.Time2Str(time.Now()), 0)
|
||||||
|
DayCount += len(days)
|
||||||
|
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)
|
||||||
|
onlineC += len(onlines)
|
||||||
|
offlines, _ := dao.GetPrinters(db, app.ID, "", model.PrinterOffline, 0, 0)
|
||||||
|
offlineC += len(offlines)
|
||||||
|
flows, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 1)
|
||||||
|
flowC += len(flows)
|
||||||
|
papers, _ := dao.GetPrinters(db, app.ID, "", model.PrinterStatusWithouPaper, 0, 0)
|
||||||
|
paperC += len(papers)
|
||||||
|
}
|
||||||
|
getPrinterReportResult.WeekPrintCount = weekCount
|
||||||
|
getPrinterReportResult.DayPrintCount = DayCount
|
||||||
|
getPrinterReportResult.DayUnPrintCount = DayUnCount
|
||||||
|
getPrinterReportResult.OnlinePrinterCount = onlineC
|
||||||
|
getPrinterReportResult.OfflinePrinterCount = offlineC
|
||||||
|
getPrinterReportResult.FlowPrinterCount = flowC
|
||||||
|
getPrinterReportResult.PaperPrinterCount = paperC
|
||||||
|
return getPrinterReportResult, err
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user