|
@@ -23,16 +23,18 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
|
|
|
}
|
|
|
if sourceEdbInfo == nil {
|
|
|
errMsg = "找不到该来源指标"
|
|
|
- err = nil
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
//必须是普通的指标
|
|
|
if sourceEdbInfo.EdbInfoType != 0 {
|
|
|
errMsg = "来源指标异常,不是普通的指标"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
if !utils.InArrayByStr([]string{"日度", "周度", "月度"}, sourceEdbInfo.Frequency) {
|
|
|
errMsg = "预测指标只支持选择日度、周度、月度的指标"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
}
|
|
@@ -48,12 +50,13 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
|
|
|
}
|
|
|
if classifyInfo == nil {
|
|
|
errMsg = "找不到该预测指标分类"
|
|
|
- err = nil
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
//必须是预测指标分类
|
|
|
if classifyInfo.ClassifyType != 1 {
|
|
|
errMsg = "预测指标分类异常,不是预测指标分类"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
}
|
|
@@ -79,6 +82,7 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
|
|
|
}
|
|
|
if count > 0 {
|
|
|
errMsg = "指标名称已存在,请重新填写"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -147,6 +151,7 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
|
|
|
ruleEndDate, tmpErr := time.ParseInLocation(utils.FormatDate, v.EndDate, time.Local)
|
|
|
if tmpErr != nil {
|
|
|
errMsg = "规则配置的截止日期异常,请重新填写"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
switch v.RuleType {
|
|
@@ -154,15 +159,18 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
|
|
|
valInt, tmpErr := strconv.Atoi(v.Value)
|
|
|
if tmpErr != nil {
|
|
|
errMsg = "N期段线性外推值的N值异常"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
if valInt <= 1 {
|
|
|
errMsg = "N期段线性外推值的N值必须大于1"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
case 9: //9:动态环差
|
|
|
if v.Value == "" {
|
|
|
errMsg = "请填写计算规则"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
formula := v.Value
|
|
@@ -184,6 +192,7 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
|
|
|
for _, formula := range formulaMap {
|
|
|
if !strings.Contains(formulaStr, formula) {
|
|
|
errMsg = "公式错误,请重新填写"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
}
|
|
@@ -199,9 +208,11 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
|
|
|
err = tmpErr
|
|
|
if err.Error() == utils.ErrNoRow() {
|
|
|
errMsg = "指标 " + strconv.Itoa(tmpEdbInfoId.EdbInfoId) + " 不存在"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
errMsg = "获取指标失败:Err:" + err.Error()
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -250,6 +261,7 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
|
|
|
ok, _ := models.CheckFormula2(edbInfoList, formulaMap, formula, edbInfoIdBytes)
|
|
|
if !ok {
|
|
|
errMsg = "生成计算指标失败,请使用正确的计算公式"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -280,11 +292,6 @@ func AddPredictEdbInfo(sourceEdbInfoId, classifyId int, edbName string, ruleList
|
|
|
predictEdbConfList = append(predictEdbConfList, tmpPredictEdbConf)
|
|
|
}
|
|
|
err = models.AddPredictEdb(edbInfo, calculateMappingList, predictEdbConfList, calculateRuleList)
|
|
|
- if err != nil {
|
|
|
- errMsg = "保存失败"
|
|
|
- err = errors.New("保存失败,Err:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
|
|
|
return
|
|
|
}
|
|
@@ -301,12 +308,13 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
|
|
|
}
|
|
|
if edbInfo == nil {
|
|
|
errMsg = "找不到该预测指标"
|
|
|
- err = nil
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
//必须是普通的指标
|
|
|
if edbInfo.EdbInfoType != 1 {
|
|
|
errMsg = "指标异常,不是预测指标"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
}
|
|
@@ -323,7 +331,7 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
|
|
|
}
|
|
|
if len(predictEdbConfList) == 0 {
|
|
|
errMsg = "找不到该预测指标配置"
|
|
|
- err = nil
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
predictEdbConf = predictEdbConfList[0]
|
|
@@ -351,6 +359,7 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
|
|
|
|
|
|
if count > 0 {
|
|
|
errMsg = "指标名称已存在,请重新填写"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -371,16 +380,18 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
|
|
|
}
|
|
|
if sourceEdbInfo == nil {
|
|
|
errMsg = "找不到该来源指标"
|
|
|
- err = nil
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
//必须是普通的指标
|
|
|
if sourceEdbInfo.EdbInfoType != 0 {
|
|
|
errMsg = "来源指标异常,不是普通的指标"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
if !utils.InArrayByStr([]string{"日度", "周度", "月度"}, sourceEdbInfo.Frequency) {
|
|
|
errMsg = "预测指标只支持选择日度、周度、月度的指标"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
}
|
|
@@ -420,6 +431,7 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
|
|
|
ruleEndDate, tmpErr := time.ParseInLocation(utils.FormatDate, v.EndDate, time.Local)
|
|
|
if tmpErr != nil {
|
|
|
errMsg = "规则配置的截止日期异常,请重新填写"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
switch v.RuleType {
|
|
@@ -427,15 +439,18 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
|
|
|
valInt, tmpErr := strconv.Atoi(v.Value)
|
|
|
if tmpErr != nil {
|
|
|
errMsg = "N期段线性外推值的N值异常"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
if valInt <= 1 {
|
|
|
errMsg = "N期段线性外推值的N值必须大于1"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
case 9: //9:动态环差
|
|
|
if v.Value == "" {
|
|
|
errMsg = "请填写计算规则"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
formula := v.Value
|
|
@@ -457,6 +472,7 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
|
|
|
for _, formula := range formulaMap {
|
|
|
if !strings.Contains(formulaStr, formula) {
|
|
|
errMsg = "公式错误,请重新填写"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
}
|
|
@@ -472,9 +488,11 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
|
|
|
err = tmpErr
|
|
|
if err.Error() == utils.ErrNoRow() {
|
|
|
errMsg = "指标 " + strconv.Itoa(tmpEdbInfoId.EdbInfoId) + " 不存在"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
errMsg = "获取指标失败:Err:" + err.Error()
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -523,6 +541,7 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
|
|
|
ok, _ := models.CheckFormula2(edbInfoList, formulaMap, formula, edbInfoIdBytes)
|
|
|
if !ok {
|
|
|
errMsg = "生成计算指标失败,请使用正确的计算公式"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -554,11 +573,7 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []mo
|
|
|
}
|
|
|
|
|
|
err = models.EditPredictEdb(edbInfo, updateEdbInfoCol, calculateMappingList, predictEdbConfList, calculateRuleList)
|
|
|
- if err != nil {
|
|
|
- errMsg = "保存失败"
|
|
|
- err = errors.New("保存失败,Err:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|