variety_edb_info.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package supply_analysis
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. // VarietyEdbInfo variety_edb_info 品种指标表
  7. type VarietyEdbInfo struct {
  8. VarietyEdbId int `orm:"column(variety_edb_id);pk"`
  9. VarietyId int `description:"品种id"`
  10. EdbName string `description:"品种指标名称"`
  11. Frequency string `description:"频度"`
  12. StartDate time.Time `description:"开始日期"`
  13. EndDate time.Time `description:"结束日期"`
  14. EdbInfoId int `description:"指标id"`
  15. EdbCode string `description:"品种编码"`
  16. Source int `description:"来源,1:影响周度产量;2:周度产量变动;3:影响月度产量;4:月度产量变动"`
  17. ModifyTime time.Time `description:"更新时间"`
  18. CreateTime time.Time `description:"添加时间"`
  19. }
  20. // GetAllVarietyEdbInfoByVarietyId 根据品种id获取所有的指标
  21. func GetAllVarietyEdbInfoByVarietyId(varietyId int) (items []*VarietyEdbInfo, err error) {
  22. o := orm.NewOrm()
  23. sql := `SELECT * FROM variety_edb_info AS a WHERE a.variety_id = ? ORDER BY a.variety_edb_id ASC `
  24. _, err = o.Raw(sql, varietyId).QueryRows(&items)
  25. return
  26. }
  27. // GetVarietyEdbInfoByEdbInfoId 根据ETA指标库中的指标id获取指标
  28. func GetVarietyEdbInfoByEdbInfoId(varietyId int) (item *VarietyEdbInfo, err error) {
  29. o := orm.NewOrm()
  30. sql := `SELECT * FROM variety_edb_info AS a WHERE a.edb_info_id = ? ORDER BY a.variety_edb_id ASC `
  31. err = o.Raw(sql, varietyId).QueryRow(&item)
  32. return
  33. }
  34. // BatchCreateVarietyEdbInfo 批量插入
  35. func BatchCreateVarietyEdbInfo(list []*VarietyEdbInfo) (err error) {
  36. num := len(list)
  37. if num <= 0 {
  38. return
  39. }
  40. o := orm.NewOrm()
  41. _, err = o.InsertMulti(num, list)
  42. return
  43. }
  44. // GetCountVarietyEdbByVarietyId 根据品种id获取添加到已经生成的指标数量(不管是否加入到ETA指标库)
  45. func GetCountVarietyEdbByVarietyId(varietyId int) (total int, err error) {
  46. o := orm.NewOrm()
  47. sql := `SELECT count(1) total FROM variety_edb_info AS a WHERE a.variety_id = ?`
  48. err = o.Raw(sql, varietyId).QueryRow(&total)
  49. return
  50. }
  51. // GetCountVarietyEdbInfoByVarietyId 根据品种id获取添加到ETA指标库的指标数量
  52. func GetCountVarietyEdbInfoByVarietyId(varietyId int) (total int, err error) {
  53. o := orm.NewOrm()
  54. sql := `SELECT count(1) total FROM variety_edb_info AS a
  55. JOIN edb_info b on a.edb_info_id=b.edb_info_id
  56. WHERE a.variety_id = ? and a.edb_info_id >0`
  57. err = o.Raw(sql, varietyId).QueryRow(&total)
  58. return
  59. }
  60. // VarietyEdbInfoItem 品种指标表(展示使用)
  61. type VarietyEdbInfoItem struct {
  62. VarietyEdbId int `orm:"column(variety_edb_id);pk"`
  63. VarietyId int `description:"品种id"`
  64. EdbName string `description:"品种指标名称"`
  65. Frequency string `description:"频度"`
  66. StartDate string `description:"开始日期"`
  67. EndDate string `description:"结束日期"`
  68. EdbInfoId int `description:"指标id" json:"-"`
  69. EdbCode string `description:"品种编码"`
  70. ClassifyName string `description:"分类名称"`
  71. Source int `description:"来源,1:影响周度产量;2:周度产量变动;3:影响月度产量;4:月度产量变动" json:"-"`
  72. ModifyTime string `description:"最近一次更新时间"`
  73. CreateTime string `description:"添加时间"`
  74. Button VarietyEdbInfoButton `description:"操作按钮权限"`
  75. }
  76. type VarietyEdbInfoButton struct {
  77. Copy bool `description:"复制数据权限"`
  78. Show bool `description:"查看数据权限"`
  79. Add bool `description:"添加到指标库"`
  80. }
  81. // GetAllVarietyEdbInfoItemByVarietyId 根据品种id获取所有的指标
  82. func GetAllVarietyEdbInfoItemByVarietyId(varietyId int) (items []*VarietyEdbInfoItem, err error) {
  83. o := orm.NewOrm()
  84. sql := `SELECT * FROM variety_edb_info AS a WHERE a.variety_id = ? ORDER BY a.variety_edb_id ASC `
  85. _, err = o.Raw(sql, varietyId).QueryRows(&items)
  86. return
  87. }