feat: 工单提交排名统计接口开发。
This commit is contained in:
parent
feee69a4ec
commit
eb07c152a3
@ -14,16 +14,31 @@ import (
|
|||||||
func InitData(c *gin.Context) {
|
func InitData(c *gin.Context) {
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
workOrderCount map[string]int // 工单数量统计
|
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 {
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
app.OK(c, map[string]interface{}{
|
app.OK(c, map[string]interface{}{
|
||||||
"workOrderCount": workOrderCount,
|
"count": count,
|
||||||
|
"ranks": ranks,
|
||||||
}, "")
|
}, "")
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package service
|
|||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"ferry/global/orm"
|
"ferry/global/orm"
|
||||||
|
"ferry/models/process"
|
||||||
"ferry/pkg/pagination"
|
"ferry/pkg/pagination"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
@ -12,6 +13,23 @@ import (
|
|||||||
@Author : lanyulei
|
@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) {
|
func WeeklyStatistics() (statisticsData map[string][]interface{}, err error) {
|
||||||
var (
|
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 (
|
var (
|
||||||
w *WorkOrder
|
w *WorkOrder
|
||||||
result interface{}
|
result interface{}
|
||||||
@ -179,3 +197,20 @@ func WorkOrderCount(c *gin.Context) (countList map[string]int, err error) {
|
|||||||
|
|
||||||
return
|
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