bi_dashboard.go 5.6 KB

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