table_data.go 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package data_manage
  2. import (
  3. "github.com/rdlucklib/rdluck_tools/orm"
  4. "time"
  5. )
  6. type TableData struct {
  7. TableDataId int `orm:"column(table_data_id);pk"`
  8. TableInfoId int `description:"表格id"`
  9. Date time.Time `description:"指标时间"`
  10. DataCol1 string `orm:"column(data_col_1);" description:"第1个表格的数据"`
  11. DataCol2 string `orm:"column(data_col_2);" description:"第2个表格的数据"`
  12. DataCol3 string `orm:"column(data_col_3);" description:"第3个表格的数据"`
  13. DataCol4 string `orm:"column(data_col_4);" description:"第4个表格的数据"`
  14. DataCol5 string `orm:"column(data_col_5);" description:"第5个表格的数据"`
  15. DataCol6 string `orm:"column(data_col_6);" description:"第6个表格的数据"`
  16. DataCol7 string `orm:"column(data_col_7);" description:"第7个表格的数据"`
  17. DataCol8 string `orm:"column(data_col_8);" description:"第8个表格的数据"`
  18. DataCol9 string `orm:"column(data_col_9);" description:"第9个表格的数据"`
  19. DataCol10 string `orm:"column(data_col_10);" description:"第10个表格的数据"`
  20. DataType int8 `description:"数据类型,默认的区间数据是 1;插入数据是 2"`
  21. Sort int `description:"排序字段,越小越靠前"`
  22. AfterTableDataId int `description:"在某个表格数据id后面"`
  23. BeforeTableDataId int `description:"在某个表格数据id前面"`
  24. ModifyTime time.Time `description:"修改时间"`
  25. CreateTime time.Time `description:"创建时间"`
  26. }
  27. // GetBetweenTableDataListByTableInfoId 根据表格id获取数据列表
  28. func GetBetweenTableDataListByTableInfoId(tableInfoId, dataType int) (items []*TableData, err error) {
  29. o := orm.NewOrm()
  30. o.Using("data")
  31. sql := ` SELECT * FROM table_data WHERE table_info_id = ? and after_table_data_id =0 and before_table_data_id =0 `
  32. _, err = o.Raw(sql, tableInfoId).QueryRows(&items)
  33. return
  34. }
  35. // GetInsertTableDataListByTableInfoId 根据表格id获取区间数据列表
  36. func GetInsertTableDataListByTableInfoId(tableInfoId, dataType int) (items []*TableData, err error) {
  37. o := orm.NewOrm()
  38. o.Using("data")
  39. pars := make([]interface{}, 0)
  40. pars = append(pars, tableInfoId)
  41. sql := ` SELECT * FROM table_data WHERE table_info_id = ? and data_type=2 and (after_table_data_id !=0 and before_table_data_id != 0) `
  42. if dataType > 0 {
  43. sql += ` and data_type=? `
  44. pars = append(pars, dataType)
  45. }
  46. _, err = o.Raw(sql, pars...).QueryRows(&items)
  47. return
  48. }
  49. // GetTableDataListByTableInfoId 根据表格id获取插入数据列表
  50. func GetTableDataListByTableInfoId(tableInfoId int) (items []*TableData, err error) {
  51. o := orm.NewOrm()
  52. o.Using("data")
  53. pars := make([]interface{}, 0)
  54. pars = append(pars, tableInfoId)
  55. sql := ` SELECT * FROM table_data WHERE table_info_id = ? order by sort asc `
  56. _, err = o.Raw(sql, tableInfoId).QueryRows(&items)
  57. return
  58. }
  59. // GetBetweenTableDataByTableInfoIdAndDate 根据表格id获取区间数据
  60. func GetBetweenTableDataByTableInfoIdAndDate(tableInfoId int, date string) (item *TableData, err error) {
  61. o := orm.NewOrm()
  62. o.Using("data")
  63. sql := ` SELECT * FROM table_data WHERE table_info_id = ? and date = ? and after_table_data_id =0 `
  64. err = o.Raw(sql, tableInfoId, date).QueryRow(&item)
  65. return
  66. }
  67. // GetMaxSortByTableInfoId 根据表格id获取最大排序
  68. func GetMaxSortByTableInfoId(tableInfoId int) (sort int, err error) {
  69. o := orm.NewOrm()
  70. o.Using("data")
  71. sql := ` SELECT max(sort) FROM table_data WHERE table_info_id = ? `
  72. err = o.Raw(sql, tableInfoId).QueryRow(&sort)
  73. return
  74. }
  75. // ExecTableDataSql 执行ETA表格的sql
  76. func ExecTableDataSql(sql string) (err error) {
  77. o := orm.NewOrm()
  78. o.Using("data")
  79. _, err = o.Raw(sql).Exec()
  80. return
  81. }