Răsfoiți Sursa

fix:修改英文名称

Roc 1 an în urmă
părinte
comite
54eb1de57a

+ 26 - 18
controllers/data_manage/cross_variety/chart_info.go

@@ -5,6 +5,7 @@ import (
 	"eta/eta_api/controllers"
 	"eta/eta_api/models"
 	"eta/eta_api/models/data_manage"
+	cross_varietyModels "eta/eta_api/models/data_manage/cross_variety"
 	"eta/eta_api/models/data_manage/cross_variety/request"
 	"eta/eta_api/models/data_manage/cross_variety/response"
 	"eta/eta_api/models/system"
@@ -991,24 +992,24 @@ func (c *ChartInfoController) EnInfoEdit() {
 	}
 
 	// 校验名称是否有重复
-	{
-		var condition string
-		var pars []interface{}
-		condition += " AND chart_info_id <> ?  AND chart_name_en = ? AND source = ?"
-		pars = append(pars, req.ChartInfoId, req.ChartNameEn, utils.CHART_SOURCE_CROSS_HEDGING)
-		existItem, err := data_manage.GetChartInfoByCondition(condition, pars)
-		if err != nil {
-			if err.Error() != utils.ErrNoRow() {
-				br.Msg = "判断英文图表名称是否存在失败"
-				br.ErrMsg = "判断英文图表名称是否存在失败,Err:" + err.Error()
-				return
-			}
-		}
-		if err == nil && existItem.ChartInfoId > 0 {
-			br.Msg = existItem.ChartName + ":" + req.ChartNameEn + "图表名称已存在"
-			return
-		}
-	}
+	//{
+	//	var condition string
+	//	var pars []interface{}
+	//	condition += " AND chart_info_id <> ?  AND chart_name_en = ? AND source = ?"
+	//	pars = append(pars, req.ChartInfoId, req.ChartNameEn, utils.CHART_SOURCE_CROSS_HEDGING)
+	//	existItem, err := data_manage.GetChartInfoByCondition(condition, pars)
+	//	if err != nil {
+	//		if err.Error() != utils.ErrNoRow() {
+	//			br.Msg = "判断英文图表名称是否存在失败"
+	//			br.ErrMsg = "判断英文图表名称是否存在失败,Err:" + err.Error()
+	//			return
+	//		}
+	//	}
+	//	if err == nil && existItem.ChartInfoId > 0 {
+	//		br.Msg = existItem.ChartName + ":" + req.ChartNameEn + "图表名称已存在"
+	//		return
+	//	}
+	//}
 
 	chartItem.ChartNameEn = req.ChartNameEn
 	chartItem.ModifyTime = time.Now().Local()
@@ -1018,6 +1019,13 @@ func (c *ChartInfoController) EnInfoEdit() {
 		return
 	}
 
+	err = cross_varietyModels.EditChartEn(chartItem, req)
+	if err != nil {
+		br.Msg = "修改失败"
+		br.ErrMsg = "更新图表英文信息失败, Err: " + err.Error()
+		return
+	}
+
 	//添加es数据
 	go data.EsAddOrEditChartInfo(chartItem.ChartInfoId)
 	//修改my eta es数据

+ 52 - 0
models/data_manage/cross_variety/chart_info_cross_variety.go

@@ -2,6 +2,7 @@ package cross_variety
 
 import (
 	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/cross_variety/request"
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
 	"strings"
@@ -193,3 +194,54 @@ func EditChart(chartInfo *data_manage.ChartInfo, chartVarietyMappingList []*Char
 
 	return
 }
+
+// EditChartEn
+// @Description: 修改英文名称
+// @author: Roc
+// @datetime 2023-11-28 21:17:27
+// @param chartInfo *data_manage.ChartInfo
+// @param req request.EditChartEnInfoReq
+// @return err error
+func EditChartEn(chartInfo *data_manage.ChartInfo, req request.EditChartEnInfoReq) (err error) {
+	o := orm.NewOrmUsingDB("data")
+	to, err := o.Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err != nil {
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
+		}
+	}()
+
+	// 更新图表信息
+	chartInfo.ChartNameEn = req.ChartNameEn
+	chartInfo.ModifyTime = time.Now().Local()
+	_, err = to.Update(chartInfo, "ChartNameEn", "ModifyTime")
+	if err != nil {
+		fmt.Println("UPDATE  chart_info Err:", err.Error())
+		return err
+	}
+
+	// 更新标签英文名
+	for _, v := range req.TagList {
+		sql := `UPDATE chart_tag SET chart_tag_name_en = ?,modify_time= NOW() WHERE chart_tag_id = ? `
+		_, err = o.Raw(sql, v.TagNameEn, v.ChartTagId).Exec()
+		if err != nil {
+			return
+		}
+	}
+
+	// 更新品种英文名
+	for _, v := range req.VarietyList {
+		sql := `UPDATE chart_variety SET chart_variety_name_en = ?,modify_time= NOW() WHERE chart_variety_id = ? `
+		_, err = o.Raw(sql, v.VarietyNameEn, v.ChartVarietyId).Exec()
+		if err != nil {
+			return
+		}
+	}
+
+	return
+}

+ 18 - 2
models/data_manage/cross_variety/request/chart.go

@@ -59,6 +59,22 @@ type CopyAddChartInfoReq struct {
 // EditChartEnInfoReq
 // @Description: 编辑图表英文信息
 type EditChartEnInfoReq struct {
-	ChartInfoId int    `description:"图表ID"`
-	ChartNameEn string `description:"英文图表名称"`
+	ChartInfoId int                `description:"图表ID"`
+	ChartNameEn string             `description:"英文图表名称"`
+	TagList     []TagNameEnReq     `description:"标签名称"`
+	VarietyList []VarietyNameEnReq `description:"标签名称"`
+}
+
+// TagNameEnReq
+// @Description: 标签英文名称修改
+type TagNameEnReq struct {
+	ChartTagId int    `json:"ChartTagId"`
+	TagNameEn  string `json:"TagNameEn"`
+}
+
+// VarietyNameEnReq
+// @Description: 品种英文名称修改
+type VarietyNameEnReq struct {
+	ChartVarietyId int    `json:"ChartVarietyId"`
+	VarietyNameEn  string `json:"VarietyNameEn"`
 }

+ 62 - 36
services/data/cross_variety/chart.go

@@ -342,7 +342,7 @@ func GetChartData(chartInfoId int, config request.ChartConfigReq) (edbList []*da
 
 		dataList = append(dataList, SectionScatterSeriesItemResp{
 			Name:                variety.ChartVarietyName,
-			NameEn:              "",
+			NameEn:              variety.ChartVarietyNameEn,
 			Color:               "",
 			CoordinatePointData: coordinatePointList,
 		})
@@ -372,6 +372,32 @@ func GetChartData(chartInfoId int, config request.ChartConfigReq) (edbList []*da
 	return
 }
 
+// CheckIsEnChart
+// @Description: 检测是否展示英文名称
+// @author: Roc
+// @datetime 2023-11-28 20:54:41
+// @param chartNameEn string
+// @param dataResp ChartInfoResp
+// @return bool
+func CheckIsEnChart(chartNameEn string, dataResp ChartInfoResp) bool {
+	if chartNameEn == "" {
+		return false
+	}
+
+	if dataResp.XNameEn == `` {
+		return false
+	}
+	if dataResp.YNameEn == `` {
+		return false
+	}
+	for _, v := range dataResp.DataList {
+		if v.NameEn == `` {
+			return false
+		}
+	}
+	return true
+}
+
 // GetXYEdbIdList
 // @Description: 根据标签id和品种获取指标列表信息
 // @author: Roc
@@ -530,23 +556,23 @@ func AddChartInfo(req request.AddChartReq, sysUser *system.Admin) (chartInfo *da
 
 	var chartInfoId int
 	// 判断图表是否存在
-	var condition string
-	var pars []interface{}
-	condition += " AND chart_name=? AND source = ? "
-	pars = append(pars, req.ChartName, source)
-	count, err := data_manage.GetChartInfoCountByCondition(condition, pars)
-	if err != nil {
-		errMsg = "判断图表名称是否存在失败"
-		err = errors.New("判断图表名称是否存在失败,Err:" + err.Error())
-		return
-	}
-
-	if count > 0 {
-		errMsg = "图表已存在,请重新填写"
-		err = errors.New(errMsg)
-		isSendEmail = false
-		return
-	}
+	//var condition string
+	//var pars []interface{}
+	//condition += " AND chart_name=? AND source = ? "
+	//pars = append(pars, req.ChartName, source)
+	//count, err := data_manage.GetChartInfoCountByCondition(condition, pars)
+	//if err != nil {
+	//	errMsg = "判断图表名称是否存在失败"
+	//	err = errors.New("判断图表名称是否存在失败,Err:" + err.Error())
+	//	return
+	//}
+
+	//if count > 0 {
+	//	errMsg = "图表已存在,请重新填写"
+	//	err = errors.New(errMsg)
+	//	isSendEmail = false
+	//	return
+	//}
 
 	chartInfo = new(data_manage.ChartInfo)
 	chartInfo.ChartName = req.ChartName
@@ -713,24 +739,24 @@ func EditChartInfo(req request.EditChartReq, sysUser *system.Admin) (chartItem *
 	}
 
 	//判断图表是否存在
-	var condition string
-	var pars []interface{}
-	condition += " AND chart_info_id <> ? "
-	pars = append(pars, req.ChartInfoId)
-	condition += " AND chart_name=? AND source = ? "
-	pars = append(pars, req.ChartName, chartItem.Source)
-	count, err := data_manage.GetChartInfoCountByCondition(condition, pars)
-	if err != nil {
-		errMsg = "判断图表名称是否存在失败"
-		err = errors.New("判断图表名称是否存在失败,Err:" + err.Error())
-		return
-	}
-	if count > 0 {
-		errMsg = "图表已存在,请重新填写"
-		err = errors.New(errMsg)
-		isSendEmail = false
-		return
-	}
+	//var condition string
+	//var pars []interface{}
+	//condition += " AND chart_info_id <> ? "
+	//pars = append(pars, req.ChartInfoId)
+	//condition += " AND chart_name=? AND source = ? "
+	//pars = append(pars, req.ChartName, chartItem.Source)
+	//count, err := data_manage.GetChartInfoCountByCondition(condition, pars)
+	//if err != nil {
+	//	errMsg = "判断图表名称是否存在失败"
+	//	err = errors.New("判断图表名称是否存在失败,Err:" + err.Error())
+	//	return
+	//}
+	//if count > 0 {
+	//	errMsg = "图表已存在,请重新填写"
+	//	err = errors.New(errMsg)
+	//	isSendEmail = false
+	//	return
+	//}
 
 	chartItem.ChartName = req.ChartName
 	chartItem.ExtraConfig = string(extraConfigByte)

+ 64 - 0
services/data/edb_classify.go

@@ -430,6 +430,23 @@ func DeleteCheck(classifyId, edbInfoId int, sysUser *system.Admin) (deleteStatus
 
 	//删除指标
 	if edbInfoId > 0 {
+		edbInfo, tmpErr := data_manage.GetEdbInfoById(edbInfoId)
+		if tmpErr != nil {
+			if tmpErr.Error() == utils.ErrNoRow() {
+				errMsg = "指标已删除,请刷新页面"
+				err = errors.New("指标不存在,Err:" + tmpErr.Error())
+				return
+			} else {
+				errMsg = "删除失败"
+				err = errors.New("删除失败,获取指标信息失败,Err:" + tmpErr.Error())
+				return
+			}
+		}
+		if edbInfo == nil {
+			errMsg = "指标已删除,请刷新页面"
+			return
+		}
+
 		//判断指标是否用于作图,如果用于作图,则不可删除
 		chartCount, tmpErr := data_manage.GetChartEdbMappingCount(edbInfoId)
 		if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
@@ -440,6 +457,7 @@ func DeleteCheck(classifyId, edbInfoId int, sysUser *system.Admin) (deleteStatus
 		if chartCount > 0 {
 			deleteStatus = 3
 			tipsMsg = "当前指标已用作画图,不可删除"
+			return
 		}
 		//判断指标是否用于计算
 		{
@@ -452,6 +470,52 @@ func DeleteCheck(classifyId, edbInfoId int, sysUser *system.Admin) (deleteStatus
 			if calculateCount > 0 {
 				deleteStatus = 4
 				tipsMsg = "当前指标已用作,指标运算,不可删除"
+				return
+			}
+		}
+
+		//如果是普通指标,那么还需要判断是否被预测指标作为源指标
+		if edbInfo.EdbInfoType == 0 {
+			predictEdbInfoCount, tmpErr := data_manage.GetPredictEdbConfCount(edbInfoId)
+			if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
+				errMsg = "删除失败"
+				err = errors.New("判断指标是否被用于预测指标失败,Err:" + tmpErr.Error())
+				return
+			}
+			if predictEdbInfoCount > 0 {
+				deleteStatus = 3
+				tipsMsg = "当前指标已用作预测指标,不可删除"
+				return
+			}
+		}
+
+		// 判断指标是否用作表格引用
+		{
+			calculateCount, tmpErr := excel.GetNoCustomAnalysisExcelEdbMappingCount(edbInfoId)
+			if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
+				errMsg = "删除失败"
+				err = errors.New("判断指标是否用作表格引用,GetNoCustomAnalysisExcelEdbMappingCount Err:" + tmpErr.Error())
+				return
+			}
+			if calculateCount > 0 {
+				deleteStatus = 3
+				tipsMsg = "当前指标已添加到表格,不可删除"
+				return
+			}
+		}
+
+		// 判断指标是否用作跨品种图表使用
+		{
+			calculateCount, tmpErr := cross_variety.GetCountByEdbInfoId(edbInfoId)
+			if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
+				errMsg = "删除失败"
+				err = errors.New("判断指标是否用作跨品种图表使用,GetCountByEdbInfoId Err:" + tmpErr.Error())
+				return
+			}
+			if calculateCount > 0 {
+				deleteStatus = 3
+				tipsMsg = "当前指标已添加到跨品种分析,不可删除"
+				return
 			}
 		}
 	}