Browse Source

数据源统计查询

xyxie 1 year ago
parent
commit
0502dd3bdf

+ 24 - 8
controllers/data_stat/edb_source_stat.go

@@ -255,20 +255,30 @@ func (this *EdbSourceStatController) EdbDeleteLog() {
 		tmp.EdbInfoId = v.EdbInfoId
 		tmp.Id = v.Id
 		tmp.StartDate = v.StartDate
+		tmp.EndDate = v.EndDate
 		tmp.Unit = v.Unit
 		tmp.TerminalCode = v.TerminalCode
 		tmp.CreateTime = v.CreateTime
+		tmp.EdbCreateTime = v.EdbCreateTime
 		tmp.Frequency = v.Frequency
 		tmp.Source = v.Source
 		tmp.SourceName = v.SourceName
+		tmp.EdbName = v.EdbName
+		tmp.EdbNameEn = v.EdbNameEn
 		tmp.EdbNameSource = v.EdbNameSource
 		tmp.LatestDate = v.LatestDate
-		tmp.DataUpdateTime = v.DataUpdateTime
+
 		tmp.DelSysUserId = v.DelSysUserId
 		tmp.DelSysUserRealName = v.DelSysUserRealName
 		tmp.SysUserId = v.SysUserId
+		tmp.SysUserRealName = v.SysUserRealName
 		tmp.LatestValue = v.LatestValue
-		tmp.ErDataUpdateDate = v.ErDataUpdateDate
+		if v.DataUpdateTime != utils.EmptyDateTimeStr {
+			tmp.DataUpdateTime = v.DataUpdateTime
+		}
+		if v.ErDataUpdateDate != utils.EmptyDateStr {
+			tmp.ErDataUpdateDate = v.ErDataUpdateDate
+		}
 		list = append(list, tmp)
 	}
 
@@ -410,9 +420,12 @@ func (this *EdbSourceStatController) EdbUpdateLog() {
 		tmp.LatestDate = v.LatestDate
 		tmp.LatestValue = v.LatestValue
 		tmp.TerminalCode = v.TerminalCode
-		tmp.DataUpdateTime = v.DataUpdateTime
-		tmp.ErDataUpdateDate = v.ErDataUpdateDate
-
+		if v.DataUpdateTime != utils.EmptyDateTimeStr {
+			tmp.DataUpdateTime = v.DataUpdateTime
+		}
+		if v.ErDataUpdateDate != utils.EmptyDateStr {
+			tmp.ErDataUpdateDate = v.ErDataUpdateDate
+		}
 		list = append(list, tmp)
 	}
 
@@ -573,8 +586,12 @@ func (this *EdbSourceStatController) EdbUpdateStat() {
 		tmp.LatestDate = v.LatestDate
 		tmp.LatestValue = v.LatestValue
 		tmp.TerminalCode = v.TerminalCode
-		tmp.DataUpdateTime = v.DataUpdateTime.Format(utils.FormatDateTime)
-		tmp.ErDataUpdateDate = v.ErDataUpdateDate.Format(utils.FormatDate)
+		if v.DataUpdateTime != utils.EmptyDateTimeStr {
+			tmp.DataUpdateTime = v.DataUpdateTime
+		}
+		if v.ErDataUpdateDate != utils.EmptyDateStr {
+			tmp.ErDataUpdateDate = v.ErDataUpdateDate
+		}
 		tmp.SourceUpdateResult = v.SourceUpdateResult
 		tmp.SourceUpdateFailedReason = v.SourceUpdateFailedReason
 		tmp.SourceUpdateTime = v.SourceUpdateTime
@@ -714,7 +731,6 @@ func (this *EdbSourceStatController) EdbSourceStat() {
 		tmp.HasUpdateNum = v.HasUpdateNum
 		tmp.UpdateSuccessNum = v.UpdateSuccessNum
 		tmp.UpdateFailedNum = v.UpdateFailedNum
-		tmp.DataUpdateSuccessNum = v.DataUpdateSuccessNum
 		list = append(list, tmp)
 	}
 

+ 50 - 4
controllers/data_stat/edb_terminal.go

@@ -6,6 +6,7 @@ import (
 	"eta/eta_api/models"
 	"eta/eta_api/models/data_manage"
 	"eta/eta_api/services/data_stat"
+	"eta/eta_api/utils"
 )
 
 // EdbTerminalController 数据源终端管理
@@ -43,10 +44,10 @@ func (this *EdbTerminalController) Save() {
 		br.Msg = "请输入终端名称"
 		return
 	}
-	if req.ServerUrl == "" {
-		br.Msg = "请输入终端地址"
+	/*if req.ServerUrl == "" && req.Value == "" {
+		br.Msg = "请输入终端地址或者token"
 		return
-	}
+	}*/
 	if req.Num <= 0 {
 		br.Msg = "请输入指标数据量"
 		return
@@ -144,7 +145,7 @@ func (this *EdbTerminalController) List() {
 		br.ErrMsg = "获取终端列表失败 ErrMsg:" + err.Error()
 		return
 	}
-	resp := &data_manage.EdbTerminalLisResp{
+	resp := &data_manage.EdbTerminalListResp{
 		List: list,
 	}
 	br.Ret = 200
@@ -152,3 +153,48 @@ func (this *EdbTerminalController) List() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// TerminalCodeList
+// @Title 数据源终端列表
+// @Description 数据源终端列表接口
+// @Success 200 {object} data_manage.EdbTerminalCodeResp
+// @router /terminal/code [get]
+func (this *EdbTerminalController) TerminalCodeList() {
+	br := new(models.BaseResponse).Init()
+	br.IsSendEmail = false
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+	source, _ := this.GetInt("Source", utils.DATA_SOURCE_MYSTEEL_CHEMICAL)
+	list, err := data_manage.GetEdbTerminalBySource(source)
+	if err != nil {
+		br.Msg = "获取终端列表失败"
+		br.ErrMsg = "获取终端列表失败 ErrMsg:" + err.Error()
+		return
+	}
+	codeList := make([]*data_manage.EdbTerminalCode, 0)
+	if len(list) > 0 {
+		for _, v := range list {
+			tmp := new(data_manage.EdbTerminalCode)
+			tmp.TerminalCode = v.TerminalCode
+			tmp.Source = v.Source
+			tmp.Name = v.Name
+			codeList = append(codeList, tmp)
+		}
+	}
+	resp := &data_manage.EdbTerminalCodeResp{
+		List: codeList,
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 18 - 1
models/data_manage/edb_terminal.go

@@ -35,6 +35,12 @@ type EdbTerminalItem struct {
 	CreateTime   string `description:"创建时间"`
 }
 
+type EdbTerminalCode struct {
+	TerminalCode string `description:"终端编码,用于配置在机器上"`
+	Source       int    `description:"指标来源类型"`
+	Name         string `description:"终端别名"`
+}
+
 // GetEdbTerminalListBySource 根据指标来源类型获取所有的终端列表
 func GetEdbTerminalListBySource(source int) (items []*EdbTerminal, err error) {
 	o := orm.NewOrmUsingDB("data")
@@ -47,10 +53,14 @@ type BaseIndexTerminalCode struct {
 	TerminalCode string `description:"终端编码,用于配置在机器上"`
 }
 
-type EdbTerminalLisResp struct {
+type EdbTerminalListResp struct {
 	List []*EdbTerminalItem `description:"列表数据"`
 }
 
+type EdbTerminalCodeResp struct {
+	List []*EdbTerminalCode `description:"终端编码列表"`
+}
+
 type AddEdbTerminalListReq struct {
 	TerminalId int    `description:"终端id"`
 	Source     int    `description:"指标来源类型"`
@@ -91,6 +101,13 @@ func GetEdbTerminalList() (item []*EdbTerminalItem, err error) {
 	return
 }
 
+func GetEdbTerminalBySource(source int) (item []*EdbTerminalItem, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM edb_terminal where source=? ORDER BY terminal_id ASC`
+	_, err = o.Raw(sql, source).QueryRows(&item)
+	return
+}
+
 func (item *EdbTerminal) Add() (err error) {
 	o := orm.NewOrmUsingDB("data")
 	_, err = o.Insert(item)

+ 5 - 5
models/data_stat/edb_info_update_stat.go

@@ -25,11 +25,11 @@ type EdbInfoUpdateStat struct {
 	EdbCreateTime    time.Time `description:"指标创建时间"`
 	EdbModifyTime    time.Time `description:"指标修改时间"`
 	CreateTime       time.Time
-	LatestDate       string    `description:"数据最新日期"`
-	LatestValue      float64   `description:"数据最新值"`
-	TerminalCode     string    `description:"终端编码,用于配置在机器上"`
-	DataUpdateTime   time.Time `description:"最近一次数据发生变化的时间"`
-	ErDataUpdateDate time.Time `description:"本次更新,数据发生变化的最早日期"`
+	LatestDate       string  `description:"数据最新日期"`
+	LatestValue      float64 `description:"数据最新值"`
+	TerminalCode     string  `description:"终端编码,用于配置在机器上"`
+	DataUpdateTime   string  `description:"最近一次数据发生变化的时间"`
+	ErDataUpdateDate string  `description:"本次更新,数据发生变化的最早日期"`
 	/*UpdateResult       int32     `description:"本次刷新结果:1成功,2失败"`
 	UpdateTime         string    `description:"刷新/修改时间"`
 	UpdateFailedReason string    `description:"数据未正常刷新原因"`*/

+ 24 - 26
models/data_stat/edb_source_stat.go

@@ -8,35 +8,33 @@ import (
 
 // EdbSourceStat 数据源统计表
 type EdbSourceStat struct {
-	Id                   uint64    `orm:"column(id);pk"`
-	SourceName           string    `description:"来源名称"`
-	Source               int       `description:"来源id"`
-	TerminalCode         string    `description:"终端编码,用于配置在机器上"`
-	EdbNum               int32     `description:"指标总数"`
-	EdbNewNum            int32     `description:"今日新增指标数"`
-	EdbDelNum            int32     `description:"今日删除指标数"`
-	NeedUpdateNum        int32     `description:"今日需刷新指标"`
-	HasUpdateNum         int32     `description:"今日发起刷新任务指标数"`
-	UpdateSuccessNum     int32     `description:"今日已刷新成功指标数"`
-	UpdateFailedNum      int32     `description:"今日已刷新失败指标数"`
-	DataUpdateSuccessNum int32     `description:"今日已更新指标"`
-	CreateTime           time.Time `description:"创建时间"`
-	ModifyTime           time.Time `description:"修改时间"`
+	Id               uint64    `orm:"column(id);pk"`
+	SourceName       string    `description:"来源名称"`
+	Source           int       `description:"来源id"`
+	TerminalCode     string    `description:"终端编码,用于配置在机器上"`
+	EdbNum           int32     `description:"指标总数"`
+	EdbNewNum        int32     `description:"今日新增指标数"`
+	EdbDelNum        int32     `description:"今日删除指标数"`
+	NeedUpdateNum    int32     `description:"今日需刷新指标"`
+	HasUpdateNum     int32     `description:"今日发起刷新任务指标数"`
+	UpdateSuccessNum int32     `description:"今日已刷新成功指标数"`
+	UpdateFailedNum  int32     `description:"今日已刷新失败指标数"`
+	CreateTime       time.Time `description:"创建时间"`
+	ModifyTime       time.Time `description:"修改时间"`
 }
 
 type EdbInfoSourceStatItem struct {
-	Id                   uint64 `orm:"column(id);pk"`
-	SourceName           string `description:"来源名称"`
-	Source               int    `description:"来源id"`
-	TerminalCode         string `description:"终端编码,用于配置在机器上"`
-	EdbNum               int32  `description:"指标总数"`
-	EdbNewNum            int32  `description:"今日新增指标数"`
-	EdbDelNum            int32  `description:"今日删除指标数"`
-	NeedUpdateNum        int32  `description:"今日需刷新指标"`
-	HasUpdateNum         int32  `description:"今日发起刷新任务指标数"`
-	UpdateSuccessNum     int32  `description:"今日已刷新成功指标数"`
-	UpdateFailedNum      int32  `description:"今日已刷新失败指标数"`
-	DataUpdateSuccessNum int32  `description:"今日已更新指标"`
+	Id               uint64 `orm:"column(id);pk"`
+	SourceName       string `description:"来源名称"`
+	Source           int    `description:"来源id"`
+	TerminalCode     string `description:"终端编码,用于配置在机器上"`
+	EdbNum           int32  `description:"指标总数"`
+	EdbNewNum        int32  `description:"今日新增指标数"`
+	EdbDelNum        int32  `description:"今日删除指标数"`
+	NeedUpdateNum    int32  `description:"今日需刷新指标"`
+	HasUpdateNum     int32  `description:"今日发起刷新任务指标数"`
+	UpdateSuccessNum int32  `description:"今日已刷新成功指标数"`
+	UpdateFailedNum  int32  `description:"今日已刷新失败指标数"`
 }
 
 type GetEdbSourceStatResp struct {

+ 9 - 0
routers/commentsRouter.go

@@ -3490,6 +3490,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_stat:EdbTerminalController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_stat:EdbTerminalController"],
+        beego.ControllerComments{
+            Method: "TerminalCodeList",
+            Router: `/terminal/code`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/data_stat:EdbTerminalController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_stat:EdbTerminalController"],
         beego.ControllerComments{
             Method: "List",

+ 8 - 2
services/data_stat/edb_terminal.go

@@ -4,6 +4,7 @@ import (
 	"errors"
 	"eta/eta_api/models/data_manage"
 	"eta/eta_api/utils"
+	"fmt"
 	"time"
 )
 
@@ -40,8 +41,7 @@ func SaveEdbTerminal(req *data_manage.AddEdbTerminalListReq) (errMsg string, err
 		}
 		return
 	}
-	// todo 自动生成终端编码
-	terminalCode := ""
+	terminalCode := createTerminalCode(req.Source, req.Name)
 	//item.TerminalCode = req.TerminalCode
 	// 新增
 	newTerminal := &data_manage.EdbTerminal{
@@ -88,3 +88,9 @@ func SetEdbTerminalStatus(id int, status int) (errMsg string, err error) {
 	}
 	return
 }
+
+func createTerminalCode(source int, sourceName string) (terminalCode string) {
+	randInt := utils.GetRandNumber(1000)
+	terminalCode = utils.MD5(fmt.Sprintf("%d_%s_%s_%d", source, sourceName, time.Now(), randInt))
+	return
+}