a
This commit is contained in:
@@ -187,3 +187,20 @@ func GetPrintMessages(c *gin.Context) {
|
||||
}
|
||||
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
|
||||
}
|
||||
|
||||
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) {
|
||||
var (
|
||||
printers []*model.Printer
|
||||
|
||||
@@ -26,6 +26,7 @@ func Init(r *gin.Engine) {
|
||||
print.POST("/updatePrinter", controllers.UpdatePrinter)
|
||||
print.POST("/testPrint", controllers.TestPrint)
|
||||
print.GET("/getPrintMessages", controllers.GetPrintMessages)
|
||||
print.GET("/getPrinterReport", controllers.GetPrinterReport)
|
||||
//order
|
||||
order := v2.Group("/order")
|
||||
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)
|
||||
}
|
||||
|
||||
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