|
@@ -485,6 +485,117 @@ func ModifyEdbEnInfo(item *EditEdbEnInfoReq) (err error) {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+// [2025-zsh-时间类型修复-chenhan]
|
|
|
|
+type EdbInfoOrm struct {
|
|
|
|
+ EdbInfoId int `orm:"column(edb_info_id);pk"`
|
|
|
|
+ EdbInfoType int `description:"指标类型,0:普通指标,1:预测指标"`
|
|
|
|
+ SourceName string `description:"来源名称"`
|
|
|
|
+ Source int `description:"来源id"`
|
|
|
|
+ EdbCode string `description:"指标编码"`
|
|
|
|
+ EdbNameEn string `description:"英文指标名称"`
|
|
|
|
+ EdbName string `description:"指标名称"`
|
|
|
|
+ Frequency string `description:"频率"`
|
|
|
|
+ FrequencyEn string `description:"英文频率"`
|
|
|
|
+ Unit string `description:"单位"`
|
|
|
|
+ UnitEn string `description:"英文单位"`
|
|
|
|
+ StartDate time.Time `description:"起始日期"`
|
|
|
|
+ EndDate time.Time `description:"终止日期"`
|
|
|
|
+ LatestDate time.Time `description:"数据最新日期(实际日期)"`
|
|
|
|
+ LatestValue float64 `description:"数据最新值(实际值)"`
|
|
|
|
+ EndValue float64 `description:"数据的最新值(预测日期的最新值)"`
|
|
|
|
+ ClassifyId int `description:"分类id"`
|
|
|
|
+ UniqueCode string `description:"指标唯一编码"`
|
|
|
|
+ SysUserId int `description:"创建人id"`
|
|
|
|
+ SysUserRealName string `description:"创建人姓名"`
|
|
|
|
+ ModifyTime time.Time `description:"最新修改时间"`
|
|
|
|
+ CreateTime time.Time `description:"创建时间"`
|
|
|
|
+ EdbNameAlias string `json:"-" description:"指标名称,别名"`
|
|
|
|
+ EdbType int `description:"指标类型:1:基础指标,2:计算指标"`
|
|
|
|
+ ChartImage string `description:"图表图片"`
|
|
|
|
+ RuleType int `description:"预测规则,1:最新,2:固定值"`
|
|
|
|
+ FixedValue float64 `description:"固定值"`
|
|
|
|
+ DataList []*EdbData `description:"实际指标数据"`
|
|
|
|
+ PredictDataList []*EdbData `description:"预测指标数据"`
|
|
|
|
+ Button EdbClassifyItemsButton `description:"操作权限"`
|
|
|
|
+ IsEnEdb bool `description:"是否展示英文标识"`
|
|
|
|
+ DataInsertConfig EdbDataInsertConfigItem `description:"指标数据插入配置"`
|
|
|
|
+ DataDateType string `description:"数据日期类型,枚举值:交易日、自然日"`
|
|
|
|
+ EmptyType int `description:"空值处理类型(0查找前后35天,1不计算,2前值填充,3后值填充,4等于0)"`
|
|
|
|
+ MaxEmptyType int `description:"MAX、MIN公式空值处理类型(1、等于0;2、跳过空值)"`
|
|
|
|
+ SubSource int `description:"子数据来源:0:经济数据库,1:日期序列"`
|
|
|
|
+ SubSourceName string `description:"子数据来源名称"`
|
|
|
|
+ IndicatorCode string `description:"指标代码"`
|
|
|
|
+ StockCode string `description:"证券代码"`
|
|
|
|
+ NoUpdate int8 `description:"是否停止更新,0:继续更新;1:停止更新"`
|
|
|
|
+ IsJoinPermission int `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
|
|
|
|
+ HaveOperaAuth bool `description:"是否有数据权限,默认:false"`
|
|
|
|
+ IsStaticData int `description:"是否是静态指标,0否,1是"`
|
|
|
|
+ IsSupplierStop int `description:"是否供应商停更:1:停更,0:未停更"`
|
|
|
|
+ MoveType int `description:"移动方式:1:领先(默认),2:滞后"`
|
|
|
|
+ MoveFrequency string `description:"移动频度"`
|
|
|
|
+ MinValue float64 `description:"最小值"`
|
|
|
|
+ MaxValue float64 `description:"最大值"`
|
|
|
|
+ SearchText string `description:"搜索结果(含高亮)"`
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (edbInfo *EdbInfoOrm) ToEdbInfo() (edbinfoList *EdbInfoList) {
|
|
|
|
+ edbinfoList = &EdbInfoList{
|
|
|
|
+ EdbInfoId: edbInfo.EdbInfoId,
|
|
|
|
+ EdbInfoType: edbInfo.EdbInfoType,
|
|
|
|
+ SourceName: edbInfo.SourceName,
|
|
|
|
+ Source: edbInfo.Source,
|
|
|
|
+ EdbCode: edbInfo.EdbCode,
|
|
|
|
+ EdbNameEn: edbInfo.EdbNameEn,
|
|
|
|
+ EdbName: edbInfo.EdbName,
|
|
|
|
+ Frequency: edbInfo.Frequency,
|
|
|
|
+ FrequencyEn: edbInfo.FrequencyEn,
|
|
|
|
+ Unit: edbInfo.Unit,
|
|
|
|
+ UnitEn: edbInfo.UnitEn,
|
|
|
|
+ StartDate: edbInfo.StartDate.Format(utils.FormatDate),
|
|
|
|
+ EndDate: edbInfo.EndDate.Format(utils.FormatDate),
|
|
|
|
+ LatestDate: edbInfo.LatestDate.Format(utils.FormatDate),
|
|
|
|
+ LatestValue: edbInfo.LatestValue,
|
|
|
|
+ EndValue: edbInfo.EndValue,
|
|
|
|
+ ClassifyId: edbInfo.ClassifyId,
|
|
|
|
+ UniqueCode: edbInfo.UniqueCode,
|
|
|
|
+ SysUserId: edbInfo.SysUserId,
|
|
|
|
+ SysUserRealName: edbInfo.SysUserRealName,
|
|
|
|
+ //ModifyTime: ok:=edbInfo.ModifyTime.IsZero(); edbInfo.ModifyTime.Format(utils.FormatDateTime),
|
|
|
|
+ CreateTime: edbInfo.CreateTime.Format(utils.FormatDateTime),
|
|
|
|
+ EdbNameAlias: edbInfo.EdbNameAlias,
|
|
|
|
+ EdbType: edbInfo.EdbType,
|
|
|
|
+ ChartImage: edbInfo.ChartImage,
|
|
|
|
+ RuleType: edbInfo.RuleType,
|
|
|
|
+ FixedValue: edbInfo.FixedValue,
|
|
|
|
+ DataList: edbInfo.DataList,
|
|
|
|
+ PredictDataList: edbInfo.PredictDataList,
|
|
|
|
+ Button: edbInfo.Button,
|
|
|
|
+ IsEnEdb: edbInfo.IsEnEdb,
|
|
|
|
+ DataInsertConfig: edbInfo.DataInsertConfig,
|
|
|
|
+ DataDateType: edbInfo.DataDateType,
|
|
|
|
+ EmptyType: edbInfo.EmptyType,
|
|
|
|
+ MaxEmptyType: edbInfo.MaxEmptyType,
|
|
|
|
+ SubSource: edbInfo.SubSource,
|
|
|
|
+ SubSourceName: edbInfo.SubSourceName,
|
|
|
|
+ IndicatorCode: edbInfo.IndicatorCode,
|
|
|
|
+ StockCode: edbInfo.StockCode,
|
|
|
|
+ NoUpdate: edbInfo.NoUpdate,
|
|
|
|
+ IsJoinPermission: edbInfo.IsJoinPermission,
|
|
|
|
+ HaveOperaAuth: edbInfo.HaveOperaAuth,
|
|
|
|
+ IsStaticData: edbInfo.IsStaticData,
|
|
|
|
+ IsSupplierStop: edbInfo.IsSupplierStop,
|
|
|
|
+ MoveType: edbInfo.MoveType,
|
|
|
|
+ MoveFrequency: edbInfo.MoveFrequency,
|
|
|
|
+ MinValue: edbInfo.MinValue,
|
|
|
|
+ MaxValue: edbInfo.MaxValue,
|
|
|
|
+ SearchText: edbInfo.SearchText,
|
|
|
|
+ }
|
|
|
|
+ if !edbInfo.ModifyTime.IsZero() {
|
|
|
|
+ edbinfoList.ModifyTime = edbInfo.ModifyTime.Format(utils.FormatDateTime)
|
|
|
|
+ }
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
type EdbInfoList struct {
|
|
type EdbInfoList struct {
|
|
EdbInfoId int `orm:"column(edb_info_id);pk"`
|
|
EdbInfoId int `orm:"column(edb_info_id);pk"`
|
|
EdbInfoType int `description:"指标类型,0:普通指标,1:预测指标"`
|
|
EdbInfoType int `description:"指标类型,0:普通指标,1:预测指标"`
|
|
@@ -567,7 +678,13 @@ func GetEdbInfoByCondition(condition string, pars []interface{}) (item *EdbInfoL
|
|
if condition != "" {
|
|
if condition != "" {
|
|
sql += condition
|
|
sql += condition
|
|
}
|
|
}
|
|
- err = o.Raw(sql, pars).QueryRow(&item)
|
|
|
|
|
|
+ // [2025-zsh-时间类型修复-chenhan]
|
|
|
|
+ var ormItem *EdbInfoOrm
|
|
|
|
+ err = o.Raw(sql, pars).QueryRow(&ormItem)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ item = ormItem.ToEdbInfo()
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
@@ -597,7 +714,23 @@ func GetEdbDataListByCondition(condition string, pars []interface{}, source, sub
|
|
}
|
|
}
|
|
sql += ` ORDER BY data_time DESC `
|
|
sql += ` ORDER BY data_time DESC `
|
|
sql += ` LIMIT ?,? `
|
|
sql += ` LIMIT ?,? `
|
|
- _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&item)
|
|
|
|
|
|
+ var ormList []*EdbDataORM
|
|
|
|
+ _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&ormList)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ item = toEdbDataList(ormList)
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// [2025-zsh-时间类型修复-chenhan]
|
|
|
|
+func toEdbDataList(ormList []*EdbDataORM) (dataList []*EdbData) {
|
|
|
|
+ if ormList == nil || len(ormList) == 0 {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ for _, item := range ormList {
|
|
|
|
+ dataList = append(dataList, item.ToEdbData())
|
|
|
|
+ }
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|