|
@@ -22,6 +22,23 @@ type BaseFromClarksonsIndex struct {
|
|
|
ModifyTime time.Time
|
|
|
}
|
|
|
|
|
|
+type BaseFromClarksonsIndexOrm struct {
|
|
|
+ BaseFromClarksonsIndexId int `orm:"pk"`
|
|
|
+ EdbInfoId int `description:"指标库id"`
|
|
|
+ ClassifyId int `description:"指标分类id"`
|
|
|
+ IndexCode string `description:"指标编码"`
|
|
|
+ IndexName string `description:"指标名称"`
|
|
|
+ UniqueCode string `description:"唯一code"`
|
|
|
+ Frequency string `description:"频度"`
|
|
|
+ Unit string `description:"单位"`
|
|
|
+ StartDate time.Time `description:"开始日期"`
|
|
|
+ EndDate time.Time `description:"结束日期"`
|
|
|
+ Sort int `description:"排序"`
|
|
|
+ LatestDate time.Time `description:"最后更新时间"`
|
|
|
+ EdbExist int `description:"edb是否存在"`
|
|
|
+ ModifyTime time.Time
|
|
|
+}
|
|
|
+
|
|
|
type BaseFromClarksonsIndexView struct {
|
|
|
BaseFromClarksonsIndexId int `orm:"pk"`
|
|
|
EdbInfoId int `description:"指标库id"`
|
|
@@ -152,13 +169,35 @@ func GetClarksonsIndexCountByClassifyIds(classifyIds []int) (count int, err erro
|
|
|
|
|
|
// GetClarksonsIndexByClassifyId 根据分类id获取克拉克森指标列表
|
|
|
func GetClarksonsIndexByClassifyId(classifyIds []int, startSize, pageSize int) (items []*BaseFromClarksonsIndexView, err error) {
|
|
|
+ itemsOrm := make([]*BaseFromClarksonsIndexOrm, 0)
|
|
|
o := orm.NewOrmUsingDB("data")
|
|
|
sql := ` SELECT b.*, e.edb_info_id,
|
|
|
CASE WHEN e.edb_info_id IS NULL THEN 0 ELSE 1 END AS edb_exist
|
|
|
FROM base_from_clarksons_index AS b
|
|
|
LEFT JOIN edb_info AS e ON b.index_code=e.edb_code AND e.source=101
|
|
|
WHERE b.classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) ORDER BY b.sort ASC LIMIT ?,? `
|
|
|
- _, err = o.Raw(sql, classifyIds, startSize, pageSize).QueryRows(&items)
|
|
|
+ _, err = o.Raw(sql, classifyIds, startSize, pageSize).QueryRows(&itemsOrm)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range itemsOrm {
|
|
|
+ viewItem := new(BaseFromClarksonsIndexView)
|
|
|
+ viewItem.BaseFromClarksonsIndexId = v.BaseFromClarksonsIndexId
|
|
|
+ viewItem.EdbInfoId = v.EdbInfoId
|
|
|
+ viewItem.ClassifyId = v.ClassifyId
|
|
|
+ viewItem.IndexCode = v.IndexCode
|
|
|
+ viewItem.IndexName = v.IndexName
|
|
|
+ viewItem.UniqueCode = v.UniqueCode
|
|
|
+ viewItem.Frequency = v.Frequency
|
|
|
+ viewItem.Unit = v.Unit
|
|
|
+ viewItem.StartDate = v.StartDate.Format(utils.FormatDate)
|
|
|
+ viewItem.EndDate = v.EndDate.Format(utils.FormatDate)
|
|
|
+ viewItem.Sort = v.Sort
|
|
|
+ viewItem.LatestDate = v.LatestDate.Format(utils.FormatDateTime)
|
|
|
+ viewItem.EdbExist = v.EdbExist
|
|
|
+ viewItem.ModifyTime = v.ModifyTime.Format(utils.FormatDateTime)
|
|
|
+ items = append(items, viewItem)
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -182,13 +221,35 @@ func GetClarksonsIndexCount() (count int, err error) {
|
|
|
}
|
|
|
|
|
|
func GetClarksonsIndexByPage(startSize, pageSize int) (items []*BaseFromClarksonsIndexView, err error) {
|
|
|
+ itemsOrm := make([]*BaseFromClarksonsIndexOrm, 0)
|
|
|
o := orm.NewOrmUsingDB("data")
|
|
|
sql := ` SELECT b.*, e.edb_info_id,
|
|
|
CASE WHEN e.edb_info_id IS NULL THEN 0 ELSE 1 END AS edb_exist
|
|
|
FROM base_from_clarksons_index AS b
|
|
|
LEFT JOIN edb_info AS e ON b.index_code=e.edb_code AND e.source=101
|
|
|
ORDER BY b.modify_time DESC LIMIT ?,?`
|
|
|
- _, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
|
|
|
+ _, err = o.Raw(sql, startSize, pageSize).QueryRows(&itemsOrm)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range itemsOrm {
|
|
|
+ viewItem := new(BaseFromClarksonsIndexView)
|
|
|
+ viewItem.BaseFromClarksonsIndexId = v.BaseFromClarksonsIndexId
|
|
|
+ viewItem.EdbInfoId = v.EdbInfoId
|
|
|
+ viewItem.ClassifyId = v.ClassifyId
|
|
|
+ viewItem.IndexCode = v.IndexCode
|
|
|
+ viewItem.IndexName = v.IndexName
|
|
|
+ viewItem.UniqueCode = v.UniqueCode
|
|
|
+ viewItem.Frequency = v.Frequency
|
|
|
+ viewItem.Unit = v.Unit
|
|
|
+ viewItem.StartDate = v.StartDate.Format(utils.FormatDate)
|
|
|
+ viewItem.EndDate = v.EndDate.Format(utils.FormatDate)
|
|
|
+ viewItem.Sort = v.Sort
|
|
|
+ viewItem.LatestDate = v.LatestDate.Format(utils.FormatDateTime)
|
|
|
+ viewItem.EdbExist = v.EdbExist
|
|
|
+ viewItem.ModifyTime = v.ModifyTime.Format(utils.FormatDateTime)
|
|
|
+ items = append(items, viewItem)
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
|