12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package models
- import (
- "eta/eta_index_lib/global"
- "eta/eta_index_lib/utils"
- "gorm.io/gorm"
- "time"
- )
- type CalculateResidualAnalysisConfig struct {
- CalculateResidualAnalysisConfigId int `gorm:"column:calculate_residual_analysis_config_id;primaryKey" description:"自增id"`
- Config string `gorm:"column:config" description:"计算参数配置"`
- SysUserId int `gorm:"column:sys_user_id" description:"操作人id"`
- CreateTime time.Time `gorm:"column:create_time" description:"创建时间"`
- ModifyTime time.Time `gorm:"column:modify_time" description:"修改时间"`
- }
- type ResidualAnalysisConfig struct {
- ResidualType int `description:"残差类型: 1-映射残差 2-拟合残差"`
- DateType int `json:"dateType" description:"时间类型 -1-自定义时间 0-至今 n-枚举时间(近n年)"`
- StartDate string `json:"startDate"`
- EndDate string `json:"endDate"`
- IsOrder bool `description:"true:正序,false:逆序"`
- IndexType int `json:"indexType" description:"1-标准指标 2-领先指标"`
- LeadValue int `json:"leadValue" description:"领先值"`
- LeadFrequency string `json:"leadFrequency" description:"领先频度"`
- LeftIndexMin float64 `description:"指标A左侧下限"`
- LeftIndexMax float64 `description:"指标A左侧上限"`
- RightIndexMin float64 `description:"指标B右侧下限"`
- RightIndexMax float64 `description:"指标B右侧上限"`
- ResidualIndexMin float64 `description:"残差指标下限"`
- ResidualIndexMax float64 `description:"残差指标上限"`
- ContrastIndexMin float64 `description:"对比指标下限"`
- ContrastIndexMax float64 `description:"对比指标上限"`
- }
- // AfterFind 在该模型上设置钩子函数,把日期转成正确的string,所以查询函数只能用Find函数,First或者Scan是不会触发该函数的来获取数据
- func (m *ResidualAnalysisConfig) AfterFind(db *gorm.DB) (err error) {
- m.StartDate = utils.GormDateStrToDateStr(m.StartDate)
- m.EndDate = utils.GormDateStrToDateStr(m.EndDate)
- return
- }
- // GetResidualAnalysisConfigById 根据配置id查询配置信息
- func GetResidualAnalysisConfigById(edbInfoId int) (residualAnalysisConfig CalculateResidualAnalysisConfig, err error) {
- sql := `SELECT t2.* FROM calculate_residual_analysis_config_mapping t1
- join calculate_residual_analysis_config t2 on t1.calculate_residual_analysis_config_id = t2.calculate_residual_analysis_config_id
- WHERE t1.edb_info_id = ? and index_type!=3 and index_type !=4`
- err = global.DEFAULT_DB.Raw(sql, edbInfoId).First(&residualAnalysisConfig).Error
- return
- }
|