package data_manage import ( "eta/eta_api/utils" "github.com/beego/beego/v2/client/orm" "time" ) // PredictEdbConfCalculateMapping 预测基础指标规则 与 计算预测指标关联关系表 type PredictEdbConfCalculateMapping struct { PredictEdbConfCalculateMappingId int `orm:"column(predict_edb_conf_calculate_mapping_id);pk"` EdbInfoId int `description:"指标id"` ConfigId int `description:"配置id"` FromEdbInfoId int `description:"基础指标id"` FromEdbCode string `description:"基础指标编码"` FromEdbName string `description:"基础指标名称"` FromSource int `description:"基础指标来源"` FromSourceName string `description:"基础指标来源名称"` FromTag string `description:"来源指标标签"` Sort int `description:"计算指标名称排序"` CreateTime time.Time `description:"创建时间"` ModifyTime time.Time `description:"修改时间"` } // GetPredictEdbConfCalculateMappingListById 根据预测指标id获取预测指标配置的关联指标信息列表 func GetPredictEdbConfCalculateMappingListById(edbInfoId int) (items []*PredictEdbConf, err error) { o := orm.NewOrmUsingDB("data") sql := ` SELECT * FROM predict_edb_conf_calculate_mapping WHERE edb_info_id=? ORDER BY predict_edb_conf_calculate_mapping_id ASC` _, err = o.Raw(sql, edbInfoId).QueryRows(&items) return } // GetPredictEdbConfCalculateMappingListByConfigId 根据预测指标配置id获取预测指标配置的关联指标信息列表 func GetPredictEdbConfCalculateMappingListByConfigId(edbInfoId, configId int) (items []*PredictEdbConf, err error) { o := orm.NewOrmUsingDB("data") sql := ` SELECT * FROM predict_edb_conf_calculate_mapping WHERE edb_info_id=? AND config_id=? ORDER BY predict_edb_conf_calculate_mapping_id ASC` _, err = o.Raw(sql, edbInfoId, configId).QueryRows(&items) return } type PredictEdbConfCalculateMappingDetail struct { PredictEdbConfCalculateMappingId int `orm:"column(predict_edb_conf_calculate_mapping_id);pk"` EdbInfoId int `description:"指标id"` ConfigId int `description:"配置id"` FromEdbInfoId int `description:"基础指标id"` FromEdbCode string `description:"基础指标编码"` FromEdbName string `description:"基础指标名称"` FromSource int `description:"基础指标来源"` FromSourceName string `description:"基础指标来源名称"` FromTag string `description:"来源指标标签"` Sort int `description:"计算指标名称排序"` CreateTime time.Time `description:"创建时间"` ModifyTime time.Time `description:"修改时间"` StartDate string `description:"开始日期"` EndDate string `description:"结束日期"` EdbType int `description:"指标类型:1:基础指标,2:计算指标"` EdbCode string `description:"指标code"` } // GetPredictEdbConfCalculateMappingDetailListById 根据配置id获取 配置关联指标信息 func GetPredictEdbConfCalculateMappingDetailListById(edbInfoId int) (list []*PredictEdbConfCalculateMappingDetail, err error) { o := orm.NewOrmUsingDB("data") sql := ` SELECT a.predict_edb_conf_calculate_mapping_id,a.edb_info_id,a.from_edb_info_id,a.from_edb_code,a.from_source,a.from_source_name,a.sort,a.create_time,a.modify_time,a.from_tag,b.edb_name_source as from_edb_name,b.start_date,b.end_date,b.edb_type FROM predict_edb_conf_calculate_mapping AS a INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id WHERE a.edb_info_id=? ORDER BY sort ASC ` _, err = o.Raw(sql, edbInfoId).QueryRows(&list) return } // GetPredictEdbConfCalculateMappingDetailListByConfigId 根据配置id和指标id获取 配置关联指标信息 func GetPredictEdbConfCalculateMappingDetailListByConfigId(edbInfoId, configId int) (list []*PredictEdbConfCalculateMappingDetail, err error) { o := orm.NewOrmUsingDB("data") sql := ` SELECT a.predict_edb_conf_calculate_mapping_id,a.edb_info_id,a.from_edb_info_id,a.from_edb_code,a.from_source,a.from_source_name,a.sort,a.create_time,a.modify_time,a.from_tag,b.edb_name_source as from_edb_name,b.start_date,b.end_date,b.edb_type FROM predict_edb_conf_calculate_mapping AS a INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id WHERE a.edb_info_id=? AND a.config_id=? ORDER BY sort ASC ` _, err = o.Raw(sql, edbInfoId, configId).QueryRows(&list) return } // GetPredictEdbConfCalculateMappingDetailListByEdbInfoId 根据 关联指标id列表 来 获取 相关联的配置关联指标信息 func GetPredictEdbConfCalculateMappingDetailListByEdbInfoId(fromEdbInfoIdList []int) (list []*PredictEdbConfCalculateMappingDetail, err error) { num := len(fromEdbInfoIdList) if num <= 0 { return } o := orm.NewOrmUsingDB("data") sql := ` SELECT a.predict_edb_conf_calculate_mapping_id,a.edb_info_id,a.from_edb_info_id,a.from_edb_code,a.from_source,a.from_source_name,a.sort,a.create_time,a.modify_time,a.from_tag,b.edb_name_source as from_edb_name,b.start_date,b.end_date,b.edb_type,b.edb_code FROM predict_edb_conf_calculate_mapping AS a INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id WHERE a.edb_info_id in (` + utils.GetOrmInReplace(num) + `) GROUP BY a.edb_info_id ORDER BY sort ASC ` _, err = o.Raw(sql, fromEdbInfoIdList).QueryRows(&list) return }