Bladeren bron

feat:优化计算指标的添加流程

Roc 1 jaar geleden
bovenliggende
commit
58a56657fc
3 gewijzigde bestanden met toevoegingen van 52 en 65 verwijderingen
  1. 31 49
      controllers/base_from_calculate.go
  2. 3 5
      models/common.go
  3. 18 11
      models/edb_data_calculate_ljzzj.go

+ 31 - 49
controllers/base_from_calculate.go

@@ -1024,6 +1024,12 @@ func (this *CalculateController) BatchEdit() {
 
 	var sourName, errMsg string
 	var edbInfoId int
+	var baseEdbInfoModel models.BaseEdbInfoInterface
+	editParams := models.EditCalculateBatchParams{
+		Req:         &req,
+		EdbInfo:     edbInfo,
+		FromEdbInfo: fromEdbInfo,
+	}
 
 	switch req.Source {
 	case utils.DATA_SOURCE_CALCULATE_LJZZY:
@@ -1186,24 +1192,17 @@ func (this *CalculateController) BatchEdit() {
 		}
 		sourName = utils.DATA_SOURCE_NAME_CALCULATE_CORRELATION
 		err, errMsg = models.EditCalculateCorrelation(edbInfo, &req)
-	case utils.DATA_SOURCE_CALCULATE_LJZZJ:
-		sourName = utils.DATA_SOURCE_NAME_CALCULATE_LJZZJ
-		if fromEdbInfo.Frequency != "季度" {
-			br.Msg = "请选择季度指标"
+	default:
+		// 获取通用的数据源处理服务
+		baseEdbInfoModel = models.GetBaseEdbInfoModel(req.Source)
+		// 没有找到的话,那么就直接返回报错吧
+		if baseEdbInfoModel == nil {
+			br.Msg = "无效计算方式"
+			br.ErrMsg = "无效计算方式,source:" + strconv.Itoa(req.Source)
 			return
 		}
-		params := models.EditCalculateBatchParams{
-			Req:         &req,
-			EdbInfo:     edbInfo,
-			FromEdbInfo: fromEdbInfo,
-		}
-		obj := models.Ljzzj{}
-		err = obj.Edit(params)
-	default:
-		br.Msg = "无效计算方式"
-		br.ErrMsg = "无效计算方式,source:" + strconv.Itoa(req.Source)
-		return
-
+		sourName = baseEdbInfoModel.GetSourceName()
+		err, errMsg = baseEdbInfoModel.Edit(editParams)
 	}
 	if err != nil {
 		br.Msg = "生成" + sourName + "失败"
@@ -1317,6 +1316,13 @@ func (this *CalculateController) Refresh() {
 	edbInfoId := edbInfo.EdbInfoId
 	source := edbInfo.Source
 
+	var baseEdbInfoModel models.BaseEdbInfoInterface
+	refreshParams := models.RefreshParams{
+		EdbInfo:   edbInfo,
+		StartDate: "", // 更新所有
+		EndDate:   "", // 更新所有数据
+	}
+
 	switch source {
 	case utils.DATA_SOURCE_CALCULATE:
 		//startDate = edbInfo.StartDate
@@ -1627,36 +1633,17 @@ func (this *CalculateController) Refresh() {
 		}
 	case utils.DATA_SOURCE_CALCULATE_CORRELATION:
 		err, errMsg = models.RefreshAllCalculateCorrelation(edbInfo)
-	case utils.DATA_SOURCE_CALCULATE_LJZZJ:
-		calculateMapping, err := models.GetEdbInfoCalculateMappingDetail(edbInfoId)
-		if err != nil {
-			errMsg = "GetEdbInfoCalculateLjzzyDetail Err:" + err.Error()
-			break
-		}
-		fromEdbInfo, err := models.GetEdbInfoById(calculateMapping.FromEdbInfoId)
-		if err != nil {
-			errMsg = "GetEdbInfoById Err:" + err.Error()
-			break
+	default:
+		// 获取通用的数据源处理服务
+		baseEdbInfoModel = models.GetBaseEdbInfoModel(source)
+		// 没有找到的话,那么就直接返回报错吧
+		if baseEdbInfoModel == nil {
+			br.Msg = "来源异常,请联系相关开发!"
+			br.ErrMsg = "来源异常,请联系相关开发"
+			return
 		}
+		err, errMsg = baseEdbInfoModel.Refresh(refreshParams)
 
-		params := models.RefreshParams{
-			EdbInfoId:   edbInfoId,
-			Source:      source,
-			FromEdbInfo: fromEdbInfo,
-			EdbCode:     calculateMapping.EdbCode,
-			StartDate:   "", // 更新所有
-			EndDate:     "", // 更新所有数据
-		}
-		obj := models.Ljzzj{}
-		err = obj.Refresh(params)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			errMsg = "RefreshAllCalculateLjzzy Err:" + err.Error()
-			break
-		}
-	default:
-		br.Msg = "来源异常,请联系相关开发!"
-		br.ErrMsg = "来源异常,请联系相关开发"
-		return
 	}
 	if errMsg != `` {
 		br.Msg = "刷新指标失败!"
@@ -1806,8 +1793,3 @@ func (this *CalculateController) SaveAdjust() {
 	br.Data = resp
 	br.IsAddLog = true
 }
-
-func init() {
-	obj := models.Ljzzj{}
-	obj.Test()
-}

+ 3 - 5
models/common.go

@@ -5,8 +5,8 @@ import "hongze/hongze_edb_lib/utils"
 // BaseEdbInfoInterface 基础指标接口
 type BaseEdbInfoInterface interface {
 	Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err error, errMsg string)
-	Edit(params EditCalculateBatchParams) (err error)
-	Refresh(params RefreshParams) (err error)
+	Edit(params EditCalculateBatchParams) (err error, errMsg string)
+	Refresh(params RefreshParams) (err error, errMsg string)
 	GetSourceName() string
 }
 
@@ -29,10 +29,8 @@ type EditCalculateBatchParams struct {
 
 // RefreshParams 编辑的请求参
 type RefreshParams struct {
-	EdbInfoId   int
-	Source      int
+	EdbInfo     *EdbInfo
 	FromEdbInfo *EdbInfo
-	EdbCode     string
 	StartDate   string
 	EndDate     string
 }

+ 18 - 11
models/edb_data_calculate_ljzzj.go

@@ -16,10 +16,6 @@ import (
 type Ljzzj struct {
 }
 
-func (obj Ljzzj) Test() {
-	fmt.Println(reflect.TypeOf(obj).Name())
-}
-
 // Add 添加
 func (obj Ljzzj) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err error, errMsg string) {
 	req := params.Req
@@ -90,13 +86,13 @@ func (obj Ljzzj) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err erro
 	}
 
 	//计算数据
-	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "")
+	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "")
 
 	return
 }
 
 // Edit 编辑
-func (obj Ljzzj) Edit(params EditCalculateBatchParams) (err error) {
+func (obj Ljzzj) Edit(params EditCalculateBatchParams) (err error, errMsg string) {
 	req := params.Req
 	edbInfo := params.EdbInfo
 	fromEdbInfo := params.FromEdbInfo
@@ -182,13 +178,24 @@ func (obj Ljzzj) Edit(params EditCalculateBatchParams) (err error) {
 	}
 
 	//计算数据
-	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "")
+	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "")
 
 	return
 }
 
 // Refresh 刷新
-func (obj Ljzzj) Refresh(params RefreshParams) (err error) {
+func (obj Ljzzj) Refresh(params RefreshParams) (err error, errMsg string) {
+	calculateMapping, err := GetEdbInfoCalculateMappingDetail(params.EdbInfo.EdbInfoId)
+	if err != nil {
+		errMsg = "GetEdbInfoCalculateLjzzyDetail Err:" + err.Error()
+		return
+	}
+	fromEdbInfo, err := GetEdbInfoById(calculateMapping.FromEdbInfoId)
+	if err != nil {
+		errMsg = "GetEdbInfoById Err:" + err.Error()
+		return
+	}
+
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -204,7 +211,7 @@ func (obj Ljzzj) Refresh(params RefreshParams) (err error) {
 	}()
 
 	// 计算数据
-	err = obj.refresh(to, params.EdbInfoId, params.Source, params.FromEdbInfo, params.EdbCode, params.StartDate, params.EndDate)
+	err = obj.refresh(to, params.EdbInfo.EdbInfoId, params.EdbInfo.Source, fromEdbInfo, params.EdbInfo.EdbCode, params.StartDate)
 
 	return
 }
@@ -219,7 +226,7 @@ func (obj Ljzzj) GetSourceName() string {
 	return utils.DATA_SOURCE_NAME_CALCULATE_LJZZJ
 }
 
-func (obj Ljzzj) refresh(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
+func (obj Ljzzj) refresh(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
 	dataTableName := GetEdbDataTableName(source)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
@@ -363,7 +370,7 @@ func (obj Ljzzj) refresh(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *Edb
 		addSql = strings.TrimRight(addSql, ",")
 		_, err = to.Raw(addSql).Exec()
 		if err != nil {
-			fmt.Println("RefreshAllCalculateLjzzj add Err", err.Error())
+			fmt.Println(reflect.TypeOf(obj).Name(), " add data Err", err.Error())
 			return
 		}
 	}