Browse Source

fix:调整不同语言版本下,指标/图表分类名称的增加与编辑

Roc 10 months ago
parent
commit
d9bca19fab
3 changed files with 53 additions and 78 deletions
  1. 17 15
      models/data_manage/edb_classify.go
  2. 11 19
      services/data/chart_classify.go
  3. 25 44
      services/data/edb_classify.go

+ 17 - 15
models/data_manage/edb_classify.go

@@ -9,21 +9,23 @@ import (
 )
 
 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:"是否含有指标数据"`
-	CreateTime       time.Time `description:"创建时间"`
-	ModifyTime       time.Time `description:"修改时间"`
-	SysUserId        int       `description:"创建人id"`
-	SysUserRealName  string    `description:"创建人姓名"`
-	Level            int       `description:"层级"`
-	UniqueCode       string    `description:"唯一编码"`
-	Sort             int       `description:"排序字段,越小越靠前,默认值:10"`
-	IsJoinPermission int       `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
-	ClassifyNameEn   string    `description:"英文分类名称"`
+	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:"是否含有指标数据"`
+	CreateTime             time.Time `description:"创建时间"`
+	ModifyTime             time.Time `description:"修改时间"`
+	SysUserId              int       `description:"创建人id"`
+	SysUserRealName        string    `description:"创建人姓名"`
+	Level                  int       `description:"层级"`
+	UniqueCode             string    `description:"唯一编码"`
+	Sort                   int       `description:"排序字段,越小越靠前,默认值:10"`
+	LastModifyUserId       int       `description:"最后修改人ID"`
+	LastModifyUserRealName string    `description:"最后修改人姓名"`
+	IsJoinPermission       int       `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
+	ClassifyNameEn         string    `description:"英文分类名称"`
 }
 
 func AddEdbClassify(item *EdbClassify) (lastId int64, err error) {

+ 11 - 19
services/data/chart_classify.go

@@ -239,26 +239,18 @@ func HandleNoPermissionChart(allNodes []*data_manage.ChartClassifyItems, noPermi
 func AddChartClassify(chartClassifyName string, parentId, level, source int, lang string, sysUser *system.Admin) (classifyInfo *data_manage.ChartClassify, err error, errMsg string, isSendEmail bool) {
 	isSendEmail = true
 	errMsg = "保存分类失败"
-	// 版本校验
-	switch lang {
-	case utils.LangEn:
-		count, tmpErr := data_manage.GetChartClassifyEnCount(chartClassifyName, parentId, source)
-		if tmpErr != nil {
-			errMsg = "判断名称是否已存在失败"
-			err = tmpErr
-			return
-		}
-		if count > 0 {
-			errMsg = "分类名称已存在,请重新输入"
-			err = errors.New(errMsg)
-			isSendEmail = false
-			return
+
+	// 校验分类名称相同的数量
+	{
+		var count int
+		switch lang {
+		case utils.LangEn:
+			count, err = data_manage.GetChartClassifyEnCount(chartClassifyName, parentId, source)
+		default:
+			count, err = data_manage.GetChartClassifyCount(chartClassifyName, parentId, source)
 		}
-	default:
-		count, tmpErr := data_manage.GetChartClassifyCount(chartClassifyName, parentId, source)
-		if tmpErr != nil {
+		if err != nil {
 			errMsg = "判断名称是否已存在失败"
-			err = tmpErr
 			return
 		}
 		if count > 0 {
@@ -345,7 +337,7 @@ func EditChartClassify(chartClassifyId, source int, chartClassifyName, lang stri
 
 			classifyInfo.ChartClassifyNameEn = chartClassifyName
 			classifyInfo.ModifyTime = time.Now()
-			updateCols = append(updateCols, "ChartClassifyName", "ModifyTime")
+			updateCols = append(updateCols, "ChartClassifyNameEn", "ModifyTime")
 		}
 	default:
 		if classifyInfo.ChartClassifyName != chartClassifyName {

+ 25 - 44
services/data/edb_classify.go

@@ -253,23 +253,16 @@ func GetEdbClassifyNameListByAdminId(adminId int64) (classifyNameList []string,
 
 // AddEdbClassify 添加指标分类
 func AddEdbClassify(classifyName string, parentId, level int, classifyType uint8, sysUserId int, sysUserName, lang string) (classifyInfo *data_manage.EdbClassify, err error, errMsg string) {
-	switch lang {
-	case utils.LangEn:
-		count, tmpErr := data_manage.GetEdbClassifyEnCount(classifyName, parentId, classifyType)
-		if tmpErr != nil {
-			err = tmpErr
-			errMsg = `判断名称是否已存在失败`
-			return
-		}
-		if count > 0 {
-			errMsg = `分类名称已存在,请重新输入`
-			err = errors.New(errMsg)
-			return
+	// 校验分类名称相同的数量
+	{
+		var count int
+		switch lang {
+		case utils.LangEn:
+			count, err = data_manage.GetEdbClassifyEnCount(classifyName, parentId, classifyType)
+		default:
+			count, err = data_manage.GetEdbClassifyCount(classifyName, parentId, classifyType)
 		}
-	default:
-		count, tmpErr := data_manage.GetEdbClassifyCount(classifyName, parentId, classifyType)
-		if tmpErr != nil {
-			err = tmpErr
+		if err != nil {
 			errMsg = `判断名称是否已存在失败`
 			return
 		}
@@ -279,6 +272,7 @@ func AddEdbClassify(classifyName string, parentId, level int, classifyType uint8
 			return
 		}
 	}
+
 	if level > 6 {
 		errMsg = `最高只支持添加6级分类`
 		return
@@ -391,6 +385,9 @@ func EditEdbClassify(classifyId int, classifyName, lang string, sysUser *system.
 
 	}
 
+	// 需要变更的字段
+	updateCols := make([]string, 0)
+
 	switch lang {
 	case utils.LangEn:
 		// 名字相同,那么就直接返回
@@ -411,11 +408,10 @@ func EditEdbClassify(classifyId int, classifyName, lang string, sysUser *system.
 			return
 		}
 
-		// 修改数据
-		err = data_manage.EditEdbClassifyEn(classifyId, classifyName, sysUser.AdminId, sysUser.RealName)
-		if err != nil {
-			errMsg = "保存失败"
-		}
+		item.ClassifyNameEn = classifyName
+		item.LastModifyUserId = sysUser.AdminId
+		item.LastModifyUserRealName = sysUser.RealName
+		updateCols = append(updateCols, "ClassifyNameEn", "LastModifyUserId", "LastModifyUserRealName")
 	default:
 		// 名字相同,那么就直接返回
 		if item.ClassifyName == classifyName {
@@ -434,35 +430,20 @@ func EditEdbClassify(classifyId int, classifyName, lang string, sysUser *system.
 			err = errors.New(errMsg)
 			return
 		}
+		item.ClassifyName = classifyName
+		item.LastModifyUserId = sysUser.AdminId
+		item.LastModifyUserRealName = sysUser.RealName
+		updateCols = append(updateCols, "ClassifyName", "LastModifyUserId", "LastModifyUserRealName")
+	}
 
-		// 修改数据
-		err = data_manage.EditEdbClassify(classifyId, classifyName, sysUser.AdminId, sysUser.RealName)
+	// 修改数据
+	if len(updateCols) > 0 {
+		err = item.Update(updateCols)
 		if err != nil {
 			errMsg = "保存失败"
 		}
 	}
 
-	// 名字相同,那么就直接返回
-	if item.ClassifyName == classifyName {
-		return
-	}
-
-	// 判断名称是否已存在
-	count, err := data_manage.GetEdbClassifyCount(classifyName, item.ParentId, item.ClassifyType)
-	if err != nil {
-		errMsg = "判断名称是否已存在失败"
-		return
-	}
-	if count > 0 {
-		errMsg = "分类名称已存在,请重新输入"
-		return
-	}
-
-	// 修改数据
-	err = data_manage.EditEdbClassify(classifyId, classifyName, sysUser.AdminId, sysUser.RealName)
-	if err != nil {
-		errMsg = "保存失败"
-	}
 	return
 }