variety_edb_info.go 3.7 KB

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