|
@@ -18,19 +18,32 @@ type BaseFromHisugarClassify struct {
|
|
|
}
|
|
|
|
|
|
type BaseFromHisugarIndex struct {
|
|
|
- BaseFromHisugarIndexId int // 主键ID
|
|
|
- IndexCode string // 指标编码
|
|
|
- IndexName string // 指标名称
|
|
|
- ClassifyId uint // 分类ID
|
|
|
- Unit string // 单位
|
|
|
- Frequency string // 频度
|
|
|
- Describe string // 指标描述
|
|
|
- Sort int // 排序
|
|
|
- CreateTime string // 创建时间
|
|
|
- ModifyTime string // 修改时间
|
|
|
+ BaseFromHisugarIndexId int // 主键ID
|
|
|
+ IndexCode string // 指标编码
|
|
|
+ IndexName string // 指标名称
|
|
|
+ ClassifyId uint // 分类ID
|
|
|
+ Unit string // 单位
|
|
|
+ Frequency string // 频度
|
|
|
+ Describe string // 指标描述
|
|
|
+ Sort int // 排序
|
|
|
+ CreateTime time.Time // 创建时间
|
|
|
+ ModifyTime time.Time // 修改时间
|
|
|
+ StartDate time.Time `orm:"column(start_date)"`
|
|
|
+ EndDate time.Time `orm:"column(end_date)"`
|
|
|
+ LatestValue float64 `orm:"column(latest_value)" description:"数据值"`
|
|
|
}
|
|
|
|
|
|
type BaseFromHisugarData struct {
|
|
|
+ BaseFromHisugarDataId int // 数据表ID
|
|
|
+ BaseFromHisugarIndexId int // 指标ID
|
|
|
+ IndexCode string // 指标编码
|
|
|
+ DataTime time.Time
|
|
|
+ Value string
|
|
|
+ CreateTime time.Time
|
|
|
+ ModifyTime time.Time
|
|
|
+}
|
|
|
+
|
|
|
+type BaseFromHisugarDataItem struct {
|
|
|
BaseFromHisugarDataId int // 数据表ID
|
|
|
BaseFromHisugarIndexId int // 指标ID
|
|
|
IndexCode string // 指标编码
|
|
@@ -40,12 +53,42 @@ type BaseFromHisugarData struct {
|
|
|
ModifyTime string
|
|
|
}
|
|
|
|
|
|
+func (m *BaseFromHisugarData) ToItem() (item *BaseFromHisugarDataItem) {
|
|
|
+ return &BaseFromHisugarDataItem{
|
|
|
+ BaseFromHisugarDataId: m.BaseFromHisugarDataId,
|
|
|
+ BaseFromHisugarIndexId: m.BaseFromHisugarIndexId,
|
|
|
+ IndexCode: m.IndexCode,
|
|
|
+ DataTime: m.DataTime.Format(utils.FormatDate),
|
|
|
+ Value: m.Value,
|
|
|
+ CreateTime: m.CreateTime.Format(utils.FormatDateTime),
|
|
|
+ ModifyTime: m.ModifyTime.Format(utils.FormatDateTime),
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
func GetHisugarClassifyList() (list []*BaseFromHisugarClassify, err error) {
|
|
|
o := orm.NewOrmUsingDB("data")
|
|
|
sql := "SELECT * FROM base_from_hisugar_classify ORDER BY sort ASC"
|
|
|
_, err = o.Raw(sql).QueryRows(&list)
|
|
|
return
|
|
|
}
|
|
|
+func (m *BaseFromHisugarIndex) ToIndex() (item *BaseFromHisugarIndexList) {
|
|
|
+ return &BaseFromHisugarIndexList{
|
|
|
+ BaseFromHisugarIndexId: m.BaseFromHisugarIndexId,
|
|
|
+ IndexCode: m.IndexCode,
|
|
|
+ IndexName: m.IndexName,
|
|
|
+ ClassifyId: int(m.ClassifyId),
|
|
|
+ Unit: m.Unit,
|
|
|
+ Frequency: m.Frequency,
|
|
|
+ Describe: m.Describe,
|
|
|
+ Sort: m.Sort,
|
|
|
+ CreateTime: m.CreateTime.Format(utils.FormatDateTime),
|
|
|
+ ModifyTime: m.ModifyTime.Format(utils.FormatDateTime),
|
|
|
+ //EdbExist: 0,
|
|
|
+ //DataList: nil,
|
|
|
+ //Paging: nil,
|
|
|
+ //EdbInfoId: 0,
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
type BaseFromHisugarIndexList struct {
|
|
|
BaseFromHisugarIndexId int // 主键ID
|
|
@@ -59,9 +102,9 @@ type BaseFromHisugarIndexList struct {
|
|
|
CreateTime string // 创建时间
|
|
|
ModifyTime string // 修改时间
|
|
|
EdbExist int `description:"edb是否存在"`
|
|
|
- DataList []*BaseFromHisugarData
|
|
|
+ DataList []*BaseFromHisugarDataItem
|
|
|
Paging *paging.PagingItem `description:"分页数据"`
|
|
|
- EdbInfoId int `description:"指标库主键id"`
|
|
|
+ EdbInfoId int `description:"指标库主键id"`
|
|
|
}
|
|
|
|
|
|
type BaseFromHisugarIndexListResp struct {
|
|
@@ -119,7 +162,10 @@ func GetHisugarDataListCount(condition string, pars interface{}) (count int, err
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func GetHisugarIndexData(condition string, pars interface{}, startSize, pageSize int) (items []*BaseFromHisugarData, err error) {
|
|
|
+func GetHisugarIndexData(condition string, pars interface{}, startSize, pageSize int) (items []*BaseFromHisugarDataItem, err error) {
|
|
|
+ var ormList []*BaseFromHisugarData
|
|
|
+ items = make([]*BaseFromHisugarDataItem, 0)
|
|
|
+
|
|
|
o := orm.NewOrmUsingDB("data")
|
|
|
sql := ` SELECT * FROM base_from_hisugar_data WHERE 1=1 `
|
|
|
if condition != "" {
|
|
@@ -127,7 +173,14 @@ func GetHisugarIndexData(condition string, pars interface{}, startSize, pageSize
|
|
|
}
|
|
|
|
|
|
sql += ` order by data_time DESC LIMIT ?,? `
|
|
|
- _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
|
|
|
+ _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&ormList)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, ormItem := range ormList {
|
|
|
+ items = append(items, ormItem.ToItem())
|
|
|
+ }
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -231,10 +284,20 @@ func GetHisugarDataMaxCount(classifyId int) (count int, err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func GetHisugarIndexDataByCode(indexCode string) (items []*BaseFromHisugarData, err error) {
|
|
|
+func GetHisugarIndexDataByCode(indexCode string) (items []*BaseFromHisugarDataItem, err error) {
|
|
|
+ var ormList []*BaseFromHisugarData
|
|
|
+ items = make([]*BaseFromHisugarDataItem, 0)
|
|
|
+
|
|
|
o := orm.NewOrmUsingDB("data")
|
|
|
sql := ` SELECT * FROM base_from_hisugar_data WHERE index_code=? ORDER BY data_time DESC `
|
|
|
- _, err = o.Raw(sql, indexCode).QueryRows(&items)
|
|
|
+ _, err = o.Raw(sql, indexCode).QueryRows(&ormList)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, ormItem := range ormList {
|
|
|
+ items = append(items, ormItem.ToItem())
|
|
|
+ }
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -281,10 +344,24 @@ func GetHisugarIndexViewListCount(condition string, pars []interface{}) (count i
|
|
|
}
|
|
|
|
|
|
// GetHisugarDataViewList 根据指标id获取泛糖科技指标列表
|
|
|
-func GetHisugarDataViewList(indexIds []int) (items []*BaseFromHisugarData, err error) {
|
|
|
+func GetHisugarDataViewList(indexIds []int) (items []*BaseFromHisugarDataItem, err error) {
|
|
|
+ num := len(indexIds)
|
|
|
+ if num <= 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var ormList []*BaseFromHisugarData
|
|
|
+ items = make([]*BaseFromHisugarDataItem, 0)
|
|
|
+
|
|
|
o := orm.NewOrmUsingDB("data")
|
|
|
- sql := ` SELECT * FROM base_from_hisugar_data WHERE base_from_hisugar_index_id IN (` + utils.GetOrmInReplace(len(indexIds)) + `) ORDER BY data_time desc `
|
|
|
- _, err = o.Raw(sql, indexIds).QueryRows(&items)
|
|
|
+ sql := ` SELECT * FROM base_from_hisugar_data WHERE base_from_hisugar_index_id IN (` + utils.GetOrmInReplace(num) + `) ORDER BY data_time desc `
|
|
|
+ _, err = o.Raw(sql, indexIds).QueryRows(&ormList)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, ormItem := range ormList {
|
|
|
+ items = append(items, ormItem.ToItem())
|
|
|
+ }
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -321,13 +398,23 @@ func GetHisugarClassifyAll() (items []*BaseFromHisugarClassifyItem, err error) {
|
|
|
}
|
|
|
|
|
|
func GetHisugarIndex(condition string, pars interface{}) (items []*BaseFromHisugarIndexList, err error) {
|
|
|
+ var ormList []*BaseFromHisugarIndex
|
|
|
+ items = make([]*BaseFromHisugarIndexList, 0)
|
|
|
+
|
|
|
o := orm.NewOrmUsingDB("data")
|
|
|
sql := ` SELECT * FROM base_from_hisugar_index WHERE 1=1 `
|
|
|
if condition != "" {
|
|
|
sql += condition
|
|
|
}
|
|
|
sql += ` ORDER BY sort ASC, base_from_hisugar_index_id asc`
|
|
|
- _, err = o.Raw(sql, pars).QueryRows(&items)
|
|
|
+ _, err = o.Raw(sql, pars).QueryRows(&ormList)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, ormItem := range ormList {
|
|
|
+ items = append(items, ormItem.ToIndex())
|
|
|
+ }
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -346,14 +433,23 @@ func GetHisugarIndexDataCountGroup(indexCodes []string) (items []*HisugarIndexDa
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func GetHisugarIndexDataV2(indexCode string, startSize, pageSize int) (items []*BaseFromHisugarData, err error) {
|
|
|
+func GetHisugarIndexDataV2(indexCode string, startSize, pageSize int) (items []*BaseFromHisugarDataItem, err error) {
|
|
|
+ var ormList []*BaseFromHisugarData
|
|
|
+ items = make([]*BaseFromHisugarDataItem, 0)
|
|
|
+
|
|
|
o := orm.NewOrmUsingDB("data")
|
|
|
sql := ` SELECT * FROM base_from_hisugar_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
|
|
|
- _, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
|
|
|
+ _, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&ormList)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, ormItem := range ormList {
|
|
|
+ items = append(items, ormItem.ToItem())
|
|
|
+ }
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// GetHisugarIndexInfoCount 查询指标信息总数
|
|
|
func GetHisugarIndexInfoCount(condition string, pars []interface{}) (count int, err error) {
|
|
|
o := orm.NewOrmUsingDB("data")
|
|
@@ -365,10 +461,9 @@ func GetHisugarIndexInfoCount(condition string, pars []interface{}) (count int,
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-
|
|
|
type BaseFromHisugarIndexPage struct {
|
|
|
List []*BaseFromHisugarIndex `description:"指标列表"`
|
|
|
- Paging *paging.PagingItem `description:"分页数据"`
|
|
|
+ Paging *paging.PagingItem `description:"分页数据"`
|
|
|
}
|
|
|
|
|
|
// GetHisugarIndexInfoPage 分页查询指标信息
|
|
@@ -388,6 +483,6 @@ func GetHisugarIndexInfoPage(condition string, pars []interface{}, size int, pag
|
|
|
func GetHisugarClassifyById(classifyId int) (ClassifyIds string, err error) {
|
|
|
o := orm.NewOrmUsingDB("data")
|
|
|
sql := ` SELECT GROUP_CONCAT(base_from_hisugar_classify_id) AS classify_ids FROM base_from_hisugar_classify WHERE base_from_hisugar_classify_id=? OR parent_id=?`
|
|
|
- err = o.Raw(sql,classifyId,classifyId).QueryRow(&ClassifyIds)
|
|
|
+ err = o.Raw(sql, classifyId, classifyId).QueryRow(&ClassifyIds)
|
|
|
return
|
|
|
-}
|
|
|
+}
|