xiexiaoyuan 2 lat temu
rodzic
commit
124891feb6

+ 7 - 6
controllers/base_from_predict_calculate.go

@@ -517,13 +517,8 @@ func (this *PredictCalculateController) CalculateBatchSave() {
 		return
 	}
 
-	if req.FromEdbInfoId <= 0 {
-		br.Msg = "请选择指标"
-		return
-	}
-
 	//加入缓存机制,避免创建同一个名称的指标 start
-	redisKey := fmt.Sprint("edb_info:calculate:batch:save:", req.Source, ":", req.EdbName)
+	redisKey := fmt.Sprint("edb_lib:predict_calculate:batch:save:", req.Source, ":", req.EdbName)
 	isExist := utils.Rc.IsExist(redisKey)
 	if isExist {
 		br.Msg = "指标正在处理,请勿重复提交"
@@ -1094,6 +1089,12 @@ func (this *PredictCalculateController) Refresh() {
 			errMsg = "RefreshAllPredictCalculateCjjx Err:" + err.Error()
 			break
 		}
+	case utils.DATA_SOURCE_PREDICT_CALCULATE_NHCC: //nhcc
+		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateNhcc(edbInfo)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			errMsg = "RefreshAllPredictCalculateNhcc Err:" + err.Error()
+			break
+		}
 	default:
 		br.Msg = "来源异常,请联系相关开发!"
 		br.ErrMsg = "来源异常,请联系相关开发"

+ 2 - 0
models/edb_data_table.go

@@ -83,6 +83,8 @@ func GetEdbDataTableName(source int) (tableName string) {
 		tableName = "edb_data_predict_calculate_nszydpjjs"
 	case utils.DATA_SOURCE_CALCULATE_ADJUST:
 		tableName = "edb_data_calculate_adjust"
+	case utils.DATA_SOURCE_SCI:
+		tableName = "edb_data_sci"
 	case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZZY:
 		tableName = "edb_data_predict_calculate_ljzzy"
 	case utils.DATA_SOURCE_PREDICT_CALCULATE_TIME_SHIFT:

+ 3 - 5
models/predict_edb_data_calculate_ljztbpj.go

@@ -488,13 +488,12 @@ func refreshAllPredictCalculateLjztbpj(to orm.TxOrmer, edbInfo, firstEdbInfo *Ed
 		if nowEdbDataValue, isHas := nowEdbDataMap[v]; isHas {
 			//获取去年今日的数据,获取到后,然后是去修改该日期的数据
 			if lastYearEdbDataValue, ok := nowEdbDataMap[pjDataTime.Format(utils.FormatDate)]; ok {
-
-				if v == "2021-08-31" {
-					fmt.Println("进来了")
-				}
 				tbzDataValue := tbzEdbDataMap[v] //同比值
 				currValue := lastYearEdbDataValue * (1 + tbzDataValue/100)
 				currValue, _ = decimal.NewFromFloat(currValue).Truncate(4).Float64() //保留4位小数
+				if firstEdbInfo.LatestDate == pjDataTime.Format(utils.FormatDate) {
+					latestValue = currValue
+				}
 				//如果计算出来的值与库里面的值不匹配,那么就去修改该值
 				if nowEdbDataValue != currValue {
 					//将计算后的数据存入待拼接指标map里面,以便后续计算
@@ -503,7 +502,6 @@ func refreshAllPredictCalculateLjztbpj(to orm.TxOrmer, edbInfo, firstEdbInfo *Ed
 			}
 		} else {
 			//因为 现有数据中 不存在该日期数据,那么需要做新增数据处理
-
 			//如果去年今日存在该数据,那么就去计算当前的数据
 			if pjDataValue, ok := nowEdbDataMap[pjDataTime.Format(utils.FormatDate)]; ok {
 				tbzDataValue := tbzEdbDataMap[v] //同比值

+ 4 - 5
models/predict_edb_data_calculate_nhcc.go

@@ -387,6 +387,7 @@ func refreshAllPredictCalculateNhcc(to orm.TxOrmer, edbInfo, firstEdbInfo, secon
 	if err != nil {
 		return
 	}
+	latestDateStr = firstEdbInfo.LatestDate
 	var dateArr []string
 	dataMap := make(map[string]*EdbDataPredictCalculateNhcc)
 	removeDataTimeMap := make(map[string]int) //需要移除的日期数据
@@ -438,7 +439,6 @@ func refreshAllPredictCalculateNhcc(to orm.TxOrmer, edbInfo, firstEdbInfo, secon
 		if err != nil {
 			return
 		}*/
-		var secondDataList []*EdbInfoSearchData
 		secondDataList, err = GetPredictEdbDataListAllByStartDate(secondEdbInfo, 0, "")
 		if err != nil {
 			return
@@ -540,7 +540,9 @@ func refreshAllPredictCalculateNhcc(to orm.TxOrmer, edbInfo, firstEdbInfo, secon
 		b2Decimal := decimal.NewFromFloat(b2Val)
 
 		val, _ := bDecimal.Sub(b2Decimal).RoundCeil(4).Float64()
-
+		if firstEdbInfo.LatestDate == currDate {
+			latestValue = val
+		}
 		// 判断之前有没有该数据
 		existData, ok := dataMap[currDate]
 		if !ok { //不存在那么就添加吧
@@ -593,9 +595,6 @@ func refreshAllPredictCalculateNhcc(to orm.TxOrmer, edbInfo, firstEdbInfo, secon
 		tmpAddDataList := make([]*EdbDataPredictCalculateNhcc, 0)
 		i := 0
 		for _, v := range addDataList {
-			if firstEdbInfo.LatestDate == v.DataTime {
-				latestValue = v.Value
-			}
 			tmpAddDataList = append(tmpAddDataList, v)
 			i++
 			if i >= 500 {

+ 10 - 9
utils/constants.go

@@ -69,15 +69,16 @@ const (
 	DATA_SOURCE_COM_TRADE                              //联合国商品贸易数据->38
 	DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS            //预测指标 - N数值移动平均计算 -> 39
 	DATA_SOURCE_CALCULATE_ADJUST                       //数据调整->40
-	DATA_SOURCE_PREDICT_CALCULATE_LJZZY                //预测指标 - 累计值转月->41
-	DATA_SOURCE_PREDICT_CALCULATE_HBZ                  //预测指标 - 环比值->42
-	DATA_SOURCE_PREDICT_CALCULATE_HCZ                  //预测指标 - 环差值->43
-	DATA_SOURCE_PREDICT_CALCULATE_BP                   //预测指标 - 变频->44
-	DATA_SOURCE_PREDICT_CALCULATE_TIME_SHIFT           //预测指标 - 时间移位->45
-	DATA_SOURCE_PREDICT_CALCULATE_ZJPJ                 //预测指标 - 直接拼接->46
-	DATA_SOURCE_PREDICT_CALCULATE_LJZTBPJ              //预测指标 - 累计值同比拼接->47
-	DATA_SOURCE_PREDICT_CALCULATE_CJJX                 //预测指标 - 超季节性->48
-	DATA_SOURCE_PREDICT_CALCULATE_NHCC                 //预测指标 - 计算指标(拟合残差)->49
+	DATA_SOURCE_SCI                                    //卓创数据(红桃三)->41
+	DATA_SOURCE_PREDICT_CALCULATE_LJZZY                //预测指标 - 累计值转月->42
+	DATA_SOURCE_PREDICT_CALCULATE_HBZ                  //预测指标 - 环比值->43
+	DATA_SOURCE_PREDICT_CALCULATE_HCZ                  //预测指标 - 环差值->44
+	DATA_SOURCE_PREDICT_CALCULATE_BP                   //预测指标 - 变频->45
+	DATA_SOURCE_PREDICT_CALCULATE_TIME_SHIFT           //预测指标 - 时间移位->46
+	DATA_SOURCE_PREDICT_CALCULATE_ZJPJ                 //预测指标 - 直接拼接->47
+	DATA_SOURCE_PREDICT_CALCULATE_LJZTBPJ              //预测指标 - 累计值同比拼接->48
+	DATA_SOURCE_PREDICT_CALCULATE_CJJX                 //预测指标 - 超季节性->49
+	DATA_SOURCE_PREDICT_CALCULATE_NHCC                 //预测指标 - 计算指标(拟合残差)->50
 )
 
 //基础数据初始化日期