package data_manage import ( "github.com/rdlucklib/rdluck_tools/orm" "time" ) type TableData struct { TableDataId int `orm:"column(table_data_id);pk"` TableInfoId int `description:"表格id"` Date time.Time `description:"指标时间"` DataCol1 string `orm:"column(data_col_1);" description:"第1个表格的数据"` DataCol2 string `orm:"column(data_col_2);" description:"第2个表格的数据"` DataCol3 string `orm:"column(data_col_3);" description:"第3个表格的数据"` DataCol4 string `orm:"column(data_col_4);" description:"第4个表格的数据"` DataCol5 string `orm:"column(data_col_5);" description:"第5个表格的数据"` DataCol6 string `orm:"column(data_col_6);" description:"第6个表格的数据"` DataCol7 string `orm:"column(data_col_7);" description:"第7个表格的数据"` DataCol8 string `orm:"column(data_col_8);" description:"第8个表格的数据"` DataCol9 string `orm:"column(data_col_9);" description:"第9个表格的数据"` DataCol10 string `orm:"column(data_col_10);" description:"第10个表格的数据"` DataType int8 `description:"数据类型,默认的区间数据是 1;插入数据是 2"` Sort int `description:"排序字段,越小越靠前"` AfterTableDataId int `description:"在某个表格数据id后面"` BeforeTableDataId int `description:"在某个表格数据id前面"` ModifyTime time.Time `description:"修改时间"` CreateTime time.Time `description:"创建时间"` } // GetBetweenTableDataListByTableInfoId 根据表格id获取数据列表 func GetBetweenTableDataListByTableInfoId(tableInfoId, dataType int) (items []*TableData, err error) { o := orm.NewOrm() o.Using("data") sql := ` SELECT * FROM table_data WHERE table_info_id = ? and after_table_data_id =0 and before_table_data_id =0 ` _, err = o.Raw(sql, tableInfoId).QueryRows(&items) return } // GetInsertTableDataListByTableInfoId 根据表格id获取区间数据列表 func GetInsertTableDataListByTableInfoId(tableInfoId, dataType int) (items []*TableData, err error) { o := orm.NewOrm() o.Using("data") pars := make([]interface{}, 0) pars = append(pars, tableInfoId) 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) ` if dataType > 0 { sql += ` and data_type=? ` pars = append(pars, dataType) } _, err = o.Raw(sql, pars...).QueryRows(&items) return } // GetTableDataListByTableInfoId 根据表格id获取插入数据列表 func GetTableDataListByTableInfoId(tableInfoId int) (items []*TableData, err error) { o := orm.NewOrm() o.Using("data") pars := make([]interface{}, 0) pars = append(pars, tableInfoId) sql := ` SELECT * FROM table_data WHERE table_info_id = ? order by sort asc ` _, err = o.Raw(sql, tableInfoId).QueryRows(&items) return } // GetBetweenTableDataByTableInfoIdAndDate 根据表格id获取区间数据 func GetBetweenTableDataByTableInfoIdAndDate(tableInfoId int, date string) (item *TableData, err error) { o := orm.NewOrm() o.Using("data") sql := ` SELECT * FROM table_data WHERE table_info_id = ? and date = ? and after_table_data_id =0 ` err = o.Raw(sql, tableInfoId, date).QueryRow(&item) return } // GetMaxSortByTableInfoId 根据表格id获取最大排序 func GetMaxSortByTableInfoId(tableInfoId int) (sort int, err error) { o := orm.NewOrm() o.Using("data") sql := ` SELECT max(sort) FROM table_data WHERE table_info_id = ? ` err = o.Raw(sql, tableInfoId).QueryRow(&sort) return } // ExecTableDataSql 执行ETA表格的sql func ExecTableDataSql(sql string) (err error) { o := orm.NewOrm() o.Using("data") _, err = o.Raw(sql).Exec() return }