浏览代码

同比和同差计算指标新增时,增加限制

xiexiaoyuan 2 年之前
父节点
当前提交
a5a6def497
共有 2 个文件被更改,包括 36 次插入0 次删除
  1. 16 0
      controllers/base_from_calculate.go
  2. 20 0
      controllers/base_from_predict_calculate.go

+ 16 - 0
controllers/base_from_calculate.go

@@ -604,9 +604,25 @@ func (this *CalculateController) BatchSave() {
 		}
 		edbInfo, err = models.AddCalculateLjzzy(&req, fromEdbInfo, edbCode, uniqueCode, sysUserId, sysUserName)
 	case utils.DATA_SOURCE_CALCULATE_TBZ:
+		if req.Frequency != fromEdbInfo.Frequency {
+			br.Msg = "当前频度和原指标频度不一致"
+			return
+		}
+		if req.Unit != "无" {
+			br.Msg = "单位只允许为无,禁止选择其他单位"
+			return
+		}
 		sourName = "同比值"
 		edbInfo, err = models.AddCalculateTbz(&req, fromEdbInfo, edbCode, uniqueCode, sysUserId, sysUserName)
 	case utils.DATA_SOURCE_CALCULATE_TCZ:
+		if req.Frequency != fromEdbInfo.Frequency {
+			br.Msg = "当前频度和原指标频度不一致"
+			return
+		}
+		if req.Unit != fromEdbInfo.Unit {
+			br.Msg = "当前单位和原指标单位不一致"
+			return
+		}
 		sourName = "同差值"
 		edbInfo, err = models.AddCalculateTcz(&req, fromEdbInfo, edbCode, uniqueCode, sysUserId, sysUserName)
 	case utils.DATA_SOURCE_CALCULATE_NSZYDPJJS:

+ 20 - 0
controllers/base_from_predict_calculate.go

@@ -644,9 +644,29 @@ func (this *PredictCalculateController) CalculateBatchSave() {
 	}
 
 	if req.Source == utils.DATA_SOURCE_PREDICT_CALCULATE_TBZ {
+		if req.EdbInfoId <=0 {
+			if req.Frequency != fromEdbInfo.Frequency {
+				br.Msg = "当前频度和原指标频度不一致"
+				return
+			}
+			if req.Unit != "无" {
+				br.Msg = "单位只允许为无,禁止选择其他单位"
+				return
+			}
+		}
 		sourName = "预测同比"
 		edbInfo, latestDateStr, latestValue, err, errMsg = models.SavePredictCalculateTbz(req.EdbInfoId, req.ClassifyId, req.EdbName, req.Frequency, req.Unit, req.Formula, fromEdbInfo, edbCode, uniqueCode, adminId, adminName)
 	} else if req.Source == utils.DATA_SOURCE_PREDICT_CALCULATE_TCZ {
+		if req.EdbInfoId <=0 {
+			if req.Frequency != fromEdbInfo.Frequency {
+				br.Msg = "当前频度和原指标频度不一致"
+				return
+			}
+			if req.Unit != fromEdbInfo.Unit {
+				br.Msg = "当前单位和原指标单位不一致"
+				return
+			}
+		}
 		sourName = "预测同差"
 		edbInfo, latestDateStr, latestValue, err, errMsg = models.SavePredictCalculateTcz(req.EdbInfoId, req.ClassifyId, req.EdbName, req.Frequency, req.Unit, req.Formula, fromEdbInfo, edbCode, uniqueCode, adminId, adminName)
 	} else if req.Source == utils.DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS {