feat: 工单提交排名统计接口开发。
This commit is contained in:
parent
feee69a4ec
commit
eb07c152a3
@ -13,17 +13,32 @@ import (
|
||||
|
||||
func InitData(c *gin.Context) {
|
||||
var (
|
||||
err error
|
||||
workOrderCount map[string]int // 工单数量统计
|
||||
err error
|
||||
count map[string]int // 工单数量统计
|
||||
ranks []service.Ranks
|
||||
)
|
||||
|
||||
workOrderCount, err = service.WorkOrderCount(c)
|
||||
statistics := service.Statistics{
|
||||
StartTime: "",
|
||||
EndTime: "",
|
||||
}
|
||||
|
||||
// 查询工单类型数据统计
|
||||
count, err = statistics.WorkOrderCount(c)
|
||||
if err != nil {
|
||||
app.Error(c, -1, err, "")
|
||||
app.Error(c, -1, err, "查询工单类型数据统计失败")
|
||||
return
|
||||
}
|
||||
|
||||
// 查询工单数据排名
|
||||
ranks, err = statistics.WorkOrderRanks()
|
||||
if err != nil {
|
||||
app.Error(c, -1, err, "查询提交工单排名数据失败")
|
||||
return
|
||||
}
|
||||
|
||||
app.OK(c, map[string]interface{}{
|
||||
"workOrderCount": workOrderCount,
|
||||
"count": count,
|
||||
"ranks": ranks,
|
||||
}, "")
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package service
|
||||
import (
|
||||
"database/sql"
|
||||
"ferry/global/orm"
|
||||
"ferry/models/process"
|
||||
"ferry/pkg/pagination"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
@ -12,6 +13,23 @@ import (
|
||||
@Author : lanyulei
|
||||
*/
|
||||
|
||||
type Ranks struct {
|
||||
Name string `json:"name"`
|
||||
Total int `json:"total"`
|
||||
}
|
||||
|
||||
type Statistics struct {
|
||||
StartTime string `json:"start_time"`
|
||||
EndTime string `json:"end_time"`
|
||||
}
|
||||
|
||||
func NewStatistics(startTime string, endTime string) *Statistics {
|
||||
return &Statistics{
|
||||
StartTime: startTime,
|
||||
EndTime: endTime,
|
||||
}
|
||||
}
|
||||
|
||||
// 查询周统计数据
|
||||
func WeeklyStatistics() (statisticsData map[string][]interface{}, err error) {
|
||||
var (
|
||||
@ -145,7 +163,7 @@ func SubmitRanking() (submitRankingData map[string][]interface{}, err error) {
|
||||
}
|
||||
|
||||
// 查询工单数量统计
|
||||
func WorkOrderCount(c *gin.Context) (countList map[string]int, err error) {
|
||||
func (s *Statistics) WorkOrderCount(c *gin.Context) (countList map[string]int, err error) {
|
||||
var (
|
||||
w *WorkOrder
|
||||
result interface{}
|
||||
@ -179,3 +197,20 @@ func WorkOrderCount(c *gin.Context) (countList map[string]int, err error) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// 查询指定范围内的提交工单折线图统计
|
||||
|
||||
// 查询指定范围内的提交工单排名数据
|
||||
func (s *Statistics) WorkOrderRanks() (ranks []Ranks, err error) {
|
||||
ranks = make([]Ranks, 0)
|
||||
|
||||
err = orm.Eloquent.Model(&process.WorkOrderInfo{}).
|
||||
Joins("left join p_process_info on p_process_info.id = p_work_order_info.process").
|
||||
Select("p_process_info.name as name, count(p_work_order_info.id) as total").
|
||||
Group("p_work_order_info.process").
|
||||
Order("total desc").
|
||||
Limit(10).
|
||||
Scan(&ranks).Error
|
||||
|
||||
return
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user