bi_dashboard.go 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package bi_dashboard
  2. import (
  3. "eta_gn/eta_api/global"
  4. "time"
  5. )
  6. type BiDashboard struct {
  7. BiDashboardId int `gorm:"primaryKey;autoIncrement;column:bi_dashboard_id"` // bi看板id
  8. BiDashboardClassifyId int `gorm:"column:bi_dashboard_classify_id" ` // 看板分类id
  9. BiDashboardName string `gorm:"column:bi_dashboard_name;size:255"` // 看板名称
  10. SysAdminId int `gorm:"column:sys_admin_id" ` // 创建人ID
  11. SysAdminName string `gorm:"column:sys_admin_name;size:128" ` // 创建人姓名
  12. Sort int `gorm:"column:sort" ` // 排序字段
  13. CreateTime time.Time `gorm:"column:create_time" ` // 创建时间
  14. ModifyTime time.Time `gorm:"column:modify_time"` // 更新时间
  15. State int `gorm:"column:state"` // 状态 1:未公开; 4-待审批;5-已驳回;6-已通过
  16. }
  17. // tableName
  18. func (m *BiDashboard) TableName() string {
  19. return "bi_dashboard"
  20. }
  21. func (m *BiDashboard) Update(cols []string) (err error) {
  22. err = global.DEFAULT_DmSQL.Model(m).Select(cols).Updates(m).Error
  23. return
  24. }
  25. // AddBiDashboard 新增看板
  26. func AddBiDashboard(item *BiDashboard) (lastId int64, err error) {
  27. err = global.DEFAULT_DmSQL.Create(item).Error
  28. lastId = int64(item.BiDashboardId)
  29. return
  30. }
  31. // GetShareDashboard 获取公开分享的看板
  32. func GetShareDashboard() (items []*BiDashboard, err error) {
  33. //o := orm.NewOrmUsingDB("rddp")
  34. sql := `SELECT * FROM bi_dashboard WHERE 1=1 AND state = 6 `
  35. sql += `ORDER BY create_time DESC`
  36. //sql += `ORDER BY create_time DESC LIMIT ?,?`
  37. //_, err = o.Raw(sql).QueryRows(&items)
  38. err = global.DEFAULT_DmSQL.Raw(sql).Find(&items).Error
  39. return
  40. }
  41. func GetBiDashboardList(condition string, pars []interface{}) (items []*BiDashboard, err error) {
  42. sql := `SELECT * FROM bi_dashboard WHERE 1=1 `
  43. if condition != "" {
  44. sql += condition
  45. }
  46. //
  47. sql += `ORDER BY modify_time DESC `
  48. //sql += `ORDER BY create_time DESC LIMIT ?,?`
  49. //_, err = o.Raw(sql, pars...).QueryRows(&items)
  50. err = global.DEFAULT_DmSQL.Raw(sql, pars...).Find(&items).Error
  51. return
  52. }
  53. // GetDashboardById 获取看板
  54. func GetDashboardById(id int) (item *BiDashboard, err error) {
  55. //o := orm.NewOrmUsingDB("rddp")
  56. sql := `SELECT * FROM bi_dashboard WHERE bi_dashboard_id = ? limit 1`
  57. //sql += `ORDER BY create_time DESC LIMIT ?,?`
  58. //_, err = o.Raw(sql).QueryRows(&items)
  59. err = global.DEFAULT_DmSQL.Raw(sql, id).First(&item).Error
  60. return
  61. }
  62. // del
  63. func DelDashboard(id int) (err error) {
  64. return global.DEFAULT_DmSQL.Delete(&BiDashboard{BiDashboardId: id}).Error
  65. }
  66. // BiDashboardEditingCache PPT编辑缓存信息
  67. type BiDashboardEditingCache struct {
  68. IsEditing bool `description:"是否有人编辑"`
  69. AdminId int `description:"编辑者ID"`
  70. Editor string `description:"编辑者姓名"`
  71. Tips string `description:"提示信息"`
  72. }
  73. // DashboardDetailResp 详情响应体
  74. type DashboardDetailResp struct {
  75. *BiDashboard
  76. IsGrant int `description:"是否共享,0:不是,1:是"`
  77. Editor BiDashboardEditingCache `description:"编辑人信息"`
  78. List []*BiDashboardDetail
  79. }
  80. type AddDashboardReq struct {
  81. List []*AddDashboardListReq
  82. BiDashboardName string `description:"看板名称"`
  83. }
  84. type AddDashboardListReq struct {
  85. Type int
  86. UniqueCode string
  87. Sort int
  88. }
  89. type EditDashboardReq struct {
  90. List []*AddDashboardListReq
  91. BiDashboardId int `description:"看板id"`
  92. BiDashboardName string `description:"看板名称"`
  93. }
  94. // update
  95. func EditDashboard(item *BiDashboard) (err error) {
  96. return global.DEFAULT_DmSQL.Model(item).Updates(item).Error
  97. }
  98. type DelDashboardReq struct {
  99. BiDashboardId int `description:"看板id"`
  100. }
  101. func GetDashboradByIds(dashboradIds []int) (list []*BiDashboard, err error) {
  102. //_, err = orm.NewOrmUsingDB("rddp").
  103. // QueryTable("ppt_v2").
  104. // Filter("ppt_id__in", pptIds).
  105. // All(&list)
  106. err = global.DEFAULT_DmSQL.Table("bi_dashboard").Where("bi_dashboard_id IN ?", dashboradIds).Find(&list).Error
  107. return
  108. }
  109. // GetAllGrantList 获取已经有权限的看板列表
  110. func GetAllGrantList(sysUserId int) (list []*BiDashboard, err error) {
  111. sql := `SELECT a.* FROM bi_dashboard a JOIN bi_dashboard_grant b on a.bi_dashboard_id=b.bi_dashboard_id
  112. WHERE b.grant_admin_id=?`
  113. err = global.DEFAULT_DmSQL.Raw(sql, sysUserId, sysUserId).Find(&list).Error
  114. return
  115. }
  116. func SaveDashboard(item *BiDashboard) (err error) {
  117. return global.DEFAULT_DmSQL.Save(item).Error
  118. }
  119. // BiDashboardEditingReq 标记编辑中请求体
  120. type BiDashboardEditingReq struct {
  121. BiDashboardId int `description:"看板主键ID"`
  122. Status int `description:"标记状态: 1-编辑中; 2-编辑完成"`
  123. }