Selaa lähdekoodia

Merge remote-tracking branch 'origin/eta/2.0.0' into debug

# Conflicts:
#	controllers/target.go
#	models/target.go
Roc 9 kuukautta sitten
vanhempi
commit
122e8e7a80
4 muutettua tiedostoa jossa 69 lisäystä ja 71 poistoa
  1. 14 50
      controllers/data_manage/manual_edb.go
  2. 6 2
      controllers/target.go
  3. 19 19
      models/target.go
  4. 30 0
      services/data/manual.go

+ 14 - 50
controllers/data_manage/manual_edb.go

@@ -236,19 +236,14 @@ func (c *ManualEdbController) EdbSearch() {
 	userId := sysUser.AdminId
 	//超管账号可以查看分类下的所有频度数据
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
-		classifyList, err := models.GetEdbdataClassify(int64(userId))
+		classifyIdList, err := data.GetUserManualClassifyIdList(userId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-
-		num := len(classifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range classifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		}
@@ -296,7 +291,6 @@ func (c *ManualEdbController) EdbSearch() {
 // @Param   TradeCode   query   string  false       "指标唯一编码"
 // @Param   ClassifyId   query   int  false       "分类id"
 // @Param   UserId   query   int  false       "用户id"
-// @Param   EdbShowType   query   string  true       "指标展示类型:0,1,2; 0:不管有没有数据,指标都展示出来, 1:只展示有数据的指标, 2:只展示没有数据的指标"
 // @Success 200 {object} models.TargetItemListResp
 // @router /target/edb/list [get]
 func (c *ManualEdbController) EdbList() {
@@ -338,19 +332,14 @@ func (c *ManualEdbController) EdbList() {
 
 	//超管账号可以查看分类下的所有频度数据
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
-		classifyList, err := models.GetEdbdataClassify(int64(sysUser.AdminId))
+		classifyIdList, err := data.GetUserManualClassifyIdList(userId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-
-		num := len(classifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range classifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		}
@@ -369,18 +358,14 @@ func (c *ManualEdbController) EdbList() {
 
 	// 所属分类
 	if classifyId > 0 {
-		childClassifyList, err := models.GetEdbdataClassifyByParentId(classifyId)
+		classifyIdList, err := data.GetUserManualClassifyIdList(userId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-		num := len(childClassifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range childClassifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		} else {
@@ -700,19 +685,14 @@ func (c *ManualEdbController) BatchEdbList() {
 
 	//超管账号可以查看分类下的所有频度数据
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
-		classifyList, err := models.GetEdbdataClassify(int64(sysUser.AdminId))
+		classifyIdList, err := data.GetUserManualClassifyIdList(sysUser.AdminId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-
-		num := len(classifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range classifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		}
@@ -810,19 +790,14 @@ func (c *ManualEdbController) BatchAddEdbCheck() {
 
 	//超管账号可以查看分类下的所有频度数据
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
-		classifyList, err := models.GetEdbdataClassify(int64(sysUser.AdminId))
+		classifyIdList, err := data.GetUserManualClassifyIdList(sysUser.AdminId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-
-		num := len(classifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range classifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		}
@@ -1162,19 +1137,14 @@ func (c *ManualEdbController) BatchDelEdbCheck() {
 
 	//超管账号可以查看分类下的所有频度数据
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
-		classifyList, err := models.GetEdbdataClassify(int64(sysUser.AdminId))
+		classifyIdList, err := data.GetUserManualClassifyIdList(sysUser.AdminId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-
-		num := len(classifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range classifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		}
@@ -1292,23 +1262,17 @@ func (c *ManualEdbController) BatchDel() {
 
 	//超管账号可以查看分类下的所有频度数据
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
-		classifyList, err := models.GetEdbdataClassify(int64(sysUser.AdminId))
+		classifyIdList, err := data.GetUserManualClassifyIdList(sysUser.AdminId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-
-		num := len(classifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range classifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		}
-
 	}
 
 	if req.ListAll {

+ 6 - 2
controllers/target.go

@@ -27,7 +27,6 @@ import (
 	"time"
 
 	"github.com/rdlucklib/rdluck_tools/paging"
-	//"github.com/shopspring/decimal"
 	"github.com/tealeg/xlsx"
 )
 
@@ -3612,8 +3611,13 @@ func (this *TargetController) ExcelDataAdd() {
 		return
 	}
 
+	userId := sysUser.AdminId
+	//超管账号可以查看分类下的所有频度数据
+	if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
+		userId = 0
+	}
 	//获取账户所拥有权限的分类id集合
-	classifyIdStrList, err := data.GetEdbClassifyListByAdminId(int64(sysUser.AdminId))
+	classifyIdStrList, err := data.GetEdbClassifyListByAdminId(int64(userId))
 	if err != nil {
 		br.Msg = "获取分类数据失败"
 		return

+ 19 - 19
models/target.go

@@ -181,24 +181,24 @@ func DeleteAllEdbDataByTradeCodeList(tradeCodeList []string) (err error) {
 }
 
 type Edbinfo struct {
-	TradeCode    string  `orm:"column(TRADE_CODE);pk" description:"指标code"`
-	SecName      string  `orm:"column(SEC_NAME);" description:"指标名称"`
-	Unit         string  `orm:"column(UNIT);" description:"单位"`
-	Remark       string  `orm:"column(REMARK);" description:"备注"`
-	Frequency    string  `orm:"column(frequency)" description:"频度"`
-	ClassifyId   int     `orm:"column(classify_id)" description:"分类id"`
-	ClassifyName string  `orm:"-" description:"分类名称"`
-	CreateDate   string  `orm:"column(create_date)" description:"创建时间"`
-	UserId       int     `orm:"column(user_id)" description:"录入用户id"`
-	UserName     string  `orm:"column(user_name)" description:"录入用户名称"`
-	NoticeTime   string  `orm:"column(notice_time)" description:"通知时间"`
-	Mobile       string  `orm:"column(mobile)" description:"录入者手机号"`
-	Sort         int     `orm:"column(sort)" description:"排序"`
-	ModifyTime   string  `description:"最近一次更新时间"`
-	IsJoinEdb    int8    `description:"指标库是否已添加:0-否;1-是"`
-	StartDate    string  `description:"数据开始日期"`
-	EndDate      string  `description:"数据结束日期"`
-	LatestValue  float64 `description:"指标最新值"`
+	TradeCode    string `orm:"column(TRADE_CODE);pk" description:"指标code"`
+	SecName      string `orm:"column(SEC_NAME);" description:"指标名称"`
+	Unit         string `orm:"column(UNIT);" description:"单位"`
+	Remark       string `orm:"column(REMARK);" description:"备注"`
+	Frequency    string `orm:"column(frequency)" description:"频度"`
+	ClassifyId   int    `orm:"column(classify_id)" description:"分类id"`
+	ClassifyName string `orm:"-" description:"分类名称"`
+	CreateDate   string `orm:"column(create_date)" description:"创建时间"`
+	UserId       int    `orm:"column(user_id)" description:"录入用户id"`
+	UserName     string `orm:"column(user_name)" description:"录入用户名称"`
+	NoticeTime   string `orm:"column(notice_time)" description:"通知时间"`
+	Mobile       string `orm:"column(mobile)" description:"录入者手机号"`
+	Sort         int    `orm:"column(sort)" description:"排序"`
+	ModifyTime  string  `description:"最近一次更新时间"`
+	IsJoinEdb   int8    `description:"指标库是否已添加:0-否;1-是"`
+	StartDate   string  `description:"数据开始日期"`
+	EndDate     string  `description:"数据结束日期"`
+	LatestValue float64 `description:"指标最新值"`
 }
 
 func DeleteEdbinfoByTraceCodeList(tradeCodeList []string) (err error) {
@@ -1339,7 +1339,7 @@ type EdbInfoItem struct {
 	ModifyDate   string     `description:"待更新日期"`
 	ModifyTime   string     `description:"最近一次更新时间"`
 	Status       string     `description:"状态:未完成/完成"`
-	Sort         int        `orm:"column(sort)" description:"排序"`
+	Sort         int        `description:"排序"`
 	IsJoinEdb    int8       `description:"指标库是否已添加:0-否;1-是"`
 	StartDate    string     `description:"数据开始日期"`
 	EndDate      string     `description:"数据结束日期"`

+ 30 - 0
services/data/manual.go

@@ -1053,3 +1053,33 @@ func ModifyManualEdbMaxMinDate(tradeCode string) {
 
 	return
 }
+
+// GetUserManualClassifyIdList
+// @Description: 获取用户手动录入的分类id列表
+// @author: Roc
+// @datetime 2024-08-02 15:09:11
+// @param userId int
+// @return classifyIdList []int
+// @return err error
+func GetUserManualClassifyIdList(userId int) (classifyIdList []int, err error) {
+	classifyIdList = make([]int, 0)
+
+	// 获取有用权限的分类
+	classifyList, err := models.GetEdbdataClassify(int64(userId))
+	if err != nil {
+		return
+	}
+
+	if len(classifyList) > 0 {
+		for _, v := range classifyList {
+			classifyIdList = append(classifyIdList, v.ClassifyId)
+			if v.Child != nil && len(v.Child) > 0 {
+				for _, v2 := range v.Child {
+					classifyIdList = append(classifyIdList, v2.ClassifyId)
+				}
+			}
+		}
+	}
+
+	return
+}