excel_edb_mapping.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package excel
  2. import (
  3. "eta/eta_index_lib/global"
  4. "eta/eta_index_lib/utils"
  5. "time"
  6. )
  7. // ExcelEdbMapping excel与指标的关系表
  8. type ExcelEdbMapping struct {
  9. ExcelEdbMappingId int `gorm:"primaryKey;autoIncrement;column:excel_edb_mapping_id"`
  10. ExcelInfoId int `gorm:"column:excel_info_id" description:"excel的id"`
  11. Source int `gorm:"column:source" description:"表格来源,1:excel插件的表格,2:自定义表格,3:混合表格,4:自定义分析,默认:1"`
  12. EdbInfoId int `gorm:"column:edb_info_id" description:"计算指标id"`
  13. CreateTime time.Time `gorm:"column:create_time" description:"创建时间"`
  14. ModifyTime time.Time `gorm:"column:modify_time" description:"修改时间"`
  15. }
  16. // AddExcelEdbMappingMulti 批量添加excel与指标的关系
  17. func AddExcelEdbMappingMulti(items []*ExcelEdbMapping) (err error) {
  18. err = global.DEFAULT_DB.CreateInBatches(items, utils.MultiAddNum).Error
  19. return
  20. }
  21. // Add 添加excel与指标的关系
  22. func (e *ExcelEdbMapping) Add() (err error) {
  23. err = global.DEFAULT_DB.Create(e).Error
  24. return
  25. }
  26. type ExcelEdbMappingItem struct {
  27. EdbInfoId int `description:"指标id"`
  28. UniqueCode string `description:"唯一编码"`
  29. EdbName string `description:"指标名称"`
  30. ClassifyId int `description:"分类id"`
  31. Frequency string `description:"频度"`
  32. Unit string `description:"单位"`
  33. CalculateFormula string `json:"-"`
  34. DateSequenceStr string `description:"日期序列公式"`
  35. DataSequenceStr string `description:"数据序列公式"`
  36. }
  37. // CalculateFormula 计算公式
  38. type CalculateFormula struct {
  39. DateSequenceStr string `json:"DateSequenceStr"`
  40. DataSequenceStr string `json:"DataSequenceStr"`
  41. }
  42. // GetExcelEdbMappingByEdbInfoId 根据指标id获取配置关系
  43. func GetExcelEdbMappingByEdbInfoId(edbInfoId int) (item *ExcelEdbMapping, err error) {
  44. sql := ` SELECT * FROM excel_edb_mapping WHERE 1=1 AND edb_info_id = ? `
  45. err = global.DEFAULT_DB.Raw(sql, edbInfoId).First(&item).Error
  46. return
  47. }