zwxi 1 year ago
parent
commit
c711a71999
2 changed files with 96 additions and 12 deletions
  1. 33 12
      controllers/data_manage/edb_info.go
  2. 63 0
      models/data_manage/edb_data_ths_ds.go

+ 33 - 12
controllers/data_manage/edb_info.go

@@ -1934,20 +1934,41 @@ func (this *EdbInfoController) EdbInfoList() {
 	dataPars = append(dataPars, edbInfoItem.EdbInfoId)
 
 	if edbInfoItem.SubSource == utils.DATA_SUB_SOURCE_DATE {
-		dataCount, err := data_manage.GetEdbWsdDataCountByCondition(dataCondition, dataPars, edbInfoItem.Source)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			br.Msg = "获取指标信息失败"
-			br.ErrMsg = "获取指标数据总数失败,Err:" + err.Error()
-			return
-		}
-		page = paging.GetPaging(currentIndex, pageSize, dataCount)
-		dataList, err := data_manage.GetEdbWsdDataListByCondition(dataCondition, dataPars, edbInfoItem.Source, pageSize, startSize)
-		if err != nil {
-			br.Msg = "获取指标信息失败"
-			br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
+		if edbInfoItem.Source == utils.DATA_SOURCE_WIND {
+			dataCount, err := data_manage.GetEdbWsdDataCountByCondition(dataCondition, dataPars, edbInfoItem.Source)
+			if err != nil && err.Error() != utils.ErrNoRow() {
+				br.Msg = "获取指标信息失败"
+				br.ErrMsg = "获取指标数据总数失败,Err:" + err.Error()
+				return
+			}
+			page = paging.GetPaging(currentIndex, pageSize, dataCount)
+			dataList, err := data_manage.GetEdbWsdDataListByCondition(dataCondition, dataPars, edbInfoItem.Source, pageSize, startSize)
+			if err != nil {
+				br.Msg = "获取指标信息失败"
+				br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
+				return
+			}
+			edbInfoItem.DataList = dataList
+		} else if edbInfoItem.Source == utils.DATA_SOURCE_THS {
+			dataCount, err := data_manage.GetTHsDsDataCountByCondition(dataCondition, dataPars, edbInfoItem.Source)
+			if err != nil && err.Error() != utils.ErrNoRow() {
+				br.Msg = "获取指标信息失败"
+				br.ErrMsg = "获取指标数据总数失败,Err:" + err.Error()
+				return
+			}
+			page = paging.GetPaging(currentIndex, pageSize, dataCount)
+			dataList, err := data_manage.GetThsDsDataListByCondition(dataCondition, dataPars, edbInfoItem.Source, pageSize, startSize)
+			if err != nil {
+				br.Msg = "获取指标信息失败"
+				br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
+				return
+			}
+			edbInfoItem.DataList = dataList
+		} else {
+			br.Msg = "指标数据源id错误"
+			br.ErrMsg = "指标数据源id错误"
 			return
 		}
-		edbInfoItem.DataList = dataList
 	} else {
 		dataCount, err := data_manage.GetEdbDataCountByCondition(dataCondition, dataPars, edbInfoItem.Source, edbInfoItem.SubSource)
 		if err != nil && err.Error() != utils.ErrNoRow() {

+ 63 - 0
models/data_manage/edb_data_ths_ds.go

@@ -0,0 +1,63 @@
+package data_manage
+
+import (
+	"fmt"
+	"github.com/beego/beego/v2/client/orm"
+)
+
+func ModifyEdbInfoThsDsDataStatus(edbInfoId int64, edbCode string) (err error) {
+	o := orm.NewOrmUsingDB("data")
+	tableName := `edb_data_ths_ds`
+	sql := ` UPDATE %s SET edb_info_id=?,modify_time=NOW() WHERE edb_code=? `
+	sql = fmt.Sprintf(sql, tableName)
+	_, err = o.Raw(sql, edbInfoId, edbCode).Exec()
+	return
+}
+
+// GetEdbDataList 获取指标的数据(日期正序返回)
+func GetEdbDataThsDsList(endInfoId int, startDate, endDate string) (list []*EdbDataList, err error) {
+	tableName := `edb_data_ths_ds`
+	var pars []interface{}
+	sql := `SELECT edb_data_id,edb_info_id,data_time,value,data_timestamp FROM %s WHERE edb_info_id=? `
+	if startDate != "" {
+		sql += ` AND data_time>=? `
+		pars = append(pars, startDate)
+	}
+	if endDate != "" {
+		sql += ` AND data_time<=? `
+		pars = append(pars, endDate)
+	}
+
+	sql += ` ORDER BY data_time ASC `
+	sql = fmt.Sprintf(sql, tableName)
+	o := orm.NewOrmUsingDB("data")
+	_, err = o.Raw(sql, endInfoId, pars).QueryRows(&list)
+	return
+}
+
+func GetTHsDsDataCountByCondition(condition string, pars []interface{}, source int) (count int, err error) {
+	o := orm.NewOrmUsingDB("data")
+	tableName := `edb_data_ths_ds`
+	sql := ` SELECT COUNT(1) AS count FROM %s WHERE 1=1 `
+	sql = fmt.Sprintf(sql, tableName)
+	if condition != "" {
+		sql += condition
+	}
+	err = o.Raw(sql, pars).QueryRow(&count)
+	return
+}
+
+func GetThsDsDataListByCondition(condition string, pars []interface{}, source, pageSize, startSize int) (item []*EdbData, err error) {
+	o := orm.NewOrmUsingDB("data")
+	tableName := `edb_data_ths_ds`
+	sql := ` SELECT * FROM %s WHERE 1=1 `
+	sql = fmt.Sprintf(sql, tableName)
+
+	if condition != "" {
+		sql += condition
+	}
+	sql += ` ORDER BY data_time DESC `
+	sql += ` LIMIT ?,? `
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&item)
+	return
+}