excel_info.go 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package excel
  2. import (
  3. "eta_gn/eta_index_lib/global"
  4. "time"
  5. )
  6. // ExcelInfo excel表格详情表
  7. type ExcelInfo struct {
  8. ExcelInfoId int `gorm:"primaryKey;autoIncrement;column:excel_info_id"`
  9. Source int `gorm:"column:source" description:"表格来源,1:excel插件的表格,2:自定义表格,3:混合表格,4:自定义分析,默认:1"`
  10. ExcelType int `gorm:"column:excel_type" description:"表格类型,1:指标列,2:日期列,默认:1"`
  11. ExcelName string `gorm:"column:excel_name" description:"表格名称"`
  12. UniqueCode string `gorm:"column:unique_code" description:"表格唯一编码"`
  13. ExcelClassifyId int `gorm:"column:excel_classify_id" description:"表格分类id"`
  14. SysUserId int `gorm:"column:sys_user_id" description:"操作人id"`
  15. SysUserRealName string `gorm:"column:sys_user_real_name" description:"操作人真实姓名"`
  16. Content string `gorm:"column:content" description:"表格内容"`
  17. ExcelImage string `gorm:"column:excel_image" description:"表格图片"`
  18. FileUrl string `gorm:"column:file_url" description:"表格下载地址"`
  19. Sort int `gorm:"column:sort" description:"排序字段,数字越小越排前面"`
  20. IsDelete int `gorm:"column:is_delete" description:"是否删除,0:未删除,1:已删除"`
  21. ModifyTime time.Time `gorm:"column:modify_time" description:"最近修改日期"`
  22. CreateTime time.Time `gorm:"column:create_time" description:"创建日期"`
  23. }
  24. // GetNoContentExcelInfoAll 获取不含content的表格列表 用于分类展示
  25. func GetNoContentExcelInfoAll(source, userId int) (items []*ExcelClassifyItems, err error) {
  26. sql := ` SELECT excel_info_id,excel_classify_id,excel_name AS excel_classify_name,
  27. unique_code,sys_user_id,sys_user_real_name
  28. FROM excel_info where is_delete=0 AND source = ? `
  29. pars := []interface{}{source}
  30. if userId > 0 {
  31. sql += ` AND sys_user_id = ? `
  32. pars = append(pars, userId)
  33. }
  34. sql += ` ORDER BY sort asc,create_time desc `
  35. err = global.DEFAULT_DmSQL.Raw(sql, pars...).Scan(&items).Error
  36. return
  37. }
  38. // UpdateExcelInfoClassifyId 更改表格分类
  39. func UpdateExcelInfoClassifyId(classifyId, excelInfoId int) (err error) {
  40. sql := ` update excel_info set excel_classify_id = ? WHERE excel_info_id=? `
  41. err = global.DEFAULT_DmSQL.Exec(sql, classifyId, excelInfoId).Error
  42. return
  43. }
  44. // GetAllExcelInfoBySource 根据来源获取包含content的表格列表
  45. func GetAllExcelInfoBySource(source int) (items []*ExcelInfo, err error) {
  46. sql := ` SELECT * FROM excel_info where is_delete=0 AND source = ? ORDER BY sort asc,create_time desc `
  47. err = global.DEFAULT_DmSQL.Raw(sql, source).Scan(&items).Error
  48. return
  49. }
  50. // TableDataReq 自定义表格请求参数
  51. type TableDataReq struct {
  52. EdbInfoIdList []int `description:"指标id列表,从左至右,从上到下的顺序"`
  53. Sort int `description:"日期排序,1:倒序,2:正序"`
  54. Data []EdbInfoData `description:"数据列表"`
  55. TextRowData [][]ManualDataReq `description:"文本列表"`
  56. }
  57. // EdbInfoData 自定义表格的数据
  58. type EdbInfoData struct {
  59. EdbInfoId int `description:"指标ID"`
  60. Tag string `description:"标签"`
  61. EdbName string `description:"指标名称"`
  62. EdbAliasName string `description:"指标别名"`
  63. Frequency string `description:"频度"`
  64. Unit string `description:"单位"`
  65. Data []ManualDataReq `description:"单元格数据列表"`
  66. }
  67. // ManualDataReq 自定义表格的单元格数据
  68. type ManualDataReq struct {
  69. DataType int `description:"数据类型,1:普通的,2:插值法,3:手动输入,4:公式计算,5:预测值"`
  70. DataTime string `description:"所属日期"`
  71. DataTimeType int `description:"日期类型,1:实际日期;2:未来日期"`
  72. ShowValue string `description:"展示值"`
  73. Value string `description:"实际值(计算公式)"`
  74. RelationEdbInfoList []RelationEdbInfo `description:"关联指标(计算公式中关联的指标,用于计算的时候去匹配)"`
  75. }
  76. // RelationEdbInfo 自定义表格中单元格的关联指标
  77. type RelationEdbInfo struct {
  78. Tag string `description:"指标标签"`
  79. Row string `description:"第几行"`
  80. }
  81. // MixedTableReq 混合表格保存请求参数
  82. type MixedTableReq struct {
  83. CellRelation string `description:"单元格关系"`
  84. Data [][]MixedTableCellDataReq `description:"混合表格单元格参数"`
  85. }
  86. // MixedTableCellDataReq 混合表格单元格参数
  87. type MixedTableCellDataReq struct {
  88. Uid string `description:"单元格唯一标识"`
  89. DataType int `description:"数据类型,1:日期,2:指标,3:自定义文本,4:插值"`
  90. DataTime string `description:"所属日期"`
  91. DataTimeType int `description:"日期类型:0:手动输入日期;1:导入系统日期;;3:导入指标日期(指标库的最新日期);"`
  92. EdbInfoId int `description:"指标id"`
  93. ShowValue string `description:"展示值"`
  94. Value string `description:"实际值"`
  95. }