123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package data_manage
- import (
- "eta/eta_api/global"
- "eta/eta_api/utils"
- "fmt"
- "gorm.io/gorm"
- )
- type HisugarData struct {
- InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
- DataTime string `orm:"column(DATA_DATE)" description:"值"`
- }
- func GetEdbDataHisugarMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
- //o := orm.NewOrmUsingDB("data")
- sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_hisugar WHERE edb_code=? `
- //err = o.Raw(sql, edbCode).QueryRow(&minDate, &maxDate)
- var maxAndMinDate MaxAndMinDate
- err = global.DbMap[utils.DbNameIndex].Raw(sql, edbCode).First(&maxAndMinDate).Error
- if err != nil {
- return
- }
- minDate = maxAndMinDate.MinDate.Format(utils.FormatDate)
- maxDate = maxAndMinDate.MaxDate.Format(utils.FormatDate)
- return
- }
- type BaseFromHisugarIndexItem struct {
- //BaseFromSciIndexId int `orm:"column(base_from_hisugar_index_id);pk"` // 主键,自动递增
- BaseFromSciIndexId int `gorm:"column:base_from_hisugar_index_id;primaryKey"` // 主键,自动递增
- IndexCode string // 指标编码
- IndexName string // 指标名称
- ClassifyId int // 分类Id
- Unit string // 单位
- Frequency string // 频度
- Describe string // 指标描述
- CreateTime string // 创建时间
- ModifyTime string // 修改时间
- }
- // AfterFind 在该模型上设置钩子函数,把日期转成正确的string,所以查询函数只能用Find函数,First或者Scan是不会触发该函数的来获取数据
- func (m *BaseFromHisugarIndexItem) AfterFind(db *gorm.DB) (err error) {
- m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime)
- m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
- return
- }
- func (m *BaseFromHisugarIndexItem) ConvDateTimeStr() {
- m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime)
- m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
- return
- }
- // GetBaseInfoFromHisugarByIndexCode 获取指标信息
- func GetBaseInfoFromHisugarByIndexCode(indexCode string) (item *BaseFromHisugarIndexItem, err error) {
- //o := orm.NewOrmUsingDB("data")
- sql := `SELECT * FROM base_from_hisugar_index WHERE index_code=? `
- sql = fmt.Sprintf(sql)
- //err = o.Raw(sql, indexCode).QueryRow(&item)
- err = global.DbMap[utils.DbNameIndex].Raw(sql, indexCode).First(&item).Error
- if err != nil {
- return
- }
- item.ConvDateTimeStr()
- return
- }
|