package bi_dashboard import ( "github.com/beego/beego/v2/client/orm" "time" ) type BiDashboard struct { BiDashboardId int `orm:"column(bi_dashboard_id);pk"` // bi看板id BiDashboardClassifyId int `gorm:"column:bi_dashboard_classify_id" ` // 看板分类id BiDashboardName string `gorm:"column:bi_dashboard_name;size:255"` // 看板名称 SysAdminId int `gorm:"column:sys_admin_id" ` // 创建人ID SysAdminName string `gorm:"column:sys_admin_name;size:128" ` // 创建人姓名 Sort int `gorm:"column:sort" ` // 排序字段 CreateTime time.Time `gorm:"column:create_time" ` // 创建时间 ModifyTime time.Time `gorm:"column:modify_time"` // 更新时间 State int `gorm:"column:state"` // 状态 1:未公开; 4-待审批;5-已驳回;6-已通过 } // tableName func (m *BiDashboard) TableName() string { return "bi_dashboard" } func (m *BiDashboard) Update(cols []string) (err error) { o := orm.NewOrm() _, err = o.Update(m, cols...) return } // AddBiDashboard 新增看板 func AddBiDashboard(item *BiDashboard) (lastId int64, err error) { o := orm.NewOrm() lastId, err = o.Insert(item) return } // GetShareDashboard 获取公开分享的看板 func GetShareDashboard() (items []*BiDashboard, err error) { //o := orm.NewOrmUsingDB("rddp") sql := `SELECT * FROM bi_dashboard WHERE 1=1 AND state = 6 ` sql += `ORDER BY create_time DESC` //sql += `ORDER BY create_time DESC LIMIT ?,?` //_, err = o.Raw(sql).QueryRows(&items) //err = global.DEFAULT_DmSQL.Raw(sql).Find(&items).Error return } func GetBiDashboardList(condition string, pars []interface{}) (items []*BiDashboard, err error) { o := orm.NewOrm() sql := `SELECT * FROM bi_dashboard WHERE 1=1 ` if condition != "" { sql += condition } // sql += `ORDER BY modify_time DESC ` //sql += `ORDER BY create_time DESC LIMIT ?,?` _, err = o.Raw(sql, pars...).QueryRows(&items) return } // GetDashboardById 获取看板 func GetDashboardById(id int) (item *BiDashboard, err error) { o := orm.NewOrm() sql := `SELECT * FROM bi_dashboard WHERE bi_dashboard_id = ? limit 1` //sql += `ORDER BY create_time DESC LIMIT ?,?` err = o.Raw(sql, id).QueryRow(&item) return } // del func DelDashboard(id int) (err error) { o := orm.NewOrm() sql := `DELETE FROM bi_dashboard WHERE bi_dashboard_id = ?` _, err = o.Raw(sql, id).Exec() return } // BiDashboardEditingCache PPT编辑缓存信息 type BiDashboardEditingCache struct { IsEditing bool `description:"是否有人编辑"` AdminId int `description:"编辑者ID"` Editor string `description:"编辑者姓名"` Tips string `description:"提示信息"` } // DashboardDetailResp 详情响应体 type DashboardDetailResp struct { *BiDashboard IsGrant int `description:"是否共享,0:不是,1:是"` Editor BiDashboardEditingCache `description:"编辑人信息"` List []*BiDashboardDetail } type AddDashboardReq struct { List []*AddDashboardListReq BiDashboardName string `description:"看板名称"` } type AddDashboardListReq struct { Type int UniqueCode string Sort int } type EditDashboardReq struct { List []*AddDashboardListReq BiDashboardId int `description:"看板id"` BiDashboardName string `description:"看板名称"` } // update func EditDashboard(item *BiDashboard) (err error) { o := orm.NewOrm() sql := `UPDATE bi_dashboard SET bi_dashboard_name=?,modify_time=?,state=? WHERE bi_dashboard_id=?` _, err = o.Raw(sql, item.BiDashboardName, time.Now(), item.State, item.BiDashboardId).Exec() return } type DelDashboardReq struct { BiDashboardId int `description:"看板id"` } func GetDashboradByIds(dashboradIds []int) (list []*BiDashboard, err error) { //err = global.DEFAULT_DmSQL.Table("bi_dashboard").Where("bi_dashboard_id IN ?", dashboradIds).Find(&list).Error return } // GetAllGrantList 获取已经有权限的看板列表 func GetAllGrantList(sysUserId int) (list []*BiDashboard, err error) { sql := `SELECT a.* FROM bi_dashboard a JOIN bi_dashboard_grant b on a.bi_dashboard_id=b.bi_dashboard_id WHERE b.grant_admin_id=?` o := orm.NewOrm() _, err = o.Raw(sql, sysUserId).QueryRows(&list) return } func SaveDashboard(item *BiDashboard) (err error) { o := orm.NewOrm() _, err = o.Insert(item) return } // BiDashboardEditingReq 标记编辑中请求体 type BiDashboardEditingReq struct { BiDashboardId int `description:"看板主键ID"` Status int `description:"标记状态: 1-编辑中; 2-编辑完成"` } // GetAllMyShareList 获取我共享的看板 func GetAllMyShareList(sysUserId int) (list []*BiDashboard, err error) { sql := `SELECT a.* FROM bi_dashboard a JOIN bi_dashboard_grant b on a.bi_dashboard_id=b.bi_dashboard_id WHERE a.sys_admin_id = ? GROUP BY a.bi_dashboard_id ` o := orm.NewOrm() _, err = o.Raw(sql, sysUserId).QueryRows(&list) return } // getByName func GetDashboardByName(name string, adminId int) (item *BiDashboard, err error) { sql := `SELECT * FROM bi_dashboard WHERE bi_dashboard_name = ? and sys_admin_id =? limit 1` o := orm.NewOrm() err = o.Raw(sql, name, adminId).QueryRow(&item) return }