123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904 |
- package edb_data
- import (
- "errors"
- "fmt"
- "hongze/hongze_yb/global"
- "hongze/hongze_yb/utils"
- "strconv"
- "time"
- )
- // 指标数据->存储表
- func GetEdbDataTableName(source int) (tableName string) {
- switch source {
- case utils.DATA_SOURCE_THS:
- tableName = "edb_data_ths"
- case utils.DATA_SOURCE_WIND:
- tableName = "edb_data_wind"
- case utils.DATA_SOURCE_PB:
- tableName = "edb_data_pb"
- case utils.DATA_SOURCE_CALCULATE:
- tableName = "edb_data_calculate"
- case utils.DATA_SOURCE_CALCULATE_LJZZY:
- tableName = "edb_data_calculate_ljzzy"
- case utils.DATA_SOURCE_CALCULATE_TBZ:
- tableName = "edb_data_calculate_tbz"
- case utils.DATA_SOURCE_CALCULATE_TCZ:
- tableName = "edb_data_calculate_tcz"
- case utils.DATA_SOURCE_CALCULATE_NSZYDPJJS:
- tableName = "edb_data_calculate_nszydpjjs"
- case utils.DATA_SOURCE_MANUAL:
- tableName = "edb_data_manual"
- case utils.DATA_SOURCE_LZ:
- tableName = "edb_data_lz"
- case utils.DATA_SOURCE_YS:
- tableName = "edb_data_ys"
- case utils.DATA_SOURCE_CALCULATE_HBZ:
- tableName = "edb_data_calculate_hbz"
- case utils.DATA_SOURCE_CALCULATE_HCZ:
- tableName = "edb_data_calculate_hcz"
- case utils.DATA_SOURCE_CALCULATE_BP:
- tableName = "edb_data_calculate_bp"
- case utils.DATA_SOURCE_GL:
- tableName = "edb_data_gl"
- case utils.DATA_SOURCE_ZZ:
- tableName = "edb_data_zz"
- case utils.DATA_SOURCE_DL:
- tableName = "edb_data_dl"
- case utils.DATA_SOURCE_SH:
- tableName = "edb_data_sh"
- case utils.DATA_SOURCE_CFFEX:
- tableName = "edb_data_cffex"
- case utils.DATA_SOURCE_SHFE:
- tableName = "edb_data_ine"
- case utils.DATA_SOURCE_GIE:
- tableName = "edb_data_gie"
- case utils.DATA_SOURCE_CALCULATE_ZJPJ:
- tableName = "edb_data_calculate_zjpj"
- case utils.DATA_SOURCE_CALCULATE_TIME_SHIFT:
- tableName = "edb_data_calculate_time_shift"
- case utils.DATA_SOURCE_CALCULATE_LJZTBPJ:
- tableName = "edb_data_calculate_ljztbpj"
- case utils.DATA_SOURCE_LT:
- tableName = "edb_data_lt"
- default:
- tableName = ""
- }
- return
- }
- type EdbDataList struct {
- EdbDataId int `description:" 指标数据ID"`
- EdbInfoId int `description:"指标ID"`
- DataTime string `json:"-" description:"数据日期"`
- DataTimestamp int64 `description:"数据日期"`
- Value float64 `description:"数据值"`
- }
- type EdbDataItems struct {
- Items []*EdbDataList
- Year int
- }
- type EdbDataResult struct {
- List []*EdbDataItems
- }
- type QuarterData struct {
- Year int
- DataList []*EdbDataList
- }
- // GetEdbDataList 获取指标数据
- func GetEdbDataList(source, endInfoId int, startDate, endDate string) (list []*EdbDataList, err error) {
- tableName := GetEdbDataTableName(source)
- if tableName == "" {
- err = errors.New("无效的渠道:" + strconv.Itoa(source))
- list = make([]*EdbDataList, 0)
- return list, err
- }
- var pars []interface{}
- pars = append(pars, endInfoId)
- sql := `SELECT edb_data_id,edb_info_id,data_time,value,data_timestamp FROM %s WHERE edb_info_id = ? `
- if startDate != "" {
- sql += ` AND data_time >= ? `
- pars = append(pars, startDate)
- }
- if endDate != "" {
- sql += ` AND data_time <= ? `
- pars = append(pars, endDate)
- }
- sql += ` ORDER BY data_time ASC `
- sql = fmt.Sprintf(sql, tableName)
- err = global.MYSQL["data"].Raw(sql, pars...).Scan(&list).Error
- // 格式化日期
- if len(list) > 0 {
- for _, row := range list {
- if row.DataTime != "" {
- row.DataTime = row.DataTime[:10] // 此处获取的字符串row.DataTime长度有长有短,截取年月日
- //tempTime, _ := time.Parse("2006-01-02T00:00:00+08:00", row.DataTime)
- //row.DataTime = tempTime.Format(utils.FormatDate)
- }
- }
- }
- return
- }
- func GetEdbDataThsByCodeAndDate(edbCode string, startDate string) (count int, err error) {
- sql := ` SELECT COUNT(1) AS count FROM edb_data_ths WHERE edb_code = ? AND data_time = ? `
- err = global.MYSQL["data"].Raw(sql, edbCode, startDate).Scan(&count).Error
- return
- }
- func GetEdbDataWindByCodeAndDate(edbCode string, startDate string) (count int, err error) {
- sql := ` SELECT COUNT(1) AS count FROM edb_data_wind WHERE edb_code=? AND data_time=? `
- err = global.MYSQL["data"].Raw(sql, edbCode, startDate).Scan(&count).Error
- return
- }
- func GetEdbDataPbByCodeAndDate(edbCode string, startDate string) (count int, err error) {
- sql := ` SELECT COUNT(1) AS count FROM edb_data_pb WHERE edb_code=? AND data_time>=? `
- err = global.MYSQL["data"].Raw(sql, edbCode, startDate).Scan(&count).Error
- return
- }
- type ManualEdbdata struct {
- TradeCode string `gorm:"column:TRADE_CODE" description:"指标编码"`
- Dt string `gorm:"column:DT" description:"日期"`
- Close string `gorm:"column:CLOSE" description:"值"`
- ModifyTime time.Time `gorm:"column:modify_time:" description:"修改时间"`
- }
- func GetEdbdataManualByTradeCode(condition string, pars []interface{}) (item []*ManualEdbdata, err error) {
- sql := ` SELECT * FROM edbdata WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY DT DESC `
- err = global.MYSQL["edb"].Raw(sql, pars).Scan(&item).Error
- return
- }
- type EdbDataBase struct {
- EdbDataId int `gorm:"column:edb_data_id;primaryKey"`
- EdbInfoId int
- EdbCode string
- DataTime string
- Value string
- Status int
- CreateTime time.Time
- ModifyTime time.Time
- DataTimestamp int64
- }
- type lzSurveyData struct {
- DataTime string `gorm:"column:data_time" description:"日期"`
- InputValue string `gorm:"column:input_value" description:"值"`
- }
- func GetLzSurveyDataByTradeCode(condition string, pars []interface{}) (item []*lzSurveyData, err error) {
- sql := ` SELECT a.* FROM longzhong_survey_data AS a
- INNER JOIN longzhong_survey_product AS b ON a.survey_product_id=b.survey_product_id
- WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY a.data_time DESC `
- err = global.MYSQL["edb"].Raw(sql, pars).Scan(&item).Error
- return
- }
- func GetEdbDataLzByCodeAndDate(edbCode string, startDate string) (count int, err error) {
- sql := ` SELECT COUNT(1) AS count FROM edb_data_lz WHERE edb_code=? AND data_time=? `
- err = global.MYSQL["data"].Raw(sql, edbCode, startDate).Scan(&count).Error
- return
- }
- type EdbDataPb struct {
- EdbDataId int `gorm:"column:edb_data_id;primaryKey"`
- EdbInfoId int
- EdbCode string
- DataTime string
- Value float64
- Status int
- CreateTime time.Time
- ModifyTime time.Time
- Ticker string
- Field string
- DataTimestamp int64
- }
- type BaseFromSmm struct {
- BaseFromSmmId int `gorm:"column:base_from_smm_id;primaryKey"`
- Aid int
- Name string
- Interface string
- ApiUpdate int
- ApiUpdateType string
- ApiType int
- ApiTypeAll string
- Type1 string `gorm:"column:type_1"`
- Type2 string `gorm:"column:type_2"`
- Type3 string `gorm:"column:type_3"`
- ApiStartTime string
- ApiUpdateTime string
- StartTime string
- FinishTime string
- AuthModule string
- AuthLang string
- ApiLabel string
- Enable string
- EditPerson string
- EditTime string
- AuthDur int
- AuthDurType string
- }
- type BaseFromSmmIndex struct {
- BaseFromSmmIndexId int `gorm:"column:base_from_smm_index_id;primaryKey"`
- Interface string
- Name string
- IndexCode string
- IndexName string
- Type1 string `gorm:"column:type_1"`
- Type2 string `gorm:"column:type_2"`
- Type3 string `gorm:"column:type_3"`
- Frequency string
- Unit string
- ApiStartTime string
- ApiUpdateTime string
- StartTime string
- FinishTime string
- CreateTime time.Time
- ModifyTime time.Time
- }
- type BaseFromSmmData struct {
- SmmDataId int `gorm:"column:smm_data_id;primaryKey"`
- BaseFromSmmIndexId int
- IndexCode string
- DataTime string
- Value string
- CreateTime time.Time
- ModifyTime time.Time
- DataTimestamp int64
- }
- func GetBaseFromSmmBySmmCode(smmCode string) (item *BaseFromSmm, err error) {
- sql := `SELECT * FROM base_from_smm WHERE interface = ?`
- err = global.MYSQL["data"].Raw(sql, smmCode).Scan(&item).Error
- return
- }
- func GetBaseFromSmmIndexBySmmCode(smmCode string) (list []*BaseFromSmmIndex, err error) {
- sql := ` SELECT * FROM base_from_smm_index WHERE interface = ? `
- err = global.MYSQL["data"].Raw(sql, smmCode).Scan(&list).Error
- return
- }
- func GetBaseFromSmmDataAllByIndexCode(indexCode string) (list []*BaseFromSmmData, err error) {
- sql := `SELECT * FROM base_from_smm_data WHERE index_code=? `
- err = global.MYSQL["data"].Raw(sql, indexCode).Scan(&list).Error
- return
- }
- func GetBaseFromSmmMaxOrMinDate(indexCode string) (min_date, max_date string, err error) {
- sql := ` SELECT MIN(data_time) AS min_date FROM base_from_smm_data WHERE index_code=? `
- err = global.MYSQL["data"].Raw(sql, indexCode).Scan(&min_date).Error
- sql = ` SELECT MAX(data_time) AS max_date FROM base_from_smm_data WHERE index_code=? `
- err = global.MYSQL["data"].Raw(sql, indexCode).Scan(&max_date).Error
- return
- }
- type YsResult struct {
- Code int64 `json:"Code"`
- Data struct {
- CompanyList []interface{} `json:"CompanyList"`
- Content [][]string `json:"Content"`
- Field []struct {
- ColIndex int64 `json:"ColIndex"`
- ColumnType string `json:"ColumnType"`
- Info string `json:"Info"`
- IsDate string `json:"IsDate"`
- Name string `json:"Name"`
- Unit string `json:"Unit"`
- DBColName string `json:"db_col_name"`
- } `json:"Field"`
- CountPage int64 `json:"count_page"`
- CurrentPage int64 `json:"current_page"`
- Frequency string `json:"frequency"`
- Mindate string `json:"mindate"`
- PageNum int64 `json:"page_num"`
- Status int64 `json:"status"`
- TotalNum int64 `json:"total_num"`
- } `json:"Data"`
- Msg string `json:"Msg"`
- }
- type BaseFromSmmDataSimple struct {
- SmmDataId int `gorm:"column:smm_data_id;primaryKey"`
- BaseFromSmmIndexId int
- IndexCode string
- DataTime string
- Value string
- }
- type BaseFromDlDataSimple struct {
- Id int `gorm:"column:base_from_trade_dalian_index_id;primaryKey"`
- DealCode string
- BuyCode string
- SoldCode string
- DataTime string
- DealValue string
- BuyValue string
- SoldValue string
- }
- func GetDlDataByTradeCode(condition string, pars []interface{}) (item []*BaseFromDlDataSimple, err error) {
- sql := ` SELECT * FROM base_from_trade_dalian_index WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY data_time DESC `
- err = global.MYSQL["data"].Raw(sql, pars).Scan(&item).Error
- return
- }
- func GetEdbDataDlByCodeAndDate(edbCode string, startDate string) (count int, err error) {
- sql := ` SELECT COUNT(1) AS count FROM edb_data_dl WHERE edb_code=? AND data_time=? `
- err = global.MYSQL["data"].Raw(sql, edbCode, startDate).Scan(&count).Error
- return
- }
- type GlData struct {
- InputValue string `gorm:"column:DATA_VALUE" description:"日期"`
- DataTime string `gorm:"column:DATA_DATE" description:"值"`
- }
- func GetGlDataByTradeCode(condition string, pars []interface{}) (item []*GlData, err error) {
- condition += " AND IS_DELETE=0 "
- sql := ` SELECT * FROM mb_index_main_data WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY PUBLISH_TIME DESC `
- err = global.MYSQL["data"].Raw(sql, pars).Scan(&item).Error
- return
- }
- func GetEdbDataGlByCodeAndDate(edbCode string, startDate string) (count int, err error) {
- sql := ` SELECT COUNT(1) AS count FROM edb_data_gl WHERE edb_code=? AND data_time=? `
- err = global.MYSQL["data"].Raw(sql, edbCode, startDate).Scan(&count).Error
- return
- }
- type EdbDataFromLt struct {
- Close map[int64]interface{} `json:"CLOSE"`
- }
- type BaseFromZzDataSimple struct {
- Id int `gorm:"column:base_from_trade_zhengzhou_index_id;primaryKey"`
- DealCode string
- BuyCode string
- SoldCode string
- DataTime string
- DealValue string
- BuyValue string
- SoldValue string
- }
- func GetZzDataByTradeCode(condition string, pars []interface{}) (item []*BaseFromZzDataSimple, err error) {
- sql := ` SELECT * FROM base_from_trade_zhengzhou_index WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY data_time DESC `
- err = global.MYSQL["data"].Raw(sql, pars).Scan(&item).Error
- return
- }
- func GetEdbDataZzByCodeAndDate(edbCode string, startDate string) (count int, err error) {
- sql := ` SELECT COUNT(1) AS count FROM edb_data_zz WHERE edb_code=? AND data_time=? `
- err = global.MYSQL["data"].Raw(sql, edbCode, startDate).Scan(&count).Error
- return
- }
- type BaseFromShDataSimple struct {
- Id int `gorm:"column:base_from_trade_shanghai_index_id;primaryKey"`
- DealCode string
- BuyCode string
- SoldCode string
- DataTime string
- DealValue string
- BuyValue string
- SoldValue string
- }
- func GetShDataByTradeCode(condition string, pars []interface{}) (item []*BaseFromShDataSimple, err error) {
- sql := ` SELECT * FROM base_from_trade_shanghai_index WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY data_time DESC `
- err = global.MYSQL["data"].Raw(sql, pars).Scan(&item).Error
- return
- }
- func GetEdbDataShByCodeAndDate(edbCode string, startDate string) (count int, err error) {
- sql := ` SELECT COUNT(1) AS count FROM edb_data_sh WHERE edb_code=? AND data_time=? `
- err = global.MYSQL["data"].Raw(sql, edbCode, startDate).Scan(&count).Error
- return
- }
- type BaseFromCffexDataSimple struct {
- Id int `gorm:"column:base_from_trade_cffex_index_id;primaryKey"`
- DealCode string
- BuyCode string
- SoldCode string
- DataTime string
- DealValue string
- BuyValue string
- SoldValue string
- }
- func GetCffexDataByTradeCode(condition string, pars []interface{}) (item []*BaseFromCffexDataSimple, err error) {
- sql := ` SELECT * FROM base_from_trade_cffex_index WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY data_time DESC `
- err = global.MYSQL["data"].Raw(sql, pars).Scan(&item).Error
- return
- }
- func GetEdbDataCffexByCodeAndDate(edbCode string, startDate string) (count int, err error) {
- sql := ` SELECT COUNT(1) AS count FROM edb_data_cffex WHERE edb_code=? AND data_time=? `
- err = global.MYSQL["data"].Raw(sql, edbCode, startDate).Scan(&count).Error
- return
- }
- type BaseFromShfeDataSimple struct {
- Id int `gorm:"column:base_from_trade_ine_index_id;primaryKey"`
- DealCode string
- BuyCode string
- SoldCode string
- DataTime string
- DealValue string
- BuyValue string
- SoldValue string
- }
- func GetShfeDataByTradeCode(condition string, pars []interface{}) (item []*BaseFromShfeDataSimple, err error) {
- sql := ` SELECT * FROM base_from_trade_ine_index WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY data_time DESC `
- err = global.MYSQL["data"].Raw(sql, pars).Scan(&item).Error
- return
- }
- func GetEdbDataShfeByCodeAndDate(edbCode string, startDate string) (count int, err error) {
- sql := ` SELECT COUNT(1) AS count FROM edb_data_ine WHERE edb_code=? AND data_time=? `
- err = global.MYSQL["data"].Raw(sql, edbCode, startDate).Scan(&count).Error
- return
- }
- type BaseFromTradeEicIndex struct {
- BaseFromEicIndexId int `gorm:"column:base_from_eic_index_id;primaryKey"`
- Country string
- Type string
- EicCode string
- ShortName string
- Name string
- Status string
- GasDayStartedOn string
- GasInStorage string
- GasInStorageCode string
- Full string
- FullCode string
- Trend string
- TrendCode string
- Injection string
- InjectionCode string
- Withdrawal string
- WithdrawalCode string
- WorkingGasVolume string
- WorkingGasVolumeCode string
- InjectionCapacity string
- InjectionCapacityCode string
- WithdrawalCapacity string
- WithdrawalCapacityCode string
- Info string
- CreateTime time.Time
- ModifyTime time.Time
- }
- func GetGieDataByTradeCode(condition string, pars []interface{}) (item []*BaseFromTradeEicIndex, err error) {
- sql := ` SELECT * FROM base_from_trade_eic_index WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY gas_day_started_on DESC `
- err = global.MYSQL["data"].Raw(sql, pars).Scan(&item).Error
- return
- }
- func GetEdbDataGieByCodeAndDate(edbCode string, startDate string) (count int, err error) {
- sql := ` SELECT COUNT(1) AS count FROM edb_data_gie WHERE edb_code=? AND data_time=? `
- err = global.MYSQL["data"].Raw(sql, edbCode, startDate).Scan(&count).Error
- return
- }
- type EdbInfoMaxAndMinInfo struct {
- MinDate string `description:"最小日期"`
- MaxDate string `description:"最大日期"`
- MinValue float64 `description:"最小值"`
- MaxValue float64 `description:"最大值"`
- LatestValue float64 `description:"最新值"`
- }
- func GetEdbInfoMaxAndMinInfo(source int, edbCode string) (item *EdbInfoMaxAndMinInfo, err error) {
- sql := ``
- tableName := GetEdbDataTableName(source)
- sql = ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date,MIN(value) AS min_value,MAX(value) AS max_value FROM %s WHERE edb_code=? `
- sql = fmt.Sprintf(sql, tableName)
- err = global.MYSQL["data"].Raw(sql, edbCode).Scan(&item).Error
- var latest_value float64
- sql = ` SELECT value AS latest_value FROM %s WHERE edb_code=? ORDER BY data_time DESC LIMIT 1 `
- sql = fmt.Sprintf(sql, tableName)
- err = global.MYSQL["data"].Raw(sql, edbCode).Scan(&latest_value).Error
- item.LatestValue = latest_value
- return
- }
- type EdbInfoCalculateDetail struct {
- EdbInfoCalculateId int `gorm:"primaryKey;column:edb_info_calculate_id"`
- EdbInfoId int `description:"指标id"`
- EdbCode string `description:"指标编码"`
- 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:计算指标"`
- }
- func GetEdbInfoCalculateDetail(edbInfoId, source int) (list []*EdbInfoCalculateDetail, err error) {
- sql := ` SELECT a.*,b.start_date,b.end_date,b.edb_type FROM edb_info_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 = global.MYSQL["data"].Raw(sql, edbInfoId).Scan(&list).Error
- return
- }
- type EdbInfoSearchData struct {
- DataTime string `description:"数据日期"`
- Value float64 `description:"数据"`
- }
- //order:1升序,其余值为降序
- func GetEdbDataListAll(condition string, pars []interface{}, source, order int) (item []*EdbInfoSearchData, err error) {
- sql := ``
- tableName := GetEdbDataTableName(source)
- sql = ` SELECT * FROM %s WHERE 1=1 `
- sql = fmt.Sprintf(sql, tableName)
- if condition != "" {
- sql += condition
- }
- if order == 1 {
- sql += ` ORDER BY data_time ASC `
- } else {
- sql += ` ORDER BY data_time DESC `
- }
- err = global.MYSQL["data"].Raw(sql, pars...).Scan(&item).Error
- // 格式化日期
- if len(item) > 0 {
- for _, row := range item {
- if row.DataTime != "" {
- row.DataTime = row.DataTime[:10]
- //tempTime, _ := time.Parse("2006-01-02T00:00:00", row.DataTime)
- //row.DataTime = tempTime.Format(utils.FormatDate)
- }
- }
- }
- return
- }
- type CalculateItems struct {
- EdbInfoId int
- DataMap map[string]float64
- }
- type EdbInfoCalculateLjzzyDetail struct {
- EdbInfoCalculateLjzzyId int `gorm:"column:edb_info_calculate_ljzzy_id;primaryKey"`
- EdbInfoId int `description:"指标id"`
- EdbCode string `description:"指标编码"`
- 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:"结束日期"`
- }
- func GetEdbInfoCalculateLjzzyDetail(edbInfoId int) (item *EdbInfoCalculateLjzzyDetail, err error) {
- sql := ` SELECT a.*,b.start_date,b.end_date FROM edb_info_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=? `
- err = global.MYSQL["data"].Raw(sql, edbInfoId).Scan(&item).Error
- return
- }
- type EdbInfoCalculateTbzDetail struct {
- EdbInfoCalculateTbzId int `gorm:"column:edb_info_calculate_tbz_id;primaryKey"`
- EdbInfoId int `description:"指标id"`
- EdbCode string `description:"指标编码"`
- 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:"结束日期"`
- }
- func GetEdbInfoCalculateTbzDetail(edbInfoId int) (item *EdbInfoCalculateTbzDetail, err error) {
- sql := ` SELECT a.*,b.start_date,b.end_date FROM edb_info_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=? `
- err = global.MYSQL["data"].Raw(sql, edbInfoId).First(&item).Error
- return
- }
- type EdbInfoCalculateTczDetail struct {
- EdbInfoCalculateTczId int `gorm:"column:edb_info_calculate_tcz_id;primaryKey"`
- EdbInfoId int `description:"指标id"`
- EdbCode string `description:"指标编码"`
- 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:"结束日期"`
- }
- func GetEdbInfoCalculateTczDetail(edbInfoId int) (item *EdbInfoCalculateTczDetail, err error) {
- sql := ` SELECT a.*,b.start_date,b.end_date FROM edb_info_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=? `
- err = global.MYSQL["data"].Raw(sql, edbInfoId).First(&item).Error
- return
- }
- type EdbInfoCalculateNszydpjjsDetail struct {
- EdbInfoCalculateNszydpjjsId int `gorm:"column:edb_info_calculate_nszydpjjs_id;primaryKey"`
- EdbInfoId int `description:"指标id"`
- EdbCode string `description:"指标编码"`
- 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:"结束日期"`
- }
- func GetEdbInfoCalculateNszydpjjsDetail(edbInfoId int) (item *EdbInfoCalculateNszydpjjsDetail, err error) {
- sql := ` SELECT a.*,b.start_date,b.end_date FROM edb_info_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=? `
- err = global.MYSQL["data"].Raw(sql, edbInfoId).First(&item).Error
- return
- }
- type EdbInfoCalculateHbzDetail struct {
- EdbInfoCalculateTbzId int `gorm:"column:edb_info_calculate_tbz_id;primaryKey"`
- EdbInfoId int `description:"指标id"`
- EdbCode string `description:"指标编码"`
- 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:"结束日期"`
- }
- func GetEdbInfoCalculateHbzDetail(edbInfoId int) (item *EdbInfoCalculateTbzDetail, err error) {
- sql := ` SELECT a.*,b.start_date,b.end_date FROM edb_info_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=? `
- err = global.MYSQL["data"].Raw(sql, edbInfoId).First(&item).Error
- return
- }
- type EdbInfoCalculateHczDetail struct {
- EdbInfoCalculateHczId int `gorm:"column:edb_info_calculate_hcz_id;primaryKey"`
- EdbInfoId int `description:"指标id"`
- EdbCode string `description:"指标编码"`
- 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:"结束日期"`
- }
- func GetEdbInfoCalculateHczDetail(edbInfoId int) (item *EdbInfoCalculateHczDetail, err error) {
- sql := ` SELECT a.*,b.start_date,b.end_date FROM edb_info_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=? `
- err = global.MYSQL["data"].Raw(sql, edbInfoId).First(&item).Error
- return
- }
- type EdbInfoCalculateBpDetail struct {
- EdbInfoCalculateBpId int `gorm:"column:edb_info_calculate_bp_id;primaryKey"`
- EdbInfoId int `description:"指标id"`
- EdbCode string `description:"指标编码"`
- 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:"结束日期"`
- }
- func GetEdbInfoCalculateBpDetail(edbInfoId int) (item *EdbInfoCalculateTbzDetail, err error) {
- sql := ` SELECT a.*,b.start_date,b.end_date FROM edb_info_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=? `
- err = global.MYSQL["data"].Raw(sql, edbInfoId).First(&item).Error
- return
- }
- // EdbDataCalculateZjpj 直接拼接数据结构体
- type EdbDataCalculateZjpj struct {
- EdbDataId int `gorm:"column:edb_data_id;primaryKey"`
- EdbInfoId int
- EdbCode string
- DataTime string
- Value float64
- Status int
- CreateTime time.Time
- ModifyTime time.Time
- DataTimestamp int64
- }
- // GetAllEdbDataCalculateZjpjByEdbInfoId 根据指标id获取全部的数据
- func GetAllEdbDataCalculateZjpjByEdbInfoId(edbInfoId int) (items []*EdbDataCalculateZjpj, err error) {
- sql := ` SELECT * FROM edb_data_calculate_zjpj WHERE edb_info_id=? ORDER BY data_time DESC `
- err = global.MYSQL["data"].Raw(sql, edbInfoId).Scan(&items).Error
- return
- }
- // EdbInfoCalculateMapping 计算指标于基础指标,关系表
- type EdbInfoCalculateMapping struct {
- EdbInfoCalculateMappingId int `gorm:"column:edb_info_calculate_mapping_id;primaryKey"`
- EdbInfoId int `description:"计算指标id"`
- Source int `description:"计算指标来源"`
- SourceName string `description:"计算指标来源名称"`
- EdbCode string `description:"计算指标编码"`
- 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:"修改时间"`
- }
- // GetEdbInfoCalculateListByCondition 获取指标关系列表
- func GetEdbInfoCalculateListByCondition(condition string, pars []interface{}) (items []*EdbInfoCalculateMapping, err error) {
- sql := ` SELECT * FROM edb_info_calculate_mapping WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- err = global.MYSQL["data"].Raw(sql, pars).Scan(&items).Error
- return
- }
- // EdbDataCalculateLjztbpj 累计值同比拼接数据结构体
- type EdbDataCalculateLjztbpj struct {
- EdbDataId int `gorm:"column:edb_data_id;primaryKey"`
- EdbInfoId int
- EdbCode string
- DataTime string
- Value float64
- Status int
- CreateTime time.Time
- ModifyTime time.Time
- DataTimestamp int64
- }
- // GetAllEdbDataCalculateLjztbpjByEdbInfoId 根据指标id获取全部的数据
- func GetAllEdbDataCalculateLjztbpjByEdbInfoId(edbInfoId int) (items []*EdbDataCalculateLjztbpj, err error) {
- sql := ` SELECT * FROM edb_data_calculate_ljztbpj WHERE edb_info_id=? ORDER BY data_time DESC `
- err = global.MYSQL["data"].Raw(sql, edbInfoId).Scan(&items).Error
- return
- }
|