industrial_activity_group_management.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "hongze/hongze_cygx/utils"
  5. "time"
  6. )
  7. type CygxIndustrialActivityGroupManagement struct {
  8. Id int `orm:"column(id);pk" description:"主键ID"`
  9. ActivityId int `description:"活动ID"`
  10. IndustrialManagementId int `description:"cygx_industrial_management表的主键ID"`
  11. Source int `description:"来源,1 活动,2专项调研"`
  12. CreateTime time.Time `description:"创建时间"`
  13. }
  14. // 获取标的列表
  15. func GetCygxIndustrialSubjectList(subjectName string) (items []*CygxIndustrialSubject, err error) {
  16. o := orm.NewOrm()
  17. sql := `SELECT
  18. s.*
  19. FROM
  20. cygx_industrial_subject as s
  21. INNER JOIN cygx_industrial_management as m ON m.industrial_management_id = s.industrial_management_id
  22. WHERE
  23. subject_name = ? `
  24. _, err = o.Raw(sql, subjectName).QueryRows(&items)
  25. return
  26. }
  27. // AddCygxActiuvityGroupMulti 批量添加
  28. func AddCygxActiuvityGroupMulti(items []*CygxIndustrialActivityGroupManagement, itemsSubject []*CygxIndustrialActivityGroupSubject) (err error) {
  29. o, err := orm.NewOrm().Begin()
  30. if err != nil {
  31. return
  32. }
  33. defer func() {
  34. if err == nil {
  35. o.Commit()
  36. } else {
  37. o.Rollback()
  38. }
  39. }()
  40. if len(items) > 0 {
  41. //批量添加关联的产业
  42. _, err = o.InsertMulti(len(items), items)
  43. }
  44. if len(itemsSubject) > 0 {
  45. //批量添加关联的标的
  46. _, err = o.InsertMulti(len(itemsSubject), itemsSubject)
  47. }
  48. return
  49. }
  50. // GetActivityIndustryRelationList 获取活动与产业关联列表
  51. func GetActivityIndustryRelationList(condition string, pars []interface{}) (list []*CygxIndustrialActivityGroupManagement, err error) {
  52. sql := `SELECT
  53. a.activity_id,
  54. b.industrial_management_id
  55. FROM
  56. cygx_activity AS a
  57. JOIN cygx_industrial_activity_group_management AS b ON a.activity_id = b.activity_id
  58. WHERE
  59. 1 = 1 AND b.source = 1 `
  60. if condition != `` {
  61. sql += condition
  62. }
  63. _, err = orm.NewOrm().Raw(sql, pars).QueryRows(&list)
  64. return
  65. }
  66. // 获取数量
  67. func GetCygxIndustrialActivityGroupManagementCount(condition string, pars []interface{}) (count int, err error) {
  68. sqlCount := ` SELECT COUNT(1) AS count FROM cygx_industrial_activity_group_management as art WHERE 1= 1 `
  69. if condition != "" {
  70. sqlCount += condition
  71. }
  72. o := orm.NewOrm()
  73. err = o.Raw(sqlCount, pars).QueryRow(&count)
  74. return
  75. }
  76. // CygxIndustrialActivityGroupManagement 获取活动与产业关联列表
  77. func GetCygxIndustrialActivityGroupManagementList(condition string, pars []interface{}) (list []*CygxIndustrialActivityGroupManagement, err error) {
  78. sql := `SELECT
  79. *
  80. FROM
  81. cygx_industrial_activity_group_management
  82. WHERE
  83. 1 = 1 `
  84. if condition != `` {
  85. sql += condition
  86. }
  87. _, err = orm.NewOrm().Raw(sql, pars).QueryRows(&list)
  88. return
  89. }
  90. // 列表
  91. func GetIndustrialActivityGroupManagementListByArticleId(activityId int) (items []*IndustrialActivityGroupManagementRep, err error) {
  92. o := orm.NewOrm()
  93. sql := `SELECT
  94. m.industry_name
  95. FROM
  96. cygx_industrial_management AS m
  97. INNER JOIN cygx_industrial_activity_group_management AS am ON m.industrial_management_id = am.industrial_management_id
  98. WHERE
  99. am.activity_id = ? AND m.source = 1 `
  100. _, err = o.Raw(sql, activityId).QueryRows(&items)
  101. return
  102. }
  103. // 列表
  104. func GetIndustrialActivityGroupManagementListByArticleIds(activityId []int) (items []*IndustrialActivityGroupManagementRep, err error) {
  105. o := orm.NewOrm()
  106. sql := `SELECT
  107. m.industry_name,
  108. am.activity_id
  109. FROM cygx_industrial_activity_group_management AS am
  110. INNER JOIN cygx_industrial_management AS m ON m.industrial_management_id = am.industrial_management_id
  111. WHERE
  112. am.activity_id IN (` + utils.GetOrmInReplace(len(activityId)) + `) AND m.source = 1 `
  113. _, err = o.Raw(sql, activityId).QueryRows(&items)
  114. return
  115. }