123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- package data_manage
- import (
- "eta/eta_hub/global"
- "eta/eta_hub/utils"
- "fmt"
- "strings"
- "time"
- )
- // EdbClassify 指标分类
- type EdbClassify struct {
- ClassifyId int `orm:"column(classify_id);pk"`
- ClassifyType uint8 `description:"分类类型,0:普通指标分类,1:预测指标分类"`
- ClassifyName string `description:"分类名称"`
- ParentId int `description:"父级id"`
- RootId int `description:"顶级id"`
- HasData int `description:"是否含有指标数据"`
- SysUserId int `description:"创建人id"`
- SysUserRealName string `description:"创建人姓名"`
- Level int `description:"层级"`
- UniqueCode string `description:"唯一编码"`
- Sort int `description:"排序字段,越小越靠前,默认值:10"`
- CreateTime time.Time `description:"创建时间"`
- ModifyTime time.Time `description:"修改时间"`
- }
- func (m *EdbClassify) GetItemsByCondition(cond string, pars []interface{}, fieldArr []string, orderRule string) (items []*EdbClassify, err error) {
- //o := orm.NewOrmUsingDB("data")
- fields := strings.Join(fieldArr, ",")
- if len(fieldArr) == 0 {
- fields = `*`
- }
- order := `ORDER BY create_time DESC`
- if orderRule != "" {
- order = ` ORDER BY ` + orderRule
- }
- sql := fmt.Sprintf(`SELECT %s FROM edb_classify WHERE 1=1 %s %s`, fields, cond, order)
- err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
- return
- }
- // EdbClassifyItem 指标分类信息
- type EdbClassifyItem struct {
- ClassifyId int `description:"分类ID"`
- ClassifyName string `description:"分类名称"`
- UniqueCode string `description:"分类唯一编码"`
- ParentId int `description:"父级id"`
- Level int `description:"层级"`
- Sort int `description:"排序"`
- CreateTime string `description:"创建时间"`
- UpdateTime string `description:"更新时间"`
- Child []*EdbClassifyItem `description:"子分类"`
- }
- func FormatEdbClassify2Item(origin *EdbClassify) (item *EdbClassifyItem) {
- if origin == nil {
- return
- }
- item = new(EdbClassifyItem)
- item.ClassifyId = origin.ClassifyId
- item.ClassifyName = origin.ClassifyName
- item.UniqueCode = origin.UniqueCode
- item.ParentId = origin.ParentId
- item.Level = origin.Level
- item.Sort = origin.Sort
- item.CreateTime = utils.TimeTransferString(utils.FormatDateTime, origin.CreateTime)
- item.UpdateTime = utils.TimeTransferString(utils.FormatDateTime, origin.ModifyTime)
- item.Child = make([]*EdbClassifyItem, 0)
- return
- }
- type EdbClassifyIdItems struct {
- ClassifyId int `description:"分类id" json:"-"`
- ClassifyName string
- //ClassifyNameEn string
- UniqueCode string `description:"唯一编码"`
- ParentId int `description:"父级分类id" json:"-"`
- Level int `description:"层级"`
- RootId int `description:"顶级分类id" json:"-"`
- //IsJoinPermission int `description:"是否加入权限管控,0:不加入;1:加入;默认:0" json:"-"`
- //HaveOperaAuth bool `description:"是否有该数据权限,默认:false"`
- }
- func GetEdbClassifyById(classifyId int) (item *EdbClassify, err error) {
- o := orm.NewOrmUsingDB("data")
- sql := `SELECT * FROM edb_classify WHERE classify_id=? `
- err = o.Raw(sql, classifyId).QueryRow(&item)
- //err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).First(&item).Error
- return
- }
- type EdbClassifyItems struct {
- ClassifyId int `description:"分类id"`
- EdbInfoId int `description:"指标id"`
- ClassifyName string
- ClassifyNameEn string
- ParentId int
- RootId int `description:"顶级id"`
- Level int `description:"层级"`
- Sort int `description:"排序字段,越小越靠前,默认值:10"`
- UniqueCode string `description:"唯一编码"`
- Source int `description:"来源id"`
- SourceName string `description:"来源名称"`
- SysUserId int `description:"创建人id"`
- SysUserRealName string `description:"创建人姓名"`
- StartDate string
- EdbCode string
- EdbType int `description:"指标类型:1:基础指标,2:计算指标"`
- Children []*EdbClassifyItems `gorm:"-"`
- //Button EdbClassifyItemsButton `description:"操作权限" gorm:"-"`
- IsJoinPermission int `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
- HaveOperaAuth bool `description:"是否有数据权限"`
- SelectDisable bool `description:"是否可以被选中 前端用"`
- }
- func GetEdbClassifyByRootIdLevel(rootId int, classifyType uint8, orderStr string) (items []*EdbClassifyItems, err error) {
- o := orm.NewOrmUsingDB("data")
- sql := ` SELECT * FROM edb_classify WHERE root_id=? AND classify_type = ? `
- if orderStr != "" {
- sql += orderStr
- } else {
- sql += ` order by level desc, sort asc, classify_id asc`
- }
- _, err = o.Raw(sql, rootId, classifyType).QueryRows(&items)
- //err = global.DbMap[utils.DbNameIndex].Raw(sql, rootId, classifyType).Find(&items).Error
- return
- }
|