xyxie 1 rok pred
rodič
commit
5574a0c97f
3 zmenil súbory, kde vykonal 13 pridanie a 5 odobranie
  1. 4 0
      models/edb_info.go
  2. 7 2
      models/edb_terminal.go
  3. 2 3
      services/edb_terminal.go

+ 4 - 0
models/edb_info.go

@@ -50,6 +50,7 @@ type EdbInfo struct {
 	TerminalCode     string  `description:"终端编码,用于配置在机器上"`
 	DataUpdateTime   string  `description:"最近一次数据发生变化的时间"`
 	ErDataUpdateDate string  `description:"本次更新,数据发生变化的最早日期"`
+	SourceIndexName  string  `description:"数据源中的指标名称"`
 }
 
 func (e *EdbInfo) Add() (err error) {
@@ -1139,6 +1140,7 @@ func EdbInfoAdd(req *AddEdbInfoParams, serverUrl string, sysUserId int, sysUserR
 		edbType = 2 //计算指标
 	}
 
+	var sourceIndexName string
 	// 钢联化工需要校验下信息是否完整
 	if source == utils.DATA_SOURCE_MYSTEEL_CHEMICAL {
 		indexObj := new(BaseFromMysteelChemicalIndex)
@@ -1151,6 +1153,7 @@ func EdbInfoAdd(req *AddEdbInfoParams, serverUrl string, sysUserId int, sysUserR
 			err = errors.New("指标信息不全")
 			return
 		}
+		sourceIndexName = tmpItem.IndexName
 	}
 
 	edbInfo.EdbCode = req.EdbCode
@@ -1173,6 +1176,7 @@ func EdbInfoAdd(req *AddEdbInfoParams, serverUrl string, sysUserId int, sysUserR
 		edbInfo.MinValue = itemVal.MinValue
 	}
 	edbInfo.EdbType = edbType
+	edbInfo.SourceIndexName = sourceIndexName
 	edbInfoId, err := AddEdbInfo(edbInfo)
 	if err != nil {
 		err = errors.New("保存失败,Err:" + err.Error())

+ 7 - 2
models/edb_terminal.go

@@ -35,6 +35,11 @@ func GetEdbTerminalFirstBySource(source int) (item *EdbTerminal, err error) {
 	return
 }
 
+type TerminalCodeCountGroup struct {
+	TerminalCode string
+	Total        int
+}
+
 // GetEdbTerminalByCode 根据终端编码获取终端信息
 func GetEdbTerminalByCode(terminalCode string) (item *EdbTerminal, err error) {
 	o := orm.NewOrm()
@@ -44,9 +49,9 @@ func GetEdbTerminalByCode(terminalCode string) (item *EdbTerminal, err error) {
 }
 
 // GetEdbCountGroupByTerminal 获取终端code分组总数
-func GetEdbCountGroupByTerminal(source int) (list []ServerUrlCountGroup, err error) {
+func GetEdbCountGroupByTerminal(source int) (list []TerminalCodeCountGroup, err error) {
 	o := orm.NewOrm()
-	sql := `select server_url,count(1) total from edb_info where source = ? AND no_update=0 AND terminal_code != "" group by terminal_code; `
+	sql := `select terminal_code,count(1) total from edb_info where source = ? AND no_update=0 AND terminal_code != "" group by terminal_code; `
 	_, err = o.Raw(sql, source).QueryRows(&list)
 	return
 }

+ 2 - 3
services/edb_terminal.go

@@ -9,7 +9,6 @@ import (
 // GetTerminal 获取终端信息
 func GetTerminal(source int, oldTerminalCode string) (edbTerminal *models.EdbTerminal, err error) {
 	if source == utils.DATA_SOURCE_WIND {
-		// todo 确认wind_data_url字段存的是TerminalCode终端编码
 		tmpConfig := new(models.EdbConfig)
 		tmpConfig, err = models.GetConfigDetailByCode("wind_terminal_code")
 		if err != nil && err.Error() != utils.ErrNoRow() {
@@ -30,7 +29,7 @@ func GetTerminal(source int, oldTerminalCode string) (edbTerminal *models.EdbTer
 		return
 	}
 
-	// 配置中没有的话,那么就从分组获取, todo 改成从edb_info指标库里根据终端码进行分组的指标数据统计
+	// 配置中没有的话,那么就从分组获取,
 	list, err := models.GetEdbCountGroupByTerminal(source)
 	if err != nil {
 		return
@@ -40,7 +39,7 @@ func GetTerminal(source int, oldTerminalCode string) (edbTerminal *models.EdbTer
 	//获取对应的配置url
 	terminalNumMap := make(map[string]int)
 	for _, v := range list {
-		terminalNumMap[v.ServerUrl] = v.Total
+		terminalNumMap[v.TerminalCode] = v.Total
 	}
 
 	terminalList, err := models.GetEdbTerminalListBySource(source)