Browse Source

新增指标子来源

# Conflicts:
#	controllers/base_from_calculate.go
#	controllers/base_from_predict_calculate.go
#	models/base_from_calculate.go
#	models/base_predict_from_calculate.go
#	models/edb_info.go
tuoling805 1 năm trước cách đây
mục cha
commit
2de4c48d4b
90 tập tin đã thay đổi với 702 bổ sung532 xóa
  1. 15 14
      controllers/base_from_calculate.go
  2. 1 1
      controllers/base_from_jiayue.go
  3. 11 11
      controllers/base_from_predict_calculate.go
  4. 3 3
      controllers/base_from_wind_wsd.go
  5. 1 1
      controllers/open/edb_info.go
  6. 1 1
      logic/profit_chart_info.go
  7. 5 5
      models/base_from_adjust.go
  8. 4 3
      models/base_from_baiinfo.go
  9. 94 12
      models/base_from_calculate.go
  10. 4 3
      models/base_from_cffex.go
  11. 4 3
      models/base_from_coal.go
  12. 5 3
      models/base_from_com_trade.go
  13. 5 3
      models/base_from_dl.go
  14. 5 3
      models/base_from_eia_steo.go
  15. 5 3
      models/base_from_fubao.go
  16. 5 3
      models/base_from_gie.go
  17. 5 3
      models/base_from_google_travel.go
  18. 5 5
      models/base_from_jiayue.go
  19. 5 3
      models/base_from_lt.go
  20. 5 3
      models/base_from_lz.go
  21. 8 6
      models/base_from_manual.go
  22. 5 3
      models/base_from_mysteel.go
  23. 5 3
      models/base_from_mysteel_chemical.go
  24. 5 3
      models/base_from_national_statistics.go
  25. 4 3
      models/base_from_pb.go
  26. 4 3
      models/base_from_pb_finance.go
  27. 2 2
      models/base_from_python.go
  28. 5 3
      models/base_from_sci.go
  29. 5 4
      models/base_from_sh.go
  30. 8 6
      models/base_from_shfe.go
  31. 5 3
      models/base_from_smm.go
  32. 5 3
      models/base_from_stock_plant.go
  33. 5 4
      models/base_from_ths.go
  34. 5 4
      models/base_from_wind.go
  35. 72 40
      models/base_from_wind_wsd.go
  36. 5 3
      models/base_from_zz.go
  37. 7 9
      models/base_predict_from_calculate.go
  38. 18 18
      models/edb_data_base.go
  39. 14 14
      models/edb_data_calculate_bp.go
  40. 10 10
      models/edb_data_calculate_cjjx.go
  41. 10 10
      models/edb_data_calculate_correlation.go
  42. 8 8
      models/edb_data_calculate_hbz.go
  43. 9 9
      models/edb_data_calculate_hcz.go
  44. 12 12
      models/edb_data_calculate_jp.go
  45. 9 9
      models/edb_data_calculate_kszs.go
  46. 8 8
      models/edb_data_calculate_ljz.go
  47. 8 8
      models/edb_data_calculate_ljznczj.go
  48. 9 9
      models/edb_data_calculate_ljztbpj.go
  49. 7 7
      models/edb_data_calculate_ljzzj.go
  50. 8 8
      models/edb_data_calculate_ljzzy.go
  51. 11 11
      models/edb_data_calculate_nh.go
  52. 5 5
      models/edb_data_calculate_nhcc.go
  53. 9 9
      models/edb_data_calculate_nszydbpjjs.go
  54. 3 3
      models/edb_data_calculate_percentile.go
  55. 3 3
      models/edb_data_calculate_rjz.go
  56. 3 3
      models/edb_data_calculate_standard_deviation.go
  57. 8 8
      models/edb_data_calculate_tbz.go
  58. 8 8
      models/edb_data_calculate_tcz.go
  59. 8 8
      models/edb_data_calculate_time_shift.go
  60. 1 1
      models/edb_data_calculate_zdyfx.go
  61. 5 5
      models/edb_data_calculate_zjpj.go
  62. 3 3
      models/edb_data_calculate_zsxy.go
  63. 6 2
      models/edb_data_table.go
  64. 29 25
      models/edb_info.go
  65. 1 0
      models/edb_info_calculate_mapping.go
  66. 8 8
      models/predict_edb_data_calculate_bp.go
  67. 7 7
      models/predict_edb_data_calculate_cjjx.go
  68. 6 6
      models/predict_edb_data_calculate_hbz.go
  69. 6 6
      models/predict_edb_data_calculate_hcz.go
  70. 9 9
      models/predict_edb_data_calculate_jp.go
  71. 7 7
      models/predict_edb_data_calculate_kszs.go
  72. 7 7
      models/predict_edb_data_calculate_ljz.go
  73. 7 7
      models/predict_edb_data_calculate_ljznczj.go
  74. 4 4
      models/predict_edb_data_calculate_ljztbpj.go
  75. 6 6
      models/predict_edb_data_calculate_ljzzj.go
  76. 5 5
      models/predict_edb_data_calculate_ljzzy.go
  77. 8 8
      models/predict_edb_data_calculate_nh.go
  78. 2 2
      models/predict_edb_data_calculate_nhcc.go
  79. 6 6
      models/predict_edb_data_calculate_nszydbpjjs.go
  80. 4 4
      models/predict_edb_data_calculate_percentile.go
  81. 4 4
      models/predict_edb_data_calculate_standard_deviation.go
  82. 4 4
      models/predict_edb_data_calculate_tbz.go
  83. 3 3
      models/predict_edb_data_calculate_tcz.go
  84. 5 5
      models/predict_edb_data_calculate_time_shift.go
  85. 2 2
      models/predict_edb_data_calculate_zjpj.go
  86. 3 3
      models/predict_edb_data_calculate_zsxy.go
  87. 1 1
      models/predict_edb_info_rule.go
  88. 4 4
      routers/commentsRouter.go
  89. 2 2
      services/base_from_jiayue.go
  90. 6 0
      utils/constants.go

+ 15 - 14
controllers/base_from_calculate.go

@@ -695,7 +695,7 @@ func (this *CalculateController) BatchSave() {
 		condition += " AND edb_info_id =? "
 		pars = append(pars, fromEdbInfoId)
 		condition += " AND value <=0 "
-		checkCount, tmpErr := models.GetEdbDataCount(condition, pars, fromEdbInfo.Source)
+		checkCount, tmpErr := models.GetEdbDataCount(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource)
 		if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
 			br.Msg = "判断环比值是否可计算失败"
 			br.ErrMsg = "判断环比值是否可计算失败,Err:" + tmpErr.Error()
@@ -1126,7 +1126,7 @@ func (this *CalculateController) BatchEdit() {
 		condition += " AND edb_info_id =? "
 		pars = append(pars, req.FromEdbInfoId)
 		condition += " AND value <=0 "
-		checkCount, tmpErr := models.GetEdbDataCount(condition, pars, fromEdbInfo.Source)
+		checkCount, tmpErr := models.GetEdbDataCount(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource)
 		if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
 			br.Msg = "判断环比值是否可计算失败"
 			br.ErrMsg = "判断环比值是否可计算失败,Err:" + tmpErr.Error()
@@ -1397,6 +1397,7 @@ func (this *CalculateController) Refresh() {
 	endDate := time.Now().Format(utils.FormatDate)
 	edbInfoId := edbInfo.EdbInfoId
 	source := edbInfo.Source
+	subSource := edbInfo.SubSource
 
 	var baseEdbInfoModel models.BaseEdbInfoInterface
 	refreshParams := models.RefreshParams{
@@ -1429,7 +1430,7 @@ func (this *CalculateController) Refresh() {
 			edbInfo, _ := models.GetEdbInfoById(v.FromEdbInfoId)
 			edbInfoList = append(edbInfoList, edbInfo)
 		}
-		err = models.RefreshAllCalculate(edbInfoList, edbInfo.EdbInfoId, source, edbInfo.EdbCode, edbInfo.CalculateFormula, startDate, endDate, edbInfoIdBytes, edbInfo.EmptyType, edbInfo.MaxEmptyType)
+		err = models.RefreshAllCalculate(edbInfoList, edbInfo.EdbInfoId, source, edbInfo.SubSource, edbInfo.EdbCode, edbInfo.CalculateFormula, startDate, endDate, edbInfoIdBytes, edbInfo.EmptyType, edbInfo.MaxEmptyType)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshCalculate Err:" + err.Error()
 			break
@@ -1449,7 +1450,7 @@ func (this *CalculateController) Refresh() {
 		//endDate = time.Now().Format(utils.FormatDate)
 		endDate = ``   //只要填写日期,就会出现问题,还是把日期给去掉吧
 		startDate = `` //只要填写日期,就会出现问题,还是把日期给去掉吧
-		err = models.RefreshAllCalculateLjzzy(edbInfoId, source, fromEdbInfo, calculateLjzzy.EdbCode, startDate, endDate)
+		err = models.RefreshAllCalculateLjzzy(edbInfoId, source, subSource, fromEdbInfo, calculateLjzzy.EdbCode, startDate, endDate)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllCalculateLjzzy Err:" + err.Error()
 			break
@@ -1467,7 +1468,7 @@ func (this *CalculateController) Refresh() {
 		}
 		//startDate = edbInfo.StartDate
 		endDate = time.Now().Format(utils.FormatDate)
-		err = models.RefreshAllCalculateTbz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
+		err = models.RefreshAllCalculateTbz(edbInfoId, source, subSource, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllCalculateTbz Err:" + err.Error()
 			break
@@ -1485,7 +1486,7 @@ func (this *CalculateController) Refresh() {
 		}
 		//startDate = edbInfo.StartDate
 		endDate = time.Now().Format(utils.FormatDate)
-		err = models.RefreshAllCalculateTcz(edbInfoId, source, fromEdbInfo, calculateTcz.EdbCode, startDate, endDate)
+		err = models.RefreshAllCalculateTcz(edbInfoId, source, subSource, fromEdbInfo, calculateTcz.EdbCode, startDate, endDate)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshCalculateTcz Err:" + err.Error()
 			break
@@ -1504,7 +1505,7 @@ func (this *CalculateController) Refresh() {
 		formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
 		//startDate = edbInfo.StartDate
 		startDate = `` //只要填写日期,就会出现问题,还是把日期给去掉吧
-		err = models.RefreshAllCalculateNszydpjjs(edbInfoId, edbInfo.Source, formulaInt, fromEdbInfo, calculateNszydpjjs.EdbCode, startDate)
+		err = models.RefreshAllCalculateNszydpjjs(edbInfoId, edbInfo.Source, edbInfo.SubSource, formulaInt, fromEdbInfo, calculateNszydpjjs.EdbCode, startDate)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshCalculateNszydpjjs Err:" + err.Error()
 			break
@@ -1523,7 +1524,7 @@ func (this *CalculateController) Refresh() {
 		startDate = `` //只要填写日期,就会出现问题,还是把日期给去掉吧
 		endDate = time.Now().Format(utils.FormatDate)
 		formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
-		err = models.RefreshAllCalculateHbz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
+		err = models.RefreshAllCalculateHbz(edbInfoId, source, subSource, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllCalculateHbz Err:" + err.Error()
 			break
@@ -1542,7 +1543,7 @@ func (this *CalculateController) Refresh() {
 		startDate = `` //只要填写日期,就会出现问题,还是把日期给去掉吧
 		endDate = time.Now().Format(utils.FormatDate)
 		formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
-		err = models.RefreshAllCalculateHcz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
+		err = models.RefreshAllCalculateHcz(edbInfoId, source, subSource, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllCalculateHcz Err:" + err.Error()
 			break
@@ -1560,7 +1561,7 @@ func (this *CalculateController) Refresh() {
 		}
 		//startDate = edbInfo.StartDate
 		endDate = time.Now().Format(utils.FormatDate)
-		err = models.RefreshAllCalculateBp(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
+		err = models.RefreshAllCalculateBp(edbInfoId, source, subSource, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllCalculateBp Err:" + err.Error()
 			break
@@ -1580,7 +1581,7 @@ func (this *CalculateController) Refresh() {
 		startDate = `` //只要填写日期,就会出现问题,还是把日期给去掉吧
 		endDate = time.Now().Format(utils.FormatDate)
 		formulaInt, _ := strconv.Atoi(calculate.CalculateFormula)
-		err = models.RefreshAllCalculateTimeShift(edbInfoId, source, formulaInt, calculate.MoveType, fromEdbInfo, calculate.EdbCode, startDate, endDate, calculate.MoveFrequency)
+		err = models.RefreshAllCalculateTimeShift(edbInfoId, source, subSource, formulaInt, calculate.MoveType, fromEdbInfo, calculate.EdbCode, startDate, endDate, calculate.MoveFrequency)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllCalculateTimeShift Err:" + err.Error()
 		}
@@ -1629,7 +1630,7 @@ func (this *CalculateController) Refresh() {
 		}
 		formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
 		startDate = `` //只要填写日期,就会出现问题,还是把日期给去掉吧
-		err = models.RefreshAllCalculateCjjx(edbInfoId, edbInfo.Source, fromEdbInfo, calculateCjjx.EdbCode, startDate, "", edbInfo.Calendar, formulaInt)
+		err = models.RefreshAllCalculateCjjx(edbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, calculateCjjx.EdbCode, startDate, "", edbInfo.Calendar, formulaInt)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllCalculateCjjx Err:" + err.Error()
 			break
@@ -1672,7 +1673,7 @@ func (this *CalculateController) Refresh() {
 		}
 		//startDate = edbInfo.StartDate
 		endDate = time.Now().Format(utils.FormatDate)
-		err = models.RefreshAllCalculateJp(edbInfoId, source, fromEdbInfo, edbInfo.EdbCode, edbInfo.Frequency, edbInfo.CalculateFormula)
+		err = models.RefreshAllCalculateJp(edbInfoId, source, subSource, fromEdbInfo, edbInfo.EdbCode, edbInfo.Frequency, edbInfo.CalculateFormula)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllCalculateJp Err:" + err.Error()
 			break
@@ -1691,7 +1692,7 @@ func (this *CalculateController) Refresh() {
 		}
 		//startDate = edbInfo.StartDate
 		endDate = time.Now().Format(utils.FormatDate)
-		err = models.RefreshAllCalculateNh(edbInfoId, source, fromEdbInfo, edbInfo.EdbCode)
+		err = models.RefreshAllCalculateNh(edbInfoId, source, subSource, fromEdbInfo, edbInfo.EdbCode)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllCalculateNh Err:" + err.Error()
 			break

+ 1 - 1
controllers/base_from_jiayue.go

@@ -191,7 +191,7 @@ func (this *JiaYueController) Refresh() {
 	}
 
 	// 刷新指标数据
-	e = models.RefreshEdbDataFromJiaYue(req.Source, req.EdbInfoId, sourceItem.TableName, req.EdbCode, startDate, indexData.IndexData)
+	e = models.RefreshEdbDataFromJiaYue(req.Source, edbInfo.SubSource, req.EdbInfoId, sourceItem.TableName, req.EdbCode, startDate, indexData.IndexData)
 	if e != nil {
 		br.Msg = "刷新失败"
 		br.ErrMsg = "刷新嘉悦指标失败, Err: " + e.Error()

+ 11 - 11
controllers/base_from_predict_calculate.go

@@ -975,7 +975,7 @@ func (this *PredictCalculateController) Refresh() {
 			edbInfo, _ := models.GetEdbInfoById(v.FromEdbInfoId)
 			edbInfoList = append(edbInfoList, edbInfo)
 		}
-		latestDateStr, latestValue, err = models.RefreshAllPredictCalculate(edbInfoList, edbInfo.EdbInfoId, source, edbInfo.EdbCode, edbInfo.CalculateFormula, startDate, edbInfoIdBytes, edbInfo.EmptyType, edbInfo.MaxEmptyType)
+		latestDateStr, latestValue, err = models.RefreshAllPredictCalculate(edbInfoList, edbInfo.EdbInfoId, source, edbInfo.SubSource, edbInfo.EdbCode, edbInfo.CalculateFormula, startDate, edbInfoIdBytes, edbInfo.EmptyType, edbInfo.MaxEmptyType)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshCalculate Err:" + err.Error()
 			break
@@ -992,7 +992,7 @@ func (this *PredictCalculateController) Refresh() {
 			break
 		}
 		startDate = edbInfo.StartDate
-		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateTcz(edbInfoId, source, fromEdbInfo, calculateTcz.EdbCode, startDate)
+		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateTcz(edbInfoId, source, edbInfo.SubSource, fromEdbInfo, calculateTcz.EdbCode, startDate)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshCalculateTcz Err:" + err.Error()
 			break
@@ -1015,7 +1015,7 @@ func (this *PredictCalculateController) Refresh() {
 			break
 		}
 		startDate = edbInfo.StartDate
-		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateNszydpjjs(edbInfoId, source, formulaInt, fromEdbInfo, calculateInfo.EdbCode, startDate)
+		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateNszydpjjs(edbInfoId, source, edbInfo.SubSource, formulaInt, fromEdbInfo, calculateInfo.EdbCode, startDate)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllPredictCalculateNszydpjjs Err:" + err.Error()
 			break
@@ -1032,7 +1032,7 @@ func (this *PredictCalculateController) Refresh() {
 			break
 		}
 		endDate = time.Now().Format(utils.FormatDate)
-		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateBp(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
+		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateBp(edbInfoId, source, edbInfo.SubSource, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllPredictCalculateBp Err:" + err.Error()
 			break
@@ -1051,7 +1051,7 @@ func (this *PredictCalculateController) Refresh() {
 		startDate = `` //只要填写日期,就会出现问题,还是把日期给去掉吧
 		endDate = time.Now().Format(utils.FormatDate)
 		formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
-		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateHbz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
+		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateHbz(edbInfoId, source, edbInfo.SubSource, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllPredictCalculateHbz Err:" + err.Error()
 			break
@@ -1070,7 +1070,7 @@ func (this *PredictCalculateController) Refresh() {
 		startDate = `` //只要填写日期,就会出现问题,还是把日期给去掉吧
 		endDate = time.Now().Format(utils.FormatDate)
 		formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
-		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateHcz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
+		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateHcz(edbInfoId, source, edbInfo.SubSource, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllPredictCalculateHcz Err:" + err.Error()
 			break
@@ -1088,7 +1088,7 @@ func (this *PredictCalculateController) Refresh() {
 		}
 		endDate = ``   //只要填写日期,就会出现问题,还是把日期给去掉吧
 		startDate = `` //只要填写日期,就会出现问题,还是把日期给去掉吧
-		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateLjzzy(edbInfoId, source, fromEdbInfo, calculateLjzzy.EdbCode, startDate, endDate)
+		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateLjzzy(edbInfoId, source, edbInfo.SubSource, fromEdbInfo, calculateLjzzy.EdbCode, startDate, endDate)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllPredictCalculateLjzzy Err:" + err.Error()
 			break
@@ -1108,7 +1108,7 @@ func (this *PredictCalculateController) Refresh() {
 		startDate = `` //只要填写日期,就会出现问题,还是把日期给去掉吧
 		endDate = time.Now().Format(utils.FormatDate)
 		formulaInt, _ := strconv.Atoi(calculate.CalculateFormula)
-		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateTimeShift(edbInfoId, source, formulaInt, calculate.MoveType, fromEdbInfo, calculate.EdbCode, startDate, endDate, calculate.MoveFrequency)
+		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateTimeShift(edbInfoId, source, edbInfo.SubSource, formulaInt, calculate.MoveType, fromEdbInfo, calculate.EdbCode, startDate, endDate, calculate.MoveFrequency)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllCalculateTimeShift Err:" + err.Error()
 		}
@@ -1137,7 +1137,7 @@ func (this *PredictCalculateController) Refresh() {
 		}
 		formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
 		startDate = `` //只要填写日期,就会出现问题,还是把日期给去掉吧
-		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateCjjx(edbInfoId, edbInfo.Source, fromEdbInfo, calculateCjjx.EdbCode, startDate, "", edbInfo.Calendar, formulaInt)
+		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateCjjx(edbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, calculateCjjx.EdbCode, startDate, "", edbInfo.Calendar, formulaInt)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllPredictCalculateCjjx Err:" + err.Error()
 			break
@@ -1159,7 +1159,7 @@ func (this *PredictCalculateController) Refresh() {
 			errMsg = "GetEdbInfoById Err:" + err.Error()
 			break
 		}
-		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateJp(edbInfoId, source, fromEdbInfo, calculateInfo.EdbCode, edbInfo.Frequency, edbInfo.CalculateFormula)
+		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateJp(edbInfoId, source, edbInfo.SubSource, fromEdbInfo, calculateInfo.EdbCode, edbInfo.Frequency, edbInfo.CalculateFormula)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllPredictCalculateJp Err:" + err.Error()
 			break
@@ -1175,7 +1175,7 @@ func (this *PredictCalculateController) Refresh() {
 			errMsg = "GetEdbInfoById Err:" + err.Error()
 			break
 		}
-		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateNh(edbInfoId, source, fromEdbInfo, calculateInfo.EdbCode, edbInfo.Frequency, edbInfo.CalculateFormula)
+		latestDateStr, latestValue, err = models.RefreshAllPredictCalculateNh(edbInfoId, source, edbInfo.SubSource, fromEdbInfo, calculateInfo.EdbCode, edbInfo.Frequency, edbInfo.CalculateFormula)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			errMsg = "RefreshAllPredictCalculateNh Err:" + err.Error()
 			break

+ 3 - 3
controllers/base_from_wind_wsd.go

@@ -142,7 +142,7 @@ func (this *WindWsdController) Add() {
 // @Title 刷新wind指标接口
 // @Description 刷新wind指标接口
 // @Success 200 {object} models.RefreshEdbInfoReq
-// @router /wsd//refresh [post]
+// @router /wsd/refresh [post]
 func (this *WindWsdController) Refresh() {
 	br := new(models.BaseResponse).Init()
 	var cacheKey string
@@ -196,7 +196,7 @@ func (this *WindWsdController) Refresh() {
 		endDate = time.Now().Format(utils.FormatDate)
 	}
 
-	dataItem, errCode, err := services.GetEdbDataFromWindUrl(edbInfo.ServerUrl, req.EdbCode, req.StartDate, endDate)
+	dataItem, errCode, err := services.GetEdbDataFromWindUrlWsd(edbInfo.ServerUrl, edbInfo.StockCode, edbInfo.IndicatorCode, req.StartDate, endDate)
 	if errCode == 421 { //指标超限
 		br.Ret = 421
 		br.Msg = "指标超限!"
@@ -220,7 +220,7 @@ func (this *WindWsdController) Refresh() {
 		br.ErrMsg = "获取指标信息失败 GetEdbDataFromWind,Err:" + err.Error()
 		return
 	}
-	err = models.RefreshEdbDataFromWind(req.EdbInfoId, req.EdbCode, req.StartDate, dataItem)
+	err = models.RefreshEdbDataFromWindWsd(req.EdbInfoId, edbInfo.EdbCode, req.StartDate, dataItem)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		br.Msg = "刷新指标信息失败!"
 		br.ErrMsg = "刷新指标信息失败 RefreshEdbDataFromWind,Err:" + err.Error()

+ 1 - 1
controllers/open/edb_info.go

@@ -55,7 +55,7 @@ func (this *EdbInfoController) Detail() {
 		pars = append(pars, edbInfo.EdbInfoId)
 
 		//获取来源指标的数据
-		dataList, err = models.GetEdbDataListAll(condition, pars, edbInfo.Source, 1)
+		dataList, err = models.GetEdbDataListAll(condition, pars, edbInfo.Source, edbInfo.SubSource, 1)
 	case 1:
 		dataList, err = models.GetPredictEdbDataListAllByStartDate(edbInfo, 1, "")
 	default:

+ 1 - 1
logic/profit_chart_info.go

@@ -216,7 +216,7 @@ func GetProfitChartEdbData(baseEdbInfo *models.EdbInfo, zlFutureGoodEdbInfoList
 
 	// 普通的指标数据
 	baseDataList := make([]*models.EdbDataList, 0)
-	baseDataList, err = models.GetEdbDataList(baseEdbInfo.Source, baseEdbInfo.EdbInfoId, "", "")
+	baseDataList, err = models.GetEdbDataList(baseEdbInfo.Source, baseEdbInfo.SubSource, baseEdbInfo.EdbInfoId, "", "")
 	if err != nil {
 		return
 	}

+ 5 - 5
models/base_from_adjust.go

@@ -144,7 +144,7 @@ func SaveAdjustEdb(req SaveAdjustEdbReq) (edbInfo *EdbInfo, err error, errMsg st
 		edbCode = edbInfo.EdbCode
 
 		// 清除数据
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_ADJUST)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_ADJUST, edbInfo.SubSource)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
 		_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
@@ -218,7 +218,7 @@ func SaveAdjustEdb(req SaveAdjustEdbReq) (edbInfo *EdbInfo, err error, errMsg st
 	}
 
 	var isAdd bool
-	dataTableName := GetEdbDataTableName(edbInfo.Source)
+	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	addSql := ` INSERT INTO ` + dataTableName + `(edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) values `
 	for _, item := range dataObj {
 		//值
@@ -255,7 +255,7 @@ func RefreshAllAdjustEdb(edbInfo *EdbInfo, fromEdbInfo *EdbInfo) (err error) {
 	}()
 
 	// 当前数据表名
-	dataTableName := GetEdbDataTableName(edbInfo.Source)
+	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	// 获取之前的配置
 	var edbAdjustConf *EdbAdjustConf
@@ -271,7 +271,7 @@ func RefreshAllAdjustEdb(edbInfo *EdbInfo, fromEdbInfo *EdbInfo) (err error) {
 	var pars []interface{}
 	condition += " AND edb_info_id=? AND data_time > ? "
 	pars = append(pars, fromEdbInfo.EdbInfoId, edbAdjustConf.SourceEndDate)
-	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, 1)
+	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
 	if err != nil {
 		return err
 	}
@@ -283,7 +283,7 @@ func RefreshAllAdjustEdb(edbInfo *EdbInfo, fromEdbInfo *EdbInfo) (err error) {
 		var tmpPars []interface{}
 		tmpCondition += " AND edb_info_id=? AND data_time > ? "
 		tmpPars = append(tmpPars, edbInfo.EdbInfoId, edbAdjustConf.SourceEndDate)
-		existDataList, tmpErr := GetEdbDataListAllByTo(to, tmpCondition, tmpPars, edbInfo.Source, 1)
+		existDataList, tmpErr := GetEdbDataListAllByTo(to, tmpCondition, tmpPars, edbInfo.Source, edbInfo.SubSource, 1)
 		if tmpErr != nil {
 			err = tmpErr
 			return

+ 4 - 3
models/base_from_baiinfo.go

@@ -76,6 +76,7 @@ func AddEdbDataFromBaiinfo(edbCode string) (err error) {
 // RefreshEdbDataFromBaiinfo 刷新百川盈弗指标数据
 func RefreshEdbDataFromBaiinfo(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_BAIINFO
+	subSource := utils.DATA_SUB_SOURCE_EDB
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -124,7 +125,7 @@ func RefreshEdbDataFromBaiinfo(edbInfoId int, edbCode, startDate string) (err er
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -151,7 +152,7 @@ func RefreshEdbDataFromBaiinfo(edbInfoId int, edbCode, startDate string) (err er
 			isAdd = true
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != item.Value {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, item.Value)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, item.Value)
 				if err != nil {
 					return err
 				}
@@ -170,7 +171,7 @@ func RefreshEdbDataFromBaiinfo(edbInfoId int, edbCode, startDate string) (err er
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 94 - 12
models/base_from_calculate.go

@@ -40,6 +40,92 @@ type CalculateItems struct {
 	DataMap   map[string]float64
 }
 
+//// AddCalculate 新增计算(运算)指标
+//func AddCalculate(edbInfoIdArr []*EdbInfo, edbInfoId int, edbCode, formulaStr string, edbInfoIdBytes []string) (err error) {
+//	o := orm.NewOrm()
+//	defer func() {
+//		if err != nil {
+//			utils.FileLog.Info(fmt.Sprintf("Calculate Err:%s" + err.Error()))
+//		}
+//	}()
+//	saveDataMap := make(map[string]map[int]float64)
+//	for _, v := range edbInfoIdArr {
+//		var condition string
+//		var pars []interface{}
+//		condition += " AND edb_info_id=? "
+//		pars = append(pars, v.EdbInfoId)
+//		dataList, err := GetEdbDataListAll(condition, pars, v.Source, v.SubSource, 1)
+//		if err != nil {
+//			return err
+//		}
+//		dataMap := make(map[string]float64)
+//		for _, dv := range dataList {
+//			if val, ok := saveDataMap[dv.DataTime]; ok {
+//				if _, ok := val[v.EdbInfoId]; !ok {
+//					val[v.EdbInfoId] = dv.Value
+//				}
+//			} else {
+//				temp := make(map[int]float64)
+//				temp[v.EdbInfoId] = dv.Value
+//				saveDataMap[dv.DataTime] = temp
+//			}
+//		}
+//		item := new(CalculateItems)
+//		item.EdbInfoId = v.EdbInfoId
+//		item.DataMap = dataMap
+//	}
+//	formulaMap := utils.CheckFormula(formulaStr)
+//	addSql := ` INSERT INTO edb_data_calculate(edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) values `
+//	nowStr := time.Now().Format(utils.FormatDateTime)
+//	var isAdd bool
+//	for sk, sv := range saveDataMap {
+//		formulaStr = strings.ToUpper(formulaStr)
+//		formulaFormStr := ReplaceFormula(edbInfoIdArr, sv, formulaMap, formulaStr, edbInfoIdBytes)
+//		if formulaStr == "" {
+//			return
+//		}
+//		if formulaFormStr != "" {
+//			expression := formula.NewExpression(formulaFormStr)
+//			calResult, err := expression.Evaluate()
+//			if err != nil {
+//				err = errors.New("计算失败:Err:" + err.Error() + ";formulaStr:" + formulaFormStr)
+//				fmt.Println(err)
+//				return err
+//			}
+//			calVal, err := calResult.Float64()
+//			if err != nil {
+//				err = errors.New("计算失败:获取计算值失败 Err:" + err.Error() + ";formulaStr:" + formulaFormStr)
+//				fmt.Println(err)
+//				return err
+//			}
+//
+//			//需要存入的数据
+//			{
+//				dataTime, _ := time.ParseInLocation(utils.FormatDate, sk, time.Local)
+//				timestamp := dataTime.UnixNano() / 1e6
+//				timeStr := fmt.Sprintf("%d", timestamp)
+//				addSql += "("
+//				addSql += strconv.Itoa(edbInfoId) + "," + "'" + edbCode + "'" + "," + "'" + sk + "'" + "," + utils.SubFloatToString(calVal, 4) + "," + "'" + nowStr + "'" +
+//					"," + "'" + nowStr + "'" + "," + "'" + timeStr + "'"
+//				addSql += "),"
+//				isAdd = true
+//			}
+//		} else {
+//			fmt.Println("formulaFormStr is empty")
+//		}
+//	}
+//	if isAdd {
+//		addSql = strings.TrimRight(addSql, ",")
+//		_, err = o.Raw(addSql).Exec()
+//		if err != nil {
+//			fmt.Println("AddEdbDataCalculate Err:" + err.Error())
+//			//errMsg = " tx.Exec Err :" + err.Error()
+//			return
+//		}
+//	}
+//	return
+//}
+
 // AddCalculateInfo 新增计算(运算)指标
 func AddCalculateInfo(req EdbInfoCalculateSaveReq, calculateMappingList []*EdbInfoCalculateMapping, edbInfoList []*EdbInfo, edbCode, uniqueCode string, edbInfoIdBytes []string) (edbInfo *EdbInfo, err error) {
 
@@ -113,8 +199,7 @@ func AddCalculateInfo(req EdbInfoCalculateSaveReq, calculateMappingList []*EdbIn
 	}
 
 	//计算数据
-	err = refreshAllCalculate(to, edbInfoList, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.EdbCode, edbInfo.CalculateFormula, "", "", edbInfoIdBytes, edbInfo.EmptyType, edbInfo.MaxEmptyType)
-
+	err = refreshAllCalculate(to, edbInfoList, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo.EdbCode, edbInfo.CalculateFormula, "", "", edbInfoIdBytes, edbInfo.EmptyType, edbInfo.MaxEmptyType)
 	return
 }
 
@@ -215,10 +300,8 @@ func EditCalculateInfo(edbInfo *EdbInfo, req EdbInfoCalculateSaveReq, formulaSli
 				}
 			}
 		}
-
 		//计算数据
-		err = refreshAllCalculate(to, edbInfoList, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.EdbCode, edbInfo.CalculateFormula, "", "", edbInfoIdBytes, edbInfo.EmptyType, edbInfo.MaxEmptyType)
-
+		err = refreshAllCalculate(to, edbInfoList, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo.EdbCode, edbInfo.CalculateFormula, "", "", edbInfoIdBytes, edbInfo.EmptyType, edbInfo.MaxEmptyType)
 	}
 
 	return
@@ -261,7 +344,7 @@ func DeleteCalculateEdbInfo(edbInfoId int) (err error) {
 }
 
 // RefreshAllCalculate 刷新全部数据
-func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoId, source int, edbCode, formulaStr, startDate, endDate string, edbInfoIdBytes []string, emptyType, maxEmptyType int) (err error) {
+func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoId, source, subSource int, edbCode, formulaStr, startDate, endDate string, edbInfoIdBytes []string, emptyType, maxEmptyType int) (err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -278,13 +361,12 @@ func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoId, source int, edbCode
 	fmt.Println(startDate, endDate)
 
 	//计算数据
-	err = refreshAllCalculate(to, edbInfoIdArr, edbInfoId, source, edbCode, formulaStr, startDate, endDate, edbInfoIdBytes, emptyType, maxEmptyType)
-
+	err = refreshAllCalculate(to, edbInfoIdArr, edbInfoId, source, subSource, edbCode, formulaStr, startDate, endDate, edbInfoIdBytes, emptyType, maxEmptyType)
 	return
 }
 
 // refreshAllCalculate 刷新全部数据
-func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoId, source int, edbCode, formulaStr, startDate, endDate string, edbInfoIdBytes []string, emptyType, maxEmptyType int) (err error) {
+func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoId, source, subSource int, edbCode, formulaStr, startDate, endDate string, edbInfoIdBytes []string, emptyType, maxEmptyType int) (err error) {
 	realSaveDataMap := make(map[string]map[int]float64)
 	saveDataMap := make(map[string]map[int]float64)
 
@@ -306,7 +388,7 @@ func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoId, sou
 		//	pars = append(pars, endDate)
 		//}
 		//fmt.Println("v.Source:", v.Source)
-		dataList, err := GetEdbDataListAllByTo(to, condition, pars, v.Source, 1)
+		dataList, err := GetEdbDataListAllByTo(to, condition, pars, v.Source, v.SubSource, 1)
 		if err != nil {
 			return err
 		}
@@ -366,7 +448,7 @@ func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoId, sou
 
 	//获取指标所有数据
 	dataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)
 	_, err = to.Raw(sql, edbInfoId).QueryRows(&dataList)
@@ -499,7 +581,7 @@ func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoId, sou
 		removeDateStr := strings.Join(removeDateList, `","`)
 		removeDateStr = `"` + removeDateStr + `"`
 		//如果拼接指标变更了,那么需要删除所有的指标数据
-		tableName := GetEdbDataTableName(source)
+		tableName := GetEdbDataTableName(source, subSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
 		_, err = to.Raw(sql, edbInfoId).Exec()

+ 4 - 3
models/base_from_cffex.go

@@ -127,6 +127,7 @@ func AddEdbDataFromCffex(edbCode string) (err error) {
 // 刷新中金所指标数据
 func RefreshEdbDataFromCffex(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_CFFEX
+	subSource := utils.DATA_SUB_SOURCE_EDB
 	var suffix string
 	if strings.Contains(edbCode, "deal") {
 		suffix = "deal"
@@ -192,7 +193,7 @@ func RefreshEdbDataFromCffex(edbInfoId int, edbCode, startDate string) (err erro
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -242,7 +243,7 @@ func RefreshEdbDataFromCffex(edbInfoId int, edbCode, startDate string) (err erro
 					isAdd = true
 				} else {
 					if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != sValue {
-						err = ModifyEdbDataById(source, findItem.EdbDataId, sValue)
+						err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, sValue)
 						if err != nil {
 							return err
 						}
@@ -253,7 +254,7 @@ func RefreshEdbDataFromCffex(edbInfoId int, edbCode, startDate string) (err erro
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 4 - 3
models/base_from_coal.go

@@ -139,6 +139,7 @@ func AddEdbDataFromCoal(edbCode string) (err error) {
 
 func RefreshEdbDataFromCoal(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_COAL
+	subSource := utils.DATA_SUB_SOURCE_EDB
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -200,7 +201,7 @@ func RefreshEdbDataFromCoal(edbInfoId int, edbCode, startDate string) (err error
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -270,7 +271,7 @@ func RefreshEdbDataFromCoal(edbInfoId int, edbCode, startDate string) (err error
 					isAdd = true
 				} else {
 					if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != sValue {
-						err = ModifyEdbDataById(source, findItem.EdbDataId, sValue)
+						err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, sValue)
 						if err != nil {
 							return err
 						}
@@ -292,7 +293,7 @@ func RefreshEdbDataFromCoal(edbInfoId int, edbCode, startDate string) (err error
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 5 - 3
models/base_from_com_trade.go

@@ -127,6 +127,8 @@ func AddEdbDataFromComTrade(edbCode string) (err error) {
 // RefreshEdbDataFromComTrade 刷新UN世贸组织指标数据
 func RefreshEdbDataFromComTrade(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_COM_TRADE
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -173,7 +175,7 @@ func RefreshEdbDataFromComTrade(edbInfoId int, edbCode, startDate string) (err e
 		existPars = append(existPars, startDate)
 	}
 	//获取指标所有数据
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -207,7 +209,7 @@ func RefreshEdbDataFromComTrade(edbInfoId int, edbCode, startDate string) (err e
 			}
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != sValue {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, sValue)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, sValue)
 				if err != nil {
 					return err
 				}
@@ -227,7 +229,7 @@ func RefreshEdbDataFromComTrade(edbInfoId int, edbCode, startDate string) (err e
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 5 - 3
models/base_from_dl.go

@@ -127,6 +127,8 @@ func AddEdbDataFromDl(edbCode string) (err error) {
 // 刷新大商所指标数据
 func RefreshEdbDataFromDl(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_DL
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -190,7 +192,7 @@ func RefreshEdbDataFromDl(edbInfoId int, edbCode, startDate string) (err error)
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -229,7 +231,7 @@ func RefreshEdbDataFromDl(edbInfoId int, edbCode, startDate string) (err error)
 					isAdd = true
 				} else {
 					if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != sValue {
-						err = ModifyEdbDataById(source, findItem.EdbDataId, sValue)
+						err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, sValue)
 						if err != nil {
 							return err
 						}
@@ -250,7 +252,7 @@ func RefreshEdbDataFromDl(edbInfoId int, edbCode, startDate string) (err error)
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 5 - 3
models/base_from_eia_steo.go

@@ -84,6 +84,8 @@ func AddEdbDataFromEiaSteo(edbCode string) (err error) {
 // RefreshEdbDataFromEiaSteo 刷新钢联指标数据
 func RefreshEdbDataFromEiaSteo(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_EIA_STEO
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -132,7 +134,7 @@ func RefreshEdbDataFromEiaSteo(edbInfoId int, edbCode, startDate string) (err er
 		existPars = append(existPars, startDate)
 	}
 	//获取指标所有数据
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -166,7 +168,7 @@ func RefreshEdbDataFromEiaSteo(edbInfoId int, edbCode, startDate string) (err er
 			}
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != sValue {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, sValue)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, sValue)
 				if err != nil {
 					return err
 				}
@@ -186,7 +188,7 @@ func RefreshEdbDataFromEiaSteo(edbInfoId int, edbCode, startDate string) (err er
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 5 - 3
models/base_from_fubao.go

@@ -59,6 +59,8 @@ func AddEdbDataFromFubao(edbCode string, fubaoData *FuBaoData) (err error) {
 // 刷新路透指标数据
 func RefreshEdbDataFromFubao(edbInfoId int, edbCode, startDate string, fubaoData *FuBaoData) (err error) {
 	source := utils.DATA_SOURCE_FUBAO
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 
 	// 真实数据的最大日期  , 插入规则配置的日期
@@ -85,7 +87,7 @@ func RefreshEdbDataFromFubao(edbInfoId int, edbCode, startDate string, fubaoData
 	//	existPars = append(existPars, startDate)
 	//}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -124,7 +126,7 @@ func RefreshEdbDataFromFubao(edbInfoId int, edbCode, startDate string, fubaoData
 			fmt.Println("update end")
 
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != dataItem.PriceStr {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, dataItem.PriceStr)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, dataItem.PriceStr)
 				if err != nil {
 					return err
 				}
@@ -143,7 +145,7 @@ func RefreshEdbDataFromFubao(edbInfoId int, edbCode, startDate string, fubaoData
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 5 - 3
models/base_from_gie.go

@@ -237,6 +237,8 @@ func AddEdbDataFromGie(edbCode string) (err error) {
 // 刷新欧洲天然气指标数据
 func RefreshEdbDataFromGie(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_GIE
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -311,7 +313,7 @@ func RefreshEdbDataFromGie(edbInfoId int, edbCode, startDate string) (err error)
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -367,7 +369,7 @@ func RefreshEdbDataFromGie(edbInfoId int, edbCode, startDate string) (err error)
 			}
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != itemValue {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, itemValue)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, itemValue)
 				if err != nil {
 					return err
 				}
@@ -387,7 +389,7 @@ func RefreshEdbDataFromGie(edbInfoId int, edbCode, startDate string) (err error)
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 5 - 3
models/base_from_google_travel.go

@@ -82,6 +82,8 @@ func AddEdbDataGoogleTravel(edbCode string) (err error) {
 // 刷新大商所指标数据
 func RefreshEdbDataGoogleTravel(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_GOOGLE_TRAVEL
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -131,7 +133,7 @@ func RefreshEdbDataGoogleTravel(edbInfoId int, edbCode, startDate string) (err e
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -163,7 +165,7 @@ func RefreshEdbDataGoogleTravel(edbInfoId int, edbCode, startDate string) (err e
 					isAdd = true
 				} else {
 					if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != sValue {
-						err = ModifyEdbDataById(source, findItem.EdbDataId, sValue)
+						err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, sValue)
 						if err != nil {
 							return err
 						}
@@ -184,7 +186,7 @@ func RefreshEdbDataGoogleTravel(edbInfoId int, edbCode, startDate string) (err e
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 5 - 5
models/base_from_jiayue.go

@@ -112,7 +112,7 @@ func AddEdbDataFromJiaYue(tableName, edbCode string, dataList []BridgeJiaYueInde
 }
 
 // RefreshEdbDataFromJiaYue 刷新嘉悦指标数据
-func RefreshEdbDataFromJiaYue(source, edbInfoId int, tableName, edbCode, startDate string, dataList []BridgeJiaYueIndexData) (err error) {
+func RefreshEdbDataFromJiaYue(source, subSource, edbInfoId int, tableName, edbCode, startDate string, dataList []BridgeJiaYueIndexData) (err error) {
 	if source <= 0 {
 		err = fmt.Errorf("指标来源有误")
 		return
@@ -151,7 +151,7 @@ func RefreshEdbDataFromJiaYue(source, edbInfoId int, tableName, edbCode, startDa
 		pars = append(pars, startDate)
 		startDateTime, _ = time.ParseInLocation(utils.FormatDate, startDate, time.Local)
 	}
-	existList, e := GetEdbDataByCondition(source, cond, pars)
+	existList, e := GetEdbDataByCondition(source, subSource, cond, pars)
 	if e != nil {
 		err = fmt.Errorf("获取指标已有数据失败, Err: %s", e.Error())
 		return
@@ -173,7 +173,7 @@ func RefreshEdbDataFromJiaYue(source, edbInfoId int, tableName, edbCode, startDa
 
 		// 如果传入的开始时间是空的, 且当前数据日期早于传入的开始日期, 那么需要判断下当前日期的数据是否存在
 		if !startDateTime.IsZero() && v.DataTime.Before(startDateTime) {
-			t, e := GetEdbDataByDate(source, edbCode, dataTime)
+			t, e := GetEdbDataByDate(source, subSource, edbCode, dataTime)
 			if e == nil && t != nil {
 				existMap[t.DataTime] = t
 			}
@@ -203,7 +203,7 @@ func RefreshEdbDataFromJiaYue(source, edbInfoId int, tableName, edbCode, startDa
 
 		// 更新数据
 		if exist != nil && utils.SubFloatToString(exist.Value, 30) != val {
-			if e = ModifyEdbDataById(source, exist.EdbDataId, val); e != nil {
+			if e = ModifyEdbDataById(source, subSource, exist.EdbDataId, val); e != nil {
 				err = fmt.Errorf("modify edb data err: %s", e.Error())
 				return
 			}
@@ -211,7 +211,7 @@ func RefreshEdbDataFromJiaYue(source, edbInfoId int, tableName, edbCode, startDa
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	// 执行新增
 	if !hasNew {

+ 5 - 3
models/base_from_lt.go

@@ -55,6 +55,8 @@ func AddEdbDataFromLt(edbCode string, ltDataList map[int64]interface{}) (err err
 // 刷新路透指标数据
 func RefreshEdbDataFromLt(edbInfoId int, edbCode, startDate string, ltDataList map[int64]interface{}) (err error) {
 	source := utils.DATA_SOURCE_LT
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 
 	// 真实数据的最大日期  , 插入规则配置的日期
@@ -81,7 +83,7 @@ func RefreshEdbDataFromLt(edbInfoId int, edbCode, startDate string, ltDataList m
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -123,7 +125,7 @@ func RefreshEdbDataFromLt(edbInfoId int, edbCode, startDate string, ltDataList m
 			isAdd = true
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != saveValue {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, saveValue)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, saveValue)
 				if err != nil {
 					return err
 				}
@@ -142,7 +144,7 @@ func RefreshEdbDataFromLt(edbInfoId int, edbCode, startDate string, ltDataList m
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 5 - 3
models/base_from_lz.go

@@ -78,6 +78,8 @@ func AddEdbDataFromLz(edbCode string) (err error) {
 // 刷新隆众指标数据
 func RefreshEdbDataFromLz(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_LZ
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 
 	// 真实数据的最大日期  , 插入规则配置的日期
@@ -121,7 +123,7 @@ func RefreshEdbDataFromLz(edbInfoId int, edbCode, startDate string) (err error)
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -149,7 +151,7 @@ func RefreshEdbDataFromLz(edbInfoId int, edbCode, startDate string) (err error)
 			isAdd = true
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != saveValue {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, saveValue)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, saveValue)
 				if err != nil {
 					return err
 				}
@@ -168,7 +170,7 @@ func RefreshEdbDataFromLz(edbInfoId int, edbCode, startDate string) (err error)
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 8 - 6
models/base_from_manual.go

@@ -84,6 +84,8 @@ func AddEdbDataFromManual(edbCode string) (err error) {
 // RefreshEdbDataFromManual 刷新手工指标数据
 func RefreshEdbDataFromManual(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_MANUAL
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -137,7 +139,7 @@ func RefreshEdbDataFromManual(edbInfoId int, edbCode, startDate string) (err err
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -174,7 +176,7 @@ func RefreshEdbDataFromManual(edbInfoId int, edbCode, startDate string) (err err
 			isAdd = true
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != item.Close {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, item.Close)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, item.Close)
 				if err != nil {
 					return err
 				}
@@ -198,7 +200,7 @@ func RefreshEdbDataFromManual(edbInfoId int, edbCode, startDate string) (err err
 
 			// 但是由于引入手动插入最新值,那么需要判断该日期值,是否等于,如果等于,则不删除该日期值
 			if edbDataInsertConfigDateStr == `` || edbDataInsertConfigDateStr != v.DataTime {
-				DeleteEdbDataById(utils.DATA_SOURCE_MANUAL, v.EdbDataId)
+				DeleteEdbDataById(utils.DATA_SOURCE_MANUAL, subSource, v.EdbDataId)
 			}
 		}
 	}
@@ -212,13 +214,13 @@ func RefreshEdbDataFromManual(edbInfoId int, edbCode, startDate string) (err err
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	return
 }
 
 // HandleConfigInsertEdbData 处理手工数据补充的配置
-func HandleConfigInsertEdbData(realDataMaxDate time.Time, edbDataInsertConfig *EdbDataInsertConfig, edbInfoId, source int, existMap map[string]*EdbInfoSearchData, isFindConfigDateRealData bool) {
+func HandleConfigInsertEdbData(realDataMaxDate time.Time, edbDataInsertConfig *EdbDataInsertConfig, edbInfoId, source, subSource int, existMap map[string]*EdbInfoSearchData, isFindConfigDateRealData bool) {
 	if edbDataInsertConfig == nil {
 		return
 	}
@@ -237,7 +239,7 @@ func HandleConfigInsertEdbData(realDataMaxDate time.Time, edbDataInsertConfig *E
 		edbDataInsertConfigDateStr := edbDataInsertConfigDate.Format(utils.FormatDate)
 		// 如果没有找到找到配置日期的实际数据,那么就直接删除
 		if item, ok := existMap[edbDataInsertConfigDateStr]; ok && !isFindConfigDateRealData {
-			DeleteEdbDataById(source, item.EdbDataId)
+			DeleteEdbDataById(source, subSource, item.EdbDataId)
 		}
 	} else {
 		o := orm.NewOrm()

+ 5 - 3
models/base_from_mysteel.go

@@ -98,6 +98,8 @@ func AddEdbDataFromMysteel(edbCode string) (err error) {
 // 刷新钢联指标数据
 func RefreshEdbDataFromMysteel(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_GL
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -146,7 +148,7 @@ func RefreshEdbDataFromMysteel(edbInfoId int, edbCode, startDate string) (err er
 		existPars = append(existPars, startDate)
 	}
 	//获取指标所有数据
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -180,7 +182,7 @@ func RefreshEdbDataFromMysteel(edbInfoId int, edbCode, startDate string) (err er
 			}
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != sValue {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, sValue)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, sValue)
 				if err != nil {
 					return err
 				}
@@ -200,7 +202,7 @@ func RefreshEdbDataFromMysteel(edbInfoId int, edbCode, startDate string) (err er
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 5 - 3
models/base_from_mysteel_chemical.go

@@ -84,6 +84,8 @@ func AddEdbDataFromMysteelChemical(edbCode string) (err error) {
 // RefreshEdbDataFromMysteelChemical 刷新钢联指标数据
 func RefreshEdbDataFromMysteelChemical(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_MYSTEEL_CHEMICAL
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -132,7 +134,7 @@ func RefreshEdbDataFromMysteelChemical(edbInfoId int, edbCode, startDate string)
 		existPars = append(existPars, startDate)
 	}
 	//获取指标所有数据
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -166,7 +168,7 @@ func RefreshEdbDataFromMysteelChemical(edbInfoId int, edbCode, startDate string)
 			}
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != sValue {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, sValue)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, sValue)
 				if err != nil {
 					return err
 				}
@@ -186,7 +188,7 @@ func RefreshEdbDataFromMysteelChemical(edbInfoId int, edbCode, startDate string)
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 5 - 3
models/base_from_national_statistics.go

@@ -77,6 +77,8 @@ func AddEdbDataFromNationalStatistics(edbCode string) (err error) {
 // RefreshEdbDataFromNationalStatistics 刷新国家统计局指标数据
 func RefreshEdbDataFromNationalStatistics(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_NATIONAL_STATISTICS
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -123,7 +125,7 @@ func RefreshEdbDataFromNationalStatistics(edbInfoId int, edbCode, startDate stri
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -150,7 +152,7 @@ func RefreshEdbDataFromNationalStatistics(edbInfoId int, edbCode, startDate stri
 			isAdd = true
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != item.Value {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, item.Value)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, item.Value)
 				if err != nil {
 					return err
 				}
@@ -169,7 +171,7 @@ func RefreshEdbDataFromNationalStatistics(edbInfoId int, edbCode, startDate stri
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 4 - 3
models/base_from_pb.go

@@ -65,6 +65,7 @@ func AddEdbDataFromPb(edbCode string, item *EdbDataFromPb) (err error) {
 func RefreshEdbDataFromPb(edbInfoId int, edbCode, startDate string, item *EdbDataFromPb) (err error) {
 	o := orm.NewOrm()
 	source := utils.DATA_SOURCE_PB
+	subSource := utils.DATA_SUB_SOURCE_EDB
 
 	// 真实数据的最大日期  , 插入规则配置的日期
 	var realDataMaxDate, edbDataInsertConfigDate time.Time
@@ -88,7 +89,7 @@ func RefreshEdbDataFromPb(edbInfoId int, edbCode, startDate string, item *EdbDat
 
 	condition += " AND data_time>=? "
 	pars = append(pars, startDate)
-	existList, err := GetEdbDataByCondition(source, condition, pars)
+	existList, err := GetEdbDataByCondition(source, subSource, condition, pars)
 	existMap := make(map[string]*EdbInfoSearchData)
 	for _, v := range existList {
 		existMap[v.DataTime] = v
@@ -132,7 +133,7 @@ func RefreshEdbDataFromPb(edbInfoId int, edbCode, startDate string, item *EdbDat
 					}
 				} else {
 					if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != saveValue {
-						err = ModifyEdbDataById(source, findItem.EdbDataId, saveValue)
+						err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, saveValue)
 						if err != nil {
 							return err
 						}
@@ -153,7 +154,7 @@ func RefreshEdbDataFromPb(edbInfoId int, edbCode, startDate string, item *EdbDat
 		}
 
 		// 处理手工数据补充的配置
-		HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+		HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 		if isAdd {
 			addSql = strings.TrimRight(addSql, ",")

+ 4 - 3
models/base_from_pb_finance.go

@@ -47,6 +47,7 @@ func AddEdbDataFromPbFinance(edbCode string, item *EdbDataFromPb) (err error) {
 func RefreshEdbDataFromPbFinance(edbInfoId int, edbCode, startDate string, item *EdbDataFromPb) (err error) {
 	o := orm.NewOrm()
 	source := utils.DATA_SOURCE_PB_FINANCE
+	subSource := utils.DATA_SUB_SOURCE_DATE
 
 	// 真实数据的最大日期  , 插入规则配置的日期
 	var realDataMaxDate, edbDataInsertConfigDate time.Time
@@ -70,7 +71,7 @@ func RefreshEdbDataFromPbFinance(edbInfoId int, edbCode, startDate string, item
 
 	condition += " AND data_time>=? "
 	pars = append(pars, startDate)
-	existList, err := GetEdbDataByCondition(source, condition, pars)
+	existList, err := GetEdbDataByCondition(source, subSource, condition, pars)
 	existMap := make(map[string]*EdbInfoSearchData)
 	for _, v := range existList {
 		existMap[v.DataTime] = v
@@ -110,7 +111,7 @@ func RefreshEdbDataFromPbFinance(edbInfoId int, edbCode, startDate string, item
 					}
 				} else {
 					if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != saveValue {
-						err = ModifyEdbDataById(source, findItem.EdbDataId, saveValue)
+						err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, saveValue)
 						if err != nil {
 							return err
 						}
@@ -130,7 +131,7 @@ func RefreshEdbDataFromPbFinance(edbInfoId int, edbCode, startDate string, item
 		}
 
 		// 处理手工数据补充的配置
-		HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+		HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 		if isAdd {
 			addSql = strings.TrimRight(addSql, ",")

+ 2 - 2
models/base_from_python.go

@@ -210,7 +210,7 @@ func RefreshAllPythonEdb(edbInfo *EdbInfo, item EdbDataFromPython) (err error) {
 			removeDateStr := strings.Join(removeDateList, `","`)
 			removeDateStr = `"` + removeDateStr + `"`
 			//如果拼接指标变更了,那么需要删除所有的指标数据
-			tableName := GetEdbDataTableName(edbInfo.Source)
+			tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
 			_, err = o.Raw(sql, edbInfo.EdbInfoId).Exec()
@@ -223,7 +223,7 @@ func RefreshAllPythonEdb(edbInfo *EdbInfo, item EdbDataFromPython) (err error) {
 
 	//修改现有的数据中对应的值
 	{
-		tableName := GetEdbDataTableName(edbInfo.Source)
+		tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 		for edbDate, edbDataValue := range updateEdbDataMap {
 			sql := fmt.Sprintf(` UPDATE  %s set value = ?,modify_time=now() WHERE edb_info_id = ? and data_time = ? `, tableName)
 

+ 5 - 3
models/base_from_sci.go

@@ -101,6 +101,8 @@ func AddEdbDataFromSci(edbCode string) (err error) {
 // RefreshEdbDataFromSci 刷新卓创(红桃3)指标数据
 func RefreshEdbDataFromSci(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_SCI
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -149,7 +151,7 @@ func RefreshEdbDataFromSci(edbInfoId int, edbCode, startDate string) (err error)
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -176,7 +178,7 @@ func RefreshEdbDataFromSci(edbInfoId int, edbCode, startDate string) (err error)
 			isAdd = true
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != item.Value {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, item.Value)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, item.Value)
 				if err != nil {
 					return err
 				}
@@ -195,7 +197,7 @@ func RefreshEdbDataFromSci(edbInfoId int, edbCode, startDate string) (err error)
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 5 - 4
models/base_from_sh.go

@@ -128,6 +128,8 @@ func AddEdbDataFromSh(edbCode string) (err error) {
 // 刷新上期所指标数据
 func RefreshEdbDataFromSh(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_SH
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -191,7 +193,7 @@ func RefreshEdbDataFromSh(edbInfoId int, edbCode, startDate string) (err error)
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -230,7 +232,7 @@ func RefreshEdbDataFromSh(edbInfoId int, edbCode, startDate string) (err error)
 					isAdd = true
 				} else {
 					if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != sValue {
-						err = ModifyEdbDataById(source, findItem.EdbDataId, sValue)
+						err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, sValue)
 						if err != nil {
 							return err
 						}
@@ -251,7 +253,7 @@ func RefreshEdbDataFromSh(edbInfoId int, edbCode, startDate string) (err error)
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
@@ -344,4 +346,3 @@ func ModifyBaseFromTradeShangHaiIndex(dealValue, buyValue, soldValue int, dataId
 	_, err = o.Raw(sql, dealValue, buyValue, soldValue, dataId).Exec()
 	return
 }
-

+ 8 - 6
models/base_from_shfe.go

@@ -126,6 +126,8 @@ func AddEdbDataFromShfe(edbCode string) (err error) {
 // 刷新上期能源指标数据
 func RefreshEdbDataFromShfe(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_SHFE
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -189,7 +191,7 @@ func RefreshEdbDataFromShfe(edbInfoId int, edbCode, startDate string) (err error
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -228,7 +230,7 @@ func RefreshEdbDataFromShfe(edbInfoId int, edbCode, startDate string) (err error
 					isAdd = true
 				} else {
 					if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != saveValue {
-						err = ModifyEdbDataById(source, findItem.EdbDataId, saveValue)
+						err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, saveValue)
 						if err != nil {
 							return err
 						}
@@ -249,7 +251,7 @@ func RefreshEdbDataFromShfe(edbInfoId int, edbCode, startDate string) (err error
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
@@ -329,8 +331,8 @@ func AddBaseFromTradeMapping(indexName, indexCode, exchange string) (err error)
 }
 
 type RefreshINEExchangeReq struct {
-	Date     string `description:"日期"`
-	Data     IneJSONData
+	Date string `description:"日期"`
+	Data IneJSONData
 }
 
 type IneJSONData struct {
@@ -357,4 +359,4 @@ type OCursor struct {
 	Productsortno    interface{} `json:"PRODUCTSORTNO"`
 	SoldOut          interface{} `json:"CJ3"`
 	Change2          interface{} `json:"CJ2_CHG"`
-}
+}

+ 5 - 3
models/base_from_smm.go

@@ -82,6 +82,8 @@ func AddEdbDataFromSmm(edbCode string) (err error) {
 // RefreshEdbDataFromSmm 刷新有色指标数据
 func RefreshEdbDataFromSmm(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_YS
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -130,7 +132,7 @@ func RefreshEdbDataFromSmm(edbInfoId int, edbCode, startDate string) (err error)
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -157,7 +159,7 @@ func RefreshEdbDataFromSmm(edbInfoId int, edbCode, startDate string) (err error)
 			isAdd = true
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != item.Value {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, item.Value)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, item.Value)
 				if err != nil {
 					return err
 				}
@@ -176,7 +178,7 @@ func RefreshEdbDataFromSmm(edbInfoId int, edbCode, startDate string) (err error)
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 5 - 3
models/base_from_stock_plant.go

@@ -32,6 +32,8 @@ func GetStockPlantEdbDataByCondition(condition string, pars []interface{}) (item
 // RefreshEdbDataFromStockPlant 刷新存量装置数据
 func RefreshEdbDataFromStockPlant(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_STOCK_PLANT
+	subSource := utils.DATA_SUB_SOURCE_EDB
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -71,7 +73,7 @@ func RefreshEdbDataFromStockPlant(edbInfoId int, edbCode, startDate string) (err
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -101,7 +103,7 @@ func RefreshEdbDataFromStockPlant(edbInfoId int, edbCode, startDate string) (err
 			isAdd = true
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 4) != item.Value {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, item.Value)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, item.Value)
 				if err != nil {
 					return err
 				}
@@ -112,7 +114,7 @@ func RefreshEdbDataFromStockPlant(edbInfoId int, edbCode, startDate string) (err
 	// 删除不存在的日期数据
 	for _, v := range existList {
 		if _, ok := manualMap[v.DataTime]; !ok {
-			go DeleteEdbDataById(source, v.EdbDataId)
+			go DeleteEdbDataById(source, subSource, v.EdbDataId)
 		}
 	}
 

+ 5 - 4
models/base_from_ths.go

@@ -42,7 +42,7 @@ func AddEdbDataFromThs(edbCode string, item EdbDataFromThs) (err error) {
 
 		var isAdd bool
 		addSql := ` INSERT INTO %s(edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) values `
-		tableName := GetEdbDataTableName(utils.DATA_SOURCE_THS)
+		tableName := GetEdbDataTableName(utils.DATA_SOURCE_THS, utils.DATA_SUB_SOURCE_EDB)
 		addSql = fmt.Sprintf(addSql, tableName)
 
 		for i := 0; i < dataLen; i++ {
@@ -74,6 +74,7 @@ func AddEdbDataFromThs(edbCode string, item EdbDataFromThs) (err error) {
 func RefreshEdbDataFromThs(edbInfoId int, edbCode, startDate string, item EdbDataFromThs) (err error) {
 	o := orm.NewOrm()
 	source := utils.DATA_SOURCE_THS
+	subSource := utils.DATA_SUB_SOURCE_DATE
 
 	// 真实数据的最大日期  , 插入规则配置的日期
 	var realDataMaxDate, edbDataInsertConfigDate time.Time
@@ -100,7 +101,7 @@ func RefreshEdbDataFromThs(edbInfoId int, edbCode, startDate string, item EdbDat
 			pars = append(pars, startDate)
 		}
 
-		existList, err := GetEdbDataByCondition(source, condition, pars)
+		existList, err := GetEdbDataByCondition(source, subSource, condition, pars)
 		if err != nil {
 			return err
 		}
@@ -135,7 +136,7 @@ func RefreshEdbDataFromThs(edbInfoId int, edbCode, startDate string, item EdbDat
 				}
 			} else {
 				if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != utils.SubFloatToString(sValue, 30) {
-					err = ModifyEdbDataById(source, findItem.EdbDataId, sValueStr)
+					err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, sValueStr)
 					if err != nil {
 						return err
 					}
@@ -154,7 +155,7 @@ func RefreshEdbDataFromThs(edbInfoId int, edbCode, startDate string, item EdbDat
 		}
 
 		// 处理手工数据补充的配置
-		HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+		HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 		if isAdd {
 			addSql = strings.TrimRight(addSql, ",")

+ 5 - 4
models/base_from_wind.go

@@ -47,6 +47,7 @@ func AddEdbDataFromWind(edbCode string, item *EdbDataFromWind) (err error) {
 func RefreshEdbDataFromWind(edbInfoId int, edbCode, startDate string, item *EdbDataFromWind) (err error) {
 	o := orm.NewOrm()
 	source := utils.DATA_SOURCE_WIND
+	subSource := utils.DATA_SUB_SOURCE_EDB
 
 	// 真实数据的最大日期  , 插入规则配置的日期
 	var realDataMaxDate, edbDataInsertConfigDate time.Time
@@ -75,7 +76,7 @@ func RefreshEdbDataFromWind(edbInfoId int, edbCode, startDate string, item *EdbD
 		startDateTime, _ = time.ParseInLocation(utils.FormatDate, startDate, time.Local)
 	}
 
-	existList, err := GetEdbDataByCondition(source, condition, pars)
+	existList, err := GetEdbDataByCondition(source, subSource, condition, pars)
 	existMap := make(map[string]*EdbInfoSearchData)
 	for _, v := range existList {
 		existMap[v.DataTime] = v
@@ -96,7 +97,7 @@ func RefreshEdbDataFromWind(edbInfoId int, edbCode, startDate string, item *EdbD
 
 		//如果传入的开始时间是空的,且当前数据日期早于传入的开始日期,那么需要判断下当前日期的数据是否存在
 		if !startDateTime.IsZero() && t.Before(startDateTime) {
-			tmpItem, tmpErr := GetEdbDataByDate(source, edbCode, dateTime)
+			tmpItem, tmpErr := GetEdbDataByDate(source, subSource, edbCode, dateTime)
 			if tmpErr == nil && tmpItem != nil {
 				existMap[tmpItem.DataTime] = tmpItem
 			}
@@ -110,7 +111,7 @@ func RefreshEdbDataFromWind(edbInfoId int, edbCode, startDate string, item *EdbD
 			}
 		} else {
 			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != saveVal {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, saveVal)
+				err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, saveVal)
 				if err != nil {
 					return err
 				}
@@ -129,7 +130,7 @@ func RefreshEdbDataFromWind(edbInfoId int, edbCode, startDate string, item *EdbD
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 72 - 40
models/base_from_wind_wsd.go

@@ -20,6 +20,10 @@ func AddEdbDataFromWindWsd(stockCode string, item map[string]map[string]interfac
 	indexCodeMap := make(map[string]string)
 	for wk, wv := range item {
 		for vk, vv := range wv {
+			if vv == nil {
+				continue
+			}
+
 			var indexCode string
 			wkInt, err := strconv.ParseInt(wk, 10, 64)
 			if err != nil {
@@ -47,9 +51,7 @@ func AddEdbDataFromWindWsd(stockCode string, item map[string]map[string]interfac
 			timeStr := fmt.Sprintf("%d", timestamp)
 
 			//saveVal := utils.SubFloatToString(val, 20)
-			if vv == nil {
-				continue
-			}
+
 			var saveVal string
 			switch vt := vv.(type) {
 			case int:
@@ -65,7 +67,6 @@ func AddEdbDataFromWindWsd(stockCode string, item map[string]map[string]interfac
 	}
 
 	if isAdd {
-
 		for _, v := range indexCodeMap {
 			var count int
 			sql := ` SELECT COUNT(1) FROM edb_data_wind_wsd WHERE edb_code=? `
@@ -93,9 +94,10 @@ func AddEdbDataFromWindWsd(stockCode string, item map[string]map[string]interfac
 }
 
 // RefreshEdbDataFromWind 刷新wind指标数据
-func RefreshEdbDataFromWindWsd(edbInfoId int, edbCode, startDate string, item *EdbDataFromWind) (err error) {
+func RefreshEdbDataFromWindWsd(edbInfoId int, edbCode, startDate string, item map[string]map[string]interface{}) (err error) {
 	o := orm.NewOrm()
 	source := utils.DATA_SOURCE_WIND
+	subSource := utils.DATA_SUB_SOURCE_DATE
 
 	// 真实数据的最大日期  , 插入规则配置的日期
 	var realDataMaxDate, edbDataInsertConfigDate time.Time
@@ -124,7 +126,7 @@ func RefreshEdbDataFromWindWsd(edbInfoId int, edbCode, startDate string, item *E
 		startDateTime, _ = time.ParseInLocation(utils.FormatDate, startDate, time.Local)
 	}
 
-	existList, err := GetEdbDataByCondition(source, condition, pars)
+	existList, err := GetEdbDataByCondition(source, subSource, condition, pars)
 	existMap := make(map[string]*EdbInfoSearchData)
 	for _, v := range existList {
 		existMap[v.DataTime] = v
@@ -133,52 +135,82 @@ func RefreshEdbDataFromWindWsd(edbInfoId int, edbCode, startDate string, item *E
 	var isAdd bool
 	addMap := make(map[string]string)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
-	for k, v := range item.Dt {
-		timeStr := fmt.Sprintf("%d", v)
-		v = v / 1000
-		t := time.Unix(v, 0)
-		dateTime := t.Format(utils.FormatDate)
-		t, _ = time.ParseInLocation(utils.FormatDate, dateTime, time.Local) // 这里的目的是为了处理成北京时间,所以多转一遍
-
-		val := item.Close[k]
-		saveVal := utils.SubFloatToString(val, 30)
-
-		//如果传入的开始时间是空的,且当前数据日期早于传入的开始日期,那么需要判断下当前日期的数据是否存在
-		if !startDateTime.IsZero() && t.Before(startDateTime) {
-			tmpItem, tmpErr := GetEdbDataByDate(source, edbCode, dateTime)
-			if tmpErr == nil && tmpItem != nil {
-				existMap[tmpItem.DataTime] = tmpItem
+
+	for wk, wv := range item {
+		for vk, vv := range wv {
+			if vv == nil {
+				continue
 			}
-		}
 
-		if findItem, ok := existMap[dateTime]; !ok {
-			if _, existOk := addMap[dateTime]; !existOk {
-				isAdd = true
-				addSql += GetAddSql(edbInfoIdStr, edbCode, dateTime, timeStr, saveVal)
-				addMap[dateTime] = saveVal
+			wkInt, err := strconv.ParseInt(wk, 10, 64)
+			if err != nil {
+				fmt.Println("ParseInt Err:" + err.Error() + ";wk:" + wk)
+				return err
 			}
-		} else {
-			if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != saveVal {
-				err = ModifyEdbDataById(source, findItem.EdbDataId, saveVal)
-				if err != nil {
-					return err
+
+			vk = strings.ToLower(vk)
+
+			wkInt = wkInt / 1000
+			t := time.Unix(wkInt, 0)
+			if t.After(time.Now()) {
+				continue
+			}
+			dateTime := t.Format(utils.FormatDate)
+
+			dataTime, err := time.ParseInLocation(utils.FormatDate, dateTime, time.Local)
+			if err != nil {
+				return err
+			}
+			timestamp := dataTime.UnixNano() / 1e6
+			timeStr := fmt.Sprintf("%d", timestamp)
+
+			var saveVal string
+			switch vt := vv.(type) {
+			case int:
+				saveVal = strconv.Itoa(vt)
+			case float64:
+				saveVal = utils.SubFloatToFloatStr(vt, 20)
+			case string:
+				saveVal = vt
+			}
+
+			//如果传入的开始时间是空的,且当前数据日期早于传入的开始日期,那么需要判断下当前日期的数据是否存在
+			if !startDateTime.IsZero() && t.Before(startDateTime) {
+				tmpItem, tmpErr := GetEdbDataByDate(source, subSource, edbCode, dateTime)
+				if tmpErr == nil && tmpItem != nil {
+					existMap[tmpItem.DataTime] = tmpItem
 				}
 			}
-		}
 
-		// 下面代码主要目的是处理掉手动插入的数据判断
-		{
-			if realDataMaxDate.IsZero() || t.After(realDataMaxDate) {
-				realDataMaxDate = t
+			if findItem, ok := existMap[dateTime]; !ok {
+				if _, existOk := addMap[dateTime]; !existOk {
+					isAdd = true
+					addSql += GetAddSql(edbInfoIdStr, edbCode, dateTime, timeStr, saveVal)
+					addMap[dateTime] = saveVal
+				}
+			} else {
+				if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != saveVal {
+					err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, saveVal)
+					if err != nil {
+						return err
+					}
+				}
 			}
-			if edbDataInsertConfigDate.IsZero() || t.Equal(edbDataInsertConfigDate) {
-				isFindConfigDateRealData = true
+
+			// 下面代码主要目的是处理掉手动插入的数据判断
+			{
+				if realDataMaxDate.IsZero() || t.After(realDataMaxDate) {
+					realDataMaxDate = t
+				}
+				if edbDataInsertConfigDate.IsZero() || t.Equal(edbDataInsertConfigDate) {
+					isFindConfigDateRealData = true
+				}
 			}
 		}
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 5 - 3
models/base_from_zz.go

@@ -127,6 +127,8 @@ func AddEdbDataFromZz(edbCode string) (err error) {
 // 刷新郑商所指标数据
 func RefreshEdbDataFromZz(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_ZZ
+	subSource := utils.DATA_SUB_SOURCE_DATE
+
 	o := orm.NewOrm()
 	if err != nil {
 		return
@@ -190,7 +192,7 @@ func RefreshEdbDataFromZz(edbInfoId int, edbCode, startDate string) (err error)
 		existPars = append(existPars, startDate)
 	}
 
-	existList, err := GetEdbDataByCondition(source, existCondition, existPars)
+	existList, err := GetEdbDataByCondition(source, subSource, existCondition, existPars)
 	if err != nil {
 		return err
 	}
@@ -230,7 +232,7 @@ func RefreshEdbDataFromZz(edbInfoId int, edbCode, startDate string) (err error)
 					isAdd = true
 				} else {
 					if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != sValue {
-						err = ModifyEdbDataById(source, findItem.EdbDataId, sValue)
+						err = ModifyEdbDataById(source, subSource, findItem.EdbDataId, sValue)
 						if err != nil {
 							return err
 						}
@@ -251,7 +253,7 @@ func RefreshEdbDataFromZz(edbInfoId int, edbCode, startDate string) (err error)
 	}
 
 	// 处理手工数据补充的配置
-	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, existMap, isFindConfigDateRealData)
+	HandleConfigInsertEdbData(realDataMaxDate, edbDataInsertConfig, edbInfoId, source, subSource, existMap, isFindConfigDateRealData)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")

+ 7 - 9
models/base_predict_from_calculate.go

@@ -78,7 +78,7 @@ func EditPredictCalculate(edbInfo *EdbInfo, calculateMappingList []*EdbInfoCalcu
 	}
 
 	//数据表
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	//清空原有数据
 	sql = ` DELETE FROM ` + tableName + ` WHERE edb_info_id = ? `
 	_, err = o.Raw(sql, edbInfo.EdbInfoId).Exec()
@@ -238,12 +238,12 @@ func AddPredictCalculateData(edbInfoIdList []*EdbInfo, edbInfo *EdbInfo, edbCode
 		}
 	}()
 
-	latestDateStr, latestValue, err = refreshAllPredictCalculate(to, edbInfoIdList, edbInfo.EdbInfoId, edbInfo.Source, edbCode, formulaStr, "", edbInfoIdBytes, edbInfo.EmptyType, edbInfo.MaxEmptyType)
+	latestDateStr, latestValue, err = refreshAllPredictCalculate(to, edbInfoIdList, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbCode, formulaStr, "", edbInfoIdBytes, edbInfo.EmptyType, edbInfo.MaxEmptyType)
 	return
 }
 
 // RefreshAllPredictCalculate 刷新预测计算指标的全部数据
-func RefreshAllPredictCalculate(edbInfoIdList []*EdbInfo, edbInfoId, source int, edbCode, formulaStr, startDate string, edbInfoIdBytes []string, emptyType, maxEmptyType int) (latestDateStr string, latestValue float64, err error) {
+func RefreshAllPredictCalculate(edbInfoIdList []*EdbInfo, edbInfoId, source, subSource int, edbCode, formulaStr, startDate string, edbInfoIdBytes []string, emptyType, maxEmptyType int) (latestDateStr string, latestValue float64, err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -257,14 +257,12 @@ func RefreshAllPredictCalculate(edbInfoIdList []*EdbInfo, edbInfoId, source int,
 			_ = to.Commit()
 		}
 	}()
-
-	latestDateStr, latestValue, err = refreshAllPredictCalculate(to, edbInfoIdList, edbInfoId, source, edbCode, formulaStr, startDate, edbInfoIdBytes, emptyType, maxEmptyType)
-
+	latestDateStr, latestValue, err = refreshAllPredictCalculate(to, edbInfoIdList, edbInfoId, source, subSource, edbCode, formulaStr, startDate, edbInfoIdBytes, emptyType, maxEmptyType)
 	return
 }
 
 // refreshAllPredictCalculate 刷新预测计算指标的全部数据
-func refreshAllPredictCalculate(to orm.TxOrmer, edbInfoIdList []*EdbInfo, edbInfoId, source int, edbCode, formulaStr, startDate string, edbInfoIdBytes []string, emptyType, maxEmptyType int) (latestDateStr string, latestValue float64, err error) {
+func refreshAllPredictCalculate(to orm.TxOrmer, edbInfoIdList []*EdbInfo, edbInfoId, source, subSource int, edbCode, formulaStr, startDate string, edbInfoIdBytes []string, emptyType, maxEmptyType int) (latestDateStr string, latestValue float64, err error) {
 	fmt.Println("startDate:", startDate)
 
 	// 实际数据最小的结束日期 ,最小的结束日期 , 最晚的数据开始日期
@@ -351,7 +349,7 @@ func refreshAllPredictCalculate(to orm.TxOrmer, edbInfoIdList []*EdbInfo, edbInf
 
 	//获取指标所有数据
 	dataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)
 	_, err = to.Raw(sql, edbInfoId).QueryRows(&dataList)
@@ -481,7 +479,7 @@ func refreshAllPredictCalculate(to orm.TxOrmer, edbInfoIdList []*EdbInfo, edbInf
 		removeDateStr := strings.Join(removeDateList, `","`)
 		removeDateStr = `"` + removeDateStr + `"`
 		//如果拼接指标变更了,那么需要删除所有的指标数据
-		tableName := GetEdbDataTableName(source)
+		tableName := GetEdbDataTableName(source, subSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
 		_, err = to.Raw(sql, edbInfoId).Exec()

+ 18 - 18
models/edb_data_base.go

@@ -60,12 +60,12 @@ func GetEdbInfoCountByCondition(condition string, pars []interface{}) (count int
 }
 
 // GetEdbDataAllByEdbCode 根据指标编码获取指标数据列表
-func GetEdbDataAllByEdbCode(edbCode string, source, limit int) (items []*EdbInfoSearchData, err error) {
+func GetEdbDataAllByEdbCode(edbCode string, source, subSource, limit int) (items []*EdbInfoSearchData, err error) {
 	var pars []interface{}
 	pars = append(pars, edbCode)
 	o := orm.NewOrm()
 
-	tableName := GetEdbDataTableName(source)
+	tableName := GetEdbDataTableName(source, subSource)
 	sql := ` SELECT * FROM %s WHERE edb_code=? ORDER BY data_time DESC`
 	if limit > 0 {
 		sql += `  LIMIT ?  `
@@ -76,9 +76,9 @@ func GetEdbDataAllByEdbCode(edbCode string, source, limit int) (items []*EdbInfo
 	return
 }
 
-func GetEdbDataByCondition(source int, condition string, pars []interface{}) (items []*EdbInfoSearchData, err error) {
+func GetEdbDataByCondition(source, subSource int, condition string, pars []interface{}) (items []*EdbInfoSearchData, err error) {
 	o := orm.NewOrm()
-	tableName := GetEdbDataTableName(source)
+	tableName := GetEdbDataTableName(source, subSource)
 	sql := ` SELECT * FROM %s WHERE 1=1 `
 	if condition != "" {
 		sql += condition
@@ -90,27 +90,27 @@ func GetEdbDataByCondition(source int, condition string, pars []interface{}) (it
 }
 
 // GetEdbDataByDate 根据数据日期获取指标数据
-func GetEdbDataByDate(source int, edbCode, dataTime string) (item *EdbInfoSearchData, err error) {
+func GetEdbDataByDate(source, subSource int, edbCode, dataTime string) (item *EdbInfoSearchData, err error) {
 	o := orm.NewOrm()
-	tableName := GetEdbDataTableName(source)
+	tableName := GetEdbDataTableName(source, subSource)
 	sql := ` SELECT * FROM %s WHERE 1=1 AND edb_code = ? AND data_time =? ORDER BY data_time DESC `
 	sql = fmt.Sprintf(sql, tableName)
 	err = o.Raw(sql, edbCode, dataTime).QueryRow(&item)
 	return
 }
 
-func ModifyEdbDataById(source, edbDataId int, value string) (err error) {
+func ModifyEdbDataById(source, subSource, edbDataId int, value string) (err error) {
 	o := orm.NewOrm()
-	tableName := GetEdbDataTableName(source)
+	tableName := GetEdbDataTableName(source, subSource)
 	sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_data_id=? `
 	sql = fmt.Sprintf(sql, tableName)
 	_, err = o.Raw(sql, value, edbDataId).Exec()
 	return
 }
 
-func DeleteEdbDataById(source, edbDataId int) (err error) {
+func DeleteEdbDataById(source, subSource, edbDataId int) (err error) {
 	sql := ` DELETE FROM %s WHERE edb_data_id=? `
-	tableName := GetEdbDataTableName(source)
+	tableName := GetEdbDataTableName(source, subSource)
 	sql = fmt.Sprintf(sql, tableName)
 
 	o := orm.NewOrm()
@@ -126,9 +126,9 @@ type RefreshEdbInfoReq struct {
 }
 
 // GetAllEdbDataList 获取所有的指标数据列表
-func GetAllEdbDataList(edbInfoId, source int) (existDataList []*EdbData, err error) {
+func GetAllEdbDataList(edbInfoId, source, subSource int) (existDataList []*EdbData, err error) {
 	o := orm.NewOrm()
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	fmt.Println("dataTableName:", dataTableName)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? order by data_time asc`
 	sql = fmt.Sprintf(sql, dataTableName)
@@ -137,8 +137,8 @@ func GetAllEdbDataList(edbInfoId, source int) (existDataList []*EdbData, err err
 }
 
 // GetAllEdbDataListByTo 获取所有的指标数据列表
-func GetAllEdbDataListByTo(to orm.TxOrmer, edbInfoId, source int) (existDataList []*EdbData, err error) {
-	dataTableName := GetEdbDataTableName(source)
+func GetAllEdbDataListByTo(to orm.TxOrmer, edbInfoId, source, subSource int) (existDataList []*EdbData, err error) {
+	dataTableName := GetEdbDataTableName(source, subSource)
 	fmt.Println("dataTableName:", dataTableName)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? order by data_time asc`
 	sql = fmt.Sprintf(sql, dataTableName)
@@ -147,8 +147,8 @@ func GetAllEdbDataListByTo(to orm.TxOrmer, edbInfoId, source int) (existDataList
 }
 
 // GetFinalLastByTo 获取所有的指标数据列表
-func GetFinalLastByTo(to orm.TxOrmer, edbInfoId, source int, latestDate string) (finalLast EdbInfoSearchData, err error) {
-	dataTableName := GetEdbDataTableName(source)
+func GetFinalLastByTo(to orm.TxOrmer, edbInfoId, source, subSource int, latestDate string) (finalLast EdbInfoSearchData, err error) {
+	dataTableName := GetEdbDataTableName(source, subSource)
 	sql := fmt.Sprintf(` SELECT data_time , value FROM %s WHERE edb_info_id=? and data_time<=? ORDER BY data_time DESC `, dataTableName)
 	err = to.Raw(sql, edbInfoId, latestDate).QueryRow(&finalLast)
 	if err != nil && err.Error() != utils.ErrNoRow() {
@@ -178,8 +178,8 @@ type EdbDataList struct {
 	Value         float64 `description:"数据值"`
 }
 
-func GetEdbDataList(source, endInfoId int, startDate, endDate string) (list []*EdbDataList, err error) {
-	tableName := GetEdbDataTableName(source)
+func GetEdbDataList(source, subSource, endInfoId int, startDate, endDate string) (list []*EdbDataList, err error) {
+	tableName := GetEdbDataTableName(source, subSource)
 	if tableName == "" {
 		err = errors.New("无效的渠道:" + strconv.Itoa(source))
 		list = make([]*EdbDataList, 0)

+ 14 - 14
models/edb_data_calculate_bp.go

@@ -75,7 +75,7 @@ func AddCalculateBp(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 		if err != nil {
 			return
 		}
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_BP)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_BP, utils.DATA_SUB_SOURCE_EDB)
 		fmt.Println("dataTableName:" + dataTableName)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
@@ -86,7 +86,7 @@ func AddCalculateBp(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 	}
 
 	//计算数据
-	err = refreshAllCalculateBp(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "", 0)
+	err = refreshAllCalculateBp(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "", 0)
 
 	return
 }
@@ -172,13 +172,13 @@ func EditCalculateBp(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 	}
 
 	//计算数据
-	err = refreshAllCalculateBp(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "", 0)
+	err = refreshAllCalculateBp(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "", 0)
 
 	return
 }
 
 // RefreshAllCalculateBpBak 刷新所有升频数据
-func RefreshAllCalculateBpBak(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
+func RefreshAllCalculateBpBak(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -214,7 +214,7 @@ func RefreshAllCalculateBpBak(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCo
 		pars = append(pars, endDate)
 	}
 
-	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, 0)
+	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 0)
 	if err != nil {
 		return err
 	}
@@ -227,7 +227,7 @@ func RefreshAllCalculateBpBak(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCo
 	fmt.Println("source:", source)
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	fmt.Println("dataTableName:", dataTableName)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)
@@ -318,7 +318,7 @@ func RefreshAllCalculateBpBak(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCo
 	return
 }
 
-func RefreshAllCalculateBp(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
+func RefreshAllCalculateBp(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -334,13 +334,13 @@ func RefreshAllCalculateBp(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode,
 	}()
 
 	// 计算数据
-	err = refreshAllCalculateBp(to, edbInfoId, source, fromEdbInfo, edbCode, startDate, endDate, 1)
+	err = refreshAllCalculateBp(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, startDate, endDate, 1)
 
 	return
 }
 
 // refreshAllCalculateBp 刷新升频数据
-func refreshAllCalculateBp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, order int) (err error) {
+func refreshAllCalculateBp(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, order int) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	//计算数据
@@ -358,7 +358,7 @@ func refreshAllCalculateBp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *E
 	//	pars = append(pars, endDate)
 	//}
 	//获取来源指标的数据
-	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, order)
+	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, order)
 	if err != nil {
 		return err
 	}
@@ -374,7 +374,7 @@ func refreshAllCalculateBp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *E
 	fmt.Println("source:", source)
 
 	//获取升频指标所有数据
-	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source)
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return
 	}
@@ -456,7 +456,7 @@ func refreshAllCalculateBp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *E
 					}
 					//如果对应的值不匹配
 					if tmpExistData.Value != lastValueStr {
-						err = ModifyEdbDataById(source, tmpExistData.EdbDataId, lastValueStr)
+						err = ModifyEdbDataById(source, subSource, tmpExistData.EdbDataId, lastValueStr)
 						if err != nil {
 							return err
 						}
@@ -471,7 +471,7 @@ func refreshAllCalculateBp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *E
 			}
 		} else {
 			//如果没有来源指标数据,那么已经入库的计算指标数据需要全部删除
-			tableName := GetEdbDataTableName(source)
+			tableName := GetEdbDataTableName(source, subSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ?`, tableName)
 			_, err = to.Raw(sql, edbInfoId).Exec()
 			if err != nil {
@@ -537,7 +537,7 @@ func refreshAllCalculateBp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *E
 		removeDateStr := strings.Join(removeDateList, `","`)
 		removeDateStr = `"` + removeDateStr + `"`
 		//如果拼接指标变更了,那么需要删除所有的指标数据
-		tableName := GetEdbDataTableName(source)
+		tableName := GetEdbDataTableName(source, subSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
 		_, err = to.Raw(sql, edbInfoId).Exec()

+ 10 - 10
models/edb_data_calculate_cjjx.go

@@ -79,7 +79,7 @@ func AddCalculateCjjx(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, e
 		if err != nil {
 			return
 		}
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_CJJX)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_CJJX, utils.DATA_SUB_SOURCE_EDB)
 		fmt.Println("dataTableName:", dataTableName)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
@@ -90,7 +90,7 @@ func AddCalculateCjjx(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, e
 	}
 
 	//计算数据
-	err = refreshAllCalculateCjjx(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "", edbInfo.Calendar, formulaInt)
+	err = refreshAllCalculateCjjx(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "", edbInfo.Calendar, formulaInt)
 
 	return
 }
@@ -183,7 +183,7 @@ func EditCalculateCjjx(req *EdbInfoCalculateBatchEditReq, edbInfo, fromEdbInfo *
 	}
 
 	//清空原有数据
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? `, tableName)
 	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 	if err != nil {
@@ -191,13 +191,13 @@ func EditCalculateCjjx(req *EdbInfoCalculateBatchEditReq, edbInfo, fromEdbInfo *
 	}
 
 	//计算数据
-	err = refreshAllCalculateCjjx(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "", edbInfo.Calendar, formulaInt)
+	err = refreshAllCalculateCjjx(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "", edbInfo.Calendar, formulaInt)
 
 	return
 }
 
 // RefreshAllCalculateCjjx 刷新全部超季节性数据
-func RefreshAllCalculateCjjx(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, calendar string, formulaInt int) (err error) {
+func RefreshAllCalculateCjjx(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, calendar string, formulaInt int) (err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -213,13 +213,13 @@ func RefreshAllCalculateCjjx(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCod
 	}()
 
 	// 重新计算
-	err = refreshAllCalculateCjjx(to, edbInfoId, source, fromEdbInfo, edbCode, startDate, endDate, calendar, formulaInt)
+	err = refreshAllCalculateCjjx(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, startDate, endDate, calendar, formulaInt)
 
 	return
 }
 
 // refreshAllCalculateCjjx 刷新全部超季节性数据
-func refreshAllCalculateCjjx(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, calendar string, formulaInt int) (err error) {
+func refreshAllCalculateCjjx(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, calendar string, formulaInt int) (err error) {
 	if err != nil {
 		return
 	}
@@ -241,7 +241,7 @@ func refreshAllCalculateCjjx(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo
 	//	pars = append(pars, endDate)
 	//}
 
-	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, 1)
+	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
 	if err != nil {
 		return err
 	}
@@ -260,7 +260,7 @@ func refreshAllCalculateCjjx(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo
 	}
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)
 	_, err = to.Raw(sql, edbInfoId).QueryRows(&existDataList)
@@ -393,7 +393,7 @@ func refreshAllCalculateCjjx(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo
 		removeNum := len(removeDateList)
 		if removeNum > 0 {
 			//如果拼接指标变更了,那么需要删除所有的指标数据
-			tableName := GetEdbDataTableName(source)
+			tableName := GetEdbDataTableName(source, subSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (`+utils.GetOrmInReplace(removeNum)+`) `, tableName)
 			_, err = to.Raw(sql, edbInfoId, removeDateList).Exec()
 			if err != nil {

+ 10 - 10
models/edb_data_calculate_correlation.go

@@ -106,7 +106,7 @@ func AddCalculateCorrelation(req *EdbInfoCalculateBatchSaveReq, edbCode, uniqueC
 	}
 
 	//计算数据
-	err, errMsg = refreshAllCalculateCorrelation(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfoA, edbInfoB, edbInfo.EdbCode, edbInfo.CalculateFormula)
+	err, errMsg = refreshAllCalculateCorrelation(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfoA, edbInfoB, edbInfo.EdbCode, edbInfo.CalculateFormula)
 
 	return
 }
@@ -148,7 +148,7 @@ func EditCalculateCorrelation(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditRe
 		return
 	}
 	//清空原有数据
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	sql = ` DELETE FROM ` + tableName + ` WHERE edb_info_id = ? `
 	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 	if err != nil {
@@ -206,7 +206,7 @@ func EditCalculateCorrelation(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditRe
 	}
 
 	//计算数据
-	err, errMsg = refreshAllCalculateCorrelation(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfoA, edbInfoB, edbInfo.EdbCode, edbInfo.CalculateFormula)
+	err, errMsg = refreshAllCalculateCorrelation(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfoA, edbInfoB, edbInfo.EdbCode, edbInfo.CalculateFormula)
 
 	return
 }
@@ -253,7 +253,7 @@ func RefreshAllCalculateCorrelation(edbInfo *EdbInfo) (err error, errMsg string)
 	}()
 
 	// 计算数据
-	err, errMsg = refreshAllCalculateCorrelation(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfoA, edbInfoB, edbInfo.EdbCode, edbInfo.CalculateFormula)
+	err, errMsg = refreshAllCalculateCorrelation(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfoA, edbInfoB, edbInfo.EdbCode, edbInfo.CalculateFormula)
 
 	return
 }
@@ -274,12 +274,12 @@ type EdbCalculateFormula struct {
 }
 
 // refreshAllCalculateCorrelation 刷新扩散指数数据
-func refreshAllCalculateCorrelation(to orm.TxOrmer, edbInfoId, source int, edbInfoA, edbInfoB *EdbInfo, edbCode, calculateFormula string) (err error, errMsg string) {
+func refreshAllCalculateCorrelation(to orm.TxOrmer, edbInfoId, source, subSource int, edbInfoA, edbInfoB *EdbInfo, edbCode, calculateFormula string) (err error, errMsg string) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
-	tableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_CORRELATION)
+	tableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_CORRELATION, utils.DATA_SUB_SOURCE_EDB)
 
 	//获取扩散指数指标所有数据
-	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source)
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return
 	}
@@ -331,7 +331,7 @@ func refreshAllCalculateCorrelation(to orm.TxOrmer, edbInfoId, source int, edbIn
 			existVal, _ := existValDeci.Round(4).Float64()
 			// 判断扩散指数数据的值 与 当前计算出来的结果, 如果两个数据结果不相等的话,那么就修改咯
 			if existVal != currVal {
-				err = ModifyEdbDataById(source, existData.EdbDataId, fmt.Sprint(currVal))
+				err = ModifyEdbDataById(source, subSource, existData.EdbDataId, fmt.Sprint(currVal))
 				if err != nil {
 					return
 				}
@@ -396,7 +396,7 @@ func GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *E
 		pars = append(pars, baseEdbInfo.EdbInfoId)
 
 		//获取来源指标的数据
-		aDataList, err = GetEdbDataListAll(condition, pars, baseEdbInfo.Source, 1)
+		aDataList, err = GetEdbDataListAll(condition, pars, baseEdbInfo.Source, baseEdbInfo.SubSource, 1)
 	case 1:
 		aDataList, err = GetPredictEdbDataListAllByStartDate(baseEdbInfo, 1, "")
 	default:
@@ -414,7 +414,7 @@ func GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *E
 		pars = append(pars, changeEdbInfo.EdbInfoId)
 
 		//获取来源指标的数据
-		bDataList, err = GetEdbDataListAll(condition, pars, changeEdbInfo.Source, 1)
+		bDataList, err = GetEdbDataListAll(condition, pars, changeEdbInfo.Source, changeEdbInfo.SubSource, 1)
 	case 1:
 		bDataList, err = GetPredictEdbDataListAllByStartDate(changeEdbInfo, 1, "")
 	default:

+ 8 - 8
models/edb_data_calculate_hbz.go

@@ -75,7 +75,7 @@ func AddCalculateHbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		if err != nil {
 			return
 		}
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_HBZ)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_HBZ, utils.DATA_SUB_SOURCE_EDB)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
 		_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
@@ -85,7 +85,7 @@ func AddCalculateHbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 	}
 
 	//计算数据
-	err = refreshAllCalculateHbz(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "", formulaInt)
+	err = refreshAllCalculateHbz(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "", formulaInt)
 
 	return
 }
@@ -173,13 +173,13 @@ func EditCalculateHbz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 	}
 
 	//计算数据
-	err = refreshAllCalculateHbz(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "", formulaInt)
+	err = refreshAllCalculateHbz(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "", formulaInt)
 
 	return
 }
 
 // RefreshAllCalculateHbz 刷新所有环比值数据
-func RefreshAllCalculateHbz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (err error) {
+func RefreshAllCalculateHbz(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -195,12 +195,12 @@ func RefreshAllCalculateHbz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode
 	}()
 
 	//计算数据
-	err = refreshAllCalculateHbz(to, edbInfoId, source, fromEdbInfo, edbCode, startDate, endDate, formulaInt)
+	err = refreshAllCalculateHbz(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, startDate, endDate, formulaInt)
 	return
 }
 
 // refreshAllCalculateHbz 刷新所有环比值数据
-func refreshAllCalculateHbz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (err error) {
+func refreshAllCalculateHbz(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 	var condition string
@@ -218,7 +218,7 @@ func refreshAllCalculateHbz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 	//	pars = append(pars, endDate)
 	//}
 
-	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, 0)
+	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 0)
 	if err != nil {
 		return err
 	}
@@ -231,7 +231,7 @@ func refreshAllCalculateHbz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 	fmt.Println("source:", source)
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	fmt.Println("dataTableName:", dataTableName)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)

+ 9 - 9
models/edb_data_calculate_hcz.go

@@ -76,7 +76,7 @@ func AddCalculateHcz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		if err != nil {
 			return
 		}
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_HCZ)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_HCZ, utils.DATA_SUB_SOURCE_EDB)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
 		_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
@@ -86,7 +86,7 @@ func AddCalculateHcz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 	}
 
 	//计算数据
-	err = refreshAllCalculateHcz(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "", formulaInt)
+	err = refreshAllCalculateHcz(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "", formulaInt)
 
 	return
 }
@@ -174,13 +174,13 @@ func EditCalculateHcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 	}
 
 	//计算数据
-	err = refreshAllCalculateHcz(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "", formulaInt)
+	err = refreshAllCalculateHcz(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "", formulaInt)
 
 	return
 }
 
 // RefreshAllCalculateHcz 刷新所有环差值数据
-func RefreshAllCalculateHcz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (err error) {
+func RefreshAllCalculateHcz(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -196,12 +196,12 @@ func RefreshAllCalculateHcz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode
 	}()
 
 	//计算数据
-	err = refreshAllCalculateHcz(to, edbInfoId, source, fromEdbInfo, edbCode, startDate, endDate, formulaInt)
+	err = refreshAllCalculateHcz(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, startDate, endDate, formulaInt)
 	return
 }
 
 // refreshAllCalculateHcz 刷新所有环差值数据
-func refreshAllCalculateHcz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (err error) {
+func refreshAllCalculateHcz(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	//计算数据
@@ -220,7 +220,7 @@ func refreshAllCalculateHcz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 	//	pars = append(pars, endDate)
 	//}
 
-	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, 0)
+	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 0)
 	if err != nil {
 		return err
 	}
@@ -233,7 +233,7 @@ func refreshAllCalculateHcz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 	fmt.Println("source:", source)
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	fmt.Println("dataTableName:", dataTableName)
 
 	var existPars []interface{}
@@ -316,7 +316,7 @@ func refreshAllCalculateHcz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 		removeDateStr := strings.Join(removeDateList, `","`)
 		removeDateStr = `"` + removeDateStr + `"`
 		//如果拼接指标变更了,那么需要删除所有的指标数据
-		tableName := GetEdbDataTableName(source)
+		tableName := GetEdbDataTableName(source, subSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
 		_, err = to.Raw(sql, edbInfoId).Exec()

+ 12 - 12
models/edb_data_calculate_jp.go

@@ -102,7 +102,7 @@ func AddCalculateJp(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 		if err != nil {
 			return
 		}
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_JP)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_JP, utils.DATA_SUB_SOURCE_EDB)
 		fmt.Println("dataTableName:" + dataTableName)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
@@ -113,7 +113,7 @@ func AddCalculateJp(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 	}
 
 	//计算数据
-	err = refreshAllCalculateJp(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, edbInfo.Frequency, edbInfo.CalculateFormula)
+	err = refreshAllCalculateJp(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, edbInfo.Frequency, edbInfo.CalculateFormula)
 
 	return
 }
@@ -170,7 +170,7 @@ func EditCalculateJp(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 		return
 	}
 	//清空原有数据
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	sql = ` DELETE FROM ` + tableName + ` WHERE edb_info_id = ? `
 	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 	if err != nil {
@@ -201,12 +201,12 @@ func EditCalculateJp(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 	}
 
 	//计算数据
-	err = refreshAllCalculateJp(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, edbInfo.Frequency, edbInfo.CalculateFormula)
+	err = refreshAllCalculateJp(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, edbInfo.Frequency, edbInfo.CalculateFormula)
 
 	return
 }
 
-func RefreshAllCalculateJp(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, edbFrequency, formula string) (err error) {
+func RefreshAllCalculateJp(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, edbFrequency, formula string) (err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -222,13 +222,13 @@ func RefreshAllCalculateJp(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode,
 	}()
 
 	// 计算数据
-	err = refreshAllCalculateJp(to, edbInfoId, source, fromEdbInfo, edbCode, edbFrequency, formula)
+	err = refreshAllCalculateJp(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, edbFrequency, formula)
 
 	return
 }
 
 // refreshAllCalculateJp 刷新降频数据
-func refreshAllCalculateJp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, edbFrequency, formula string) (err error) {
+func refreshAllCalculateJp(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, edbFrequency, formula string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	//计算数据
@@ -246,7 +246,7 @@ func refreshAllCalculateJp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *E
 	//	pars = append(pars, endDate)
 	//}
 	//获取来源指标的数据
-	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, 1)
+	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
 	if err != nil {
 		return err
 	}
@@ -262,7 +262,7 @@ func refreshAllCalculateJp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *E
 	fmt.Println("source:", source)
 
 	//获取降频指标所有数据
-	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source)
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return
 	}
@@ -273,7 +273,7 @@ func refreshAllCalculateJp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *E
 		existDataMap[v.DataTime] = v
 	}
 
-	tableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_JP)
+	tableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_JP, subSource)
 	addSql := ` INSERT INTO ` + tableName + ` (edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) values `
 	var isAdd bool
 
@@ -389,7 +389,7 @@ func refreshAllCalculateJp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *E
 			existVal, _ := existValDeci.Round(4).Float64()
 			// 判断降频数据的值 与 当前计算出来的结果, 如果两个数据结果不相等的话,那么就修改咯
 			if existVal != currVal {
-				err = ModifyEdbDataById(source, existData.EdbDataId, fmt.Sprint(currVal))
+				err = ModifyEdbDataById(source, subSource, existData.EdbDataId, fmt.Sprint(currVal))
 				if err != nil {
 					return err
 				}
@@ -441,7 +441,7 @@ func refreshAllCalculateJp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *E
 			existVal, _ := existValDeci.Round(4).Float64()
 			// 判断降频数据的值 与 当前计算出来的结果, 如果两个数据结果不相等的话,那么就修改咯
 			if existVal != currVal {
-				err = ModifyEdbDataById(source, existData.EdbDataId, fmt.Sprint(currVal))
+				err = ModifyEdbDataById(source, subSource, existData.EdbDataId, fmt.Sprint(currVal))
 				if err != nil {
 					return err
 				}

+ 9 - 9
models/edb_data_calculate_kszs.go

@@ -91,7 +91,7 @@ func AddCalculateKszs(req *EdbInfoCalculateBatchSaveReq, edbCode, uniqueCode str
 	}
 
 	//计算数据
-	err = refreshAllCalculateKszs(to, edbInfo.EdbInfoId, edbInfo.Source, relationEdbInfoList, edbInfo.EdbCode, edbInfo.CalculateFormula, tagMap)
+	err = refreshAllCalculateKszs(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, relationEdbInfoList, edbInfo.EdbCode, edbInfo.CalculateFormula, tagMap)
 
 	return
 }
@@ -133,7 +133,7 @@ func EditCalculateKszs(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq) (err
 		return
 	}
 	//清空原有数据
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	sql = ` DELETE FROM ` + tableName + ` WHERE edb_info_id = ? `
 	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 	if err != nil {
@@ -176,7 +176,7 @@ func EditCalculateKszs(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq) (err
 	}
 
 	//计算数据
-	err = refreshAllCalculateKszs(to, edbInfo.EdbInfoId, edbInfo.Source, relationEdbInfoList, edbInfo.EdbCode, edbInfo.CalculateFormula, tagMap)
+	err = refreshAllCalculateKszs(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, relationEdbInfoList, edbInfo.EdbCode, edbInfo.CalculateFormula, tagMap)
 
 	return
 }
@@ -208,7 +208,7 @@ func RefreshAllCalculateKszs(edbInfo *EdbInfo) (err error) {
 	}()
 
 	// 计算数据
-	err = refreshAllCalculateKszs(to, edbInfo.EdbInfoId, edbInfo.Source, relationEdbInfoList, edbInfo.EdbCode, edbInfo.CalculateFormula, tagMap)
+	err = refreshAllCalculateKszs(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, relationEdbInfoList, edbInfo.EdbCode, edbInfo.CalculateFormula, tagMap)
 
 	return
 }
@@ -220,9 +220,9 @@ type KszsConfig struct {
 }
 
 // refreshAllCalculateKszs 刷新扩散指数数据
-func refreshAllCalculateKszs(to orm.TxOrmer, edbInfoId, source int, relationEdbInfoList []*EdbInfo, edbCode, calculateFormula string, tagMap map[string]int) (err error) {
+func refreshAllCalculateKszs(to orm.TxOrmer, edbInfoId, source, subSource int, relationEdbInfoList []*EdbInfo, edbCode, calculateFormula string, tagMap map[string]int) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
-	tableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_KSZS)
+	tableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_KSZS, utils.DATA_SUB_SOURCE_EDB)
 
 	// 获取扩散指标关联的指标id
 	checkEdbInfoIdMap := make(map[int]int)
@@ -246,7 +246,7 @@ func refreshAllCalculateKszs(to orm.TxOrmer, edbInfoId, source int, relationEdbI
 	}
 
 	//获取扩散指数指标所有数据
-	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source)
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return
 	}
@@ -267,7 +267,7 @@ func refreshAllCalculateKszs(to orm.TxOrmer, edbInfoId, source int, relationEdbI
 		var pars []interface{}
 		condition += " AND edb_info_id=? "
 		pars = append(pars, v.EdbInfoId)
-		tmpDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, v.Source, 1)
+		tmpDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, v.Source, v.SubSource, 1)
 		if tmpErr != nil {
 			err = tmpErr
 			return err
@@ -351,7 +351,7 @@ func refreshAllCalculateKszs(to orm.TxOrmer, edbInfoId, source int, relationEdbI
 			existVal, _ := existValDeci.Round(4).Float64()
 			// 判断扩散指数数据的值 与 当前计算出来的结果, 如果两个数据结果不相等的话,那么就修改咯
 			if existVal != currVal {
-				err = ModifyEdbDataById(source, existData.EdbDataId, fmt.Sprint(currVal))
+				err = ModifyEdbDataById(source, subSource, existData.EdbDataId, fmt.Sprint(currVal))
 				if err != nil {
 					return err
 				}

+ 8 - 8
models/edb_data_calculate_ljz.go

@@ -112,7 +112,7 @@ func (obj Ljz) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err error,
 	}
 
 	//计算数据
-	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
+	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
 
 	return
 }
@@ -148,7 +148,7 @@ func (obj Ljz) Edit(params EditCalculateBatchParams) (err error, errMsg string)
 			_ = to.Commit()
 		}
 	}()
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	var isRecalculate bool
 	if edbInfo.Frequency != req.Frequency {
@@ -181,7 +181,7 @@ func (obj Ljz) Edit(params EditCalculateBatchParams) (err error, errMsg string)
 
 		// 频度被换了,需要重新计算
 		if isRecalculate {
-			err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
+			err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
 		}
 
 		return
@@ -226,7 +226,7 @@ func (obj Ljz) Edit(params EditCalculateBatchParams) (err error, errMsg string)
 	}
 
 	//计算数据
-	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
+	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
 
 	return
 }
@@ -259,7 +259,7 @@ func (obj Ljz) Refresh(params RefreshParams) (err error, errMsg string) {
 	}()
 
 	// 计算数据
-	err = obj.refresh(to, params.EdbInfo.EdbInfoId, params.EdbInfo.Source, params.EdbInfo, fromEdbInfo, params.EdbInfo.EdbCode, params.StartDate)
+	err = obj.refresh(to, params.EdbInfo.EdbInfoId, params.EdbInfo.Source, params.EdbInfo.SubSource, params.EdbInfo, fromEdbInfo, params.EdbInfo.EdbCode, params.StartDate)
 
 	return
 }
@@ -279,8 +279,8 @@ func (obj Ljz) GetEdbType() int {
 	return utils.CALCULATE_EDB_TYPE
 }
 
-func (obj Ljz) refresh(to orm.TxOrmer, edbInfoId, source int, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
-	dataTableName := GetEdbDataTableName(source)
+func (obj Ljz) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
+	dataTableName := GetEdbDataTableName(source, subSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 	var condition string
@@ -299,7 +299,7 @@ func (obj Ljz) refresh(to orm.TxOrmer, edbInfoId, source int, edbInfo, fromEdbIn
 		isWeekData = true
 	}
 
-	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, 1)
+	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
 	if err != nil {
 		return err
 	}

+ 8 - 8
models/edb_data_calculate_ljznczj.go

@@ -112,7 +112,7 @@ func (obj LjzNczj) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err er
 	}
 
 	//计算数据
-	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
+	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
 
 	return
 }
@@ -148,7 +148,7 @@ func (obj LjzNczj) Edit(params EditCalculateBatchParams) (err error, errMsg stri
 			_ = to.Commit()
 		}
 	}()
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	var isRecalculate bool
 	if edbInfo.Frequency != req.Frequency {
@@ -181,7 +181,7 @@ func (obj LjzNczj) Edit(params EditCalculateBatchParams) (err error, errMsg stri
 
 		// 频度被换了,需要重新计算
 		if isRecalculate {
-			err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
+			err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
 		}
 
 		return
@@ -226,7 +226,7 @@ func (obj LjzNczj) Edit(params EditCalculateBatchParams) (err error, errMsg stri
 	}
 
 	//计算数据
-	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
+	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
 
 	return
 }
@@ -259,7 +259,7 @@ func (obj LjzNczj) Refresh(params RefreshParams) (err error, errMsg string) {
 	}()
 
 	// 计算数据
-	err = obj.refresh(to, params.EdbInfo.EdbInfoId, params.EdbInfo.Source, params.EdbInfo, fromEdbInfo, params.EdbInfo.EdbCode, params.StartDate)
+	err = obj.refresh(to, params.EdbInfo.EdbInfoId, params.EdbInfo.Source, params.EdbInfo.SubSource, params.EdbInfo, fromEdbInfo, params.EdbInfo.EdbCode, params.StartDate)
 
 	return
 }
@@ -279,8 +279,8 @@ func (obj LjzNczj) GetEdbType() int {
 	return utils.CALCULATE_EDB_TYPE
 }
 
-func (obj LjzNczj) refresh(to orm.TxOrmer, edbInfoId, source int, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
-	dataTableName := GetEdbDataTableName(source)
+func (obj LjzNczj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
+	dataTableName := GetEdbDataTableName(source, subSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 	var condition string
@@ -299,7 +299,7 @@ func (obj LjzNczj) refresh(to orm.TxOrmer, edbInfoId, source int, edbInfo, fromE
 		isWeekData = true
 	}
 
-	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, 1)
+	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
 	if err != nil {
 		return err
 	}

+ 9 - 9
models/edb_data_calculate_ljztbpj.go

@@ -56,7 +56,7 @@ func AddCalculateLjztbpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, second
 		condition += " AND data_time like ? AND edb_info_id=? "
 		pars = append(pars, "%12-31", firstEdbInfo.EdbInfoId)
 
-		lastEdbData, tmpErr := GetLastEdbData(condition, pars, firstEdbInfo.Source)
+		lastEdbData, tmpErr := GetLastEdbData(condition, pars, firstEdbInfo.Source, firstEdbInfo.SubSource)
 		if tmpErr != nil {
 			err = tmpErr
 			return
@@ -69,7 +69,7 @@ func AddCalculateLjztbpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, second
 		condition += " AND data_time <= ? AND edb_info_id=? "
 		pars = append(pars, lastEdbData.DataTime, firstEdbInfo.EdbInfoId)
 
-		firstDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, firstEdbInfo.Source, 0)
+		firstDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, firstEdbInfo.Source, firstEdbInfo.SubSource, 0)
 		if tmpErr != nil {
 			err = tmpErr
 			return
@@ -127,7 +127,7 @@ func AddCalculateLjztbpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, second
 		edbInfo = tmpEdbInfo
 
 		//删除指标数据
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_LJZTBPJ)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_LJZTBPJ, utils.DATA_SUB_SOURCE_EDB)
 		fmt.Println("dataTableName:" + dataTableName)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
@@ -344,7 +344,7 @@ func EditCalculateLjztbpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbIn
 	// 如果需要重新计算,那么先删除所有的指标数据,然后再重新计算
 	if isNeedCalculateData {
 		// 删除之前所有的指标数据
-		tableName := GetEdbDataTableName(edbInfo.Source)
+		tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 		sql = fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? `, tableName)
 		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 		if err != nil {
@@ -361,7 +361,7 @@ func EditCalculateLjztbpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbIn
 			condition += " AND data_time like ? AND edb_info_id=? "
 			pars = append(pars, "%12-31", firstEdbInfo.EdbInfoId)
 
-			lastEdbData, tmpErr := GetLastEdbData(condition, pars, firstEdbInfo.Source)
+			lastEdbData, tmpErr := GetLastEdbData(condition, pars, firstEdbInfo.Source, firstEdbInfo.SubSource)
 			if tmpErr != nil {
 				err = tmpErr
 				return
@@ -474,7 +474,7 @@ func refreshAllCalculateLjztbpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, ex
 		pars = append(pars, startCalculationDate, existItemA.FromEdbInfoId)
 
 		//第一个指标的数据列表
-		firstDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, existItemA.FromSource, 0)
+		firstDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, existItemA.FromSource, existItemA.FromSubSource, 0)
 		if tmpErr != nil {
 			return tmpErr
 		}
@@ -512,7 +512,7 @@ func refreshAllCalculateLjztbpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, ex
 		pars = append(pars, startCalculationDate, existItemB.FromEdbInfoId)
 
 		//第二个指标的数据列表
-		secondDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, existItemB.FromSource, 0)
+		secondDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, existItemB.FromSource, existItemB.FromSubSource, 0)
 		if tmpErr != nil {
 			return tmpErr
 		}
@@ -630,7 +630,7 @@ func refreshAllCalculateLjztbpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, ex
 			removeDateStr := strings.Join(removeDateList, `","`)
 			removeDateStr = `"` + removeDateStr + `"`
 			//如果拼接指标变更了,那么需要删除所有的指标数据
-			tableName := GetEdbDataTableName(edbInfo.Source)
+			tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
 			_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
@@ -643,7 +643,7 @@ func refreshAllCalculateLjztbpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, ex
 
 	//修改现有的数据中对应的值
 	{
-		tableName := GetEdbDataTableName(edbInfo.Source)
+		tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 		for edbDate, edbDataValue := range updateEdbDataMap {
 			sql := fmt.Sprintf(` UPDATE  %s set value = ?,modify_time=now() WHERE edb_info_id = ? and data_time = ? `, tableName)
 

+ 7 - 7
models/edb_data_calculate_ljzzj.go

@@ -86,7 +86,7 @@ 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, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode)
 
 	return
 }
@@ -115,7 +115,7 @@ func (obj Ljzzj) Edit(params EditCalculateBatchParams) (err error, errMsg string
 			_ = to.Commit()
 		}
 	}()
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	//修改指标信息
 	edbInfo.EdbName = req.EdbName
@@ -183,7 +183,7 @@ func (obj Ljzzj) Edit(params EditCalculateBatchParams) (err error, errMsg string
 	}
 
 	//计算数据
-	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode)
+	err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode)
 
 	return
 }
@@ -216,7 +216,7 @@ func (obj Ljzzj) Refresh(params RefreshParams) (err error, errMsg string) {
 	}()
 
 	// 计算数据
-	err = obj.refresh(to, params.EdbInfo.EdbInfoId, params.EdbInfo.Source, fromEdbInfo, params.EdbInfo.EdbCode)
+	err = obj.refresh(to, params.EdbInfo.EdbInfoId, params.EdbInfo.Source, params.EdbInfo.SubSource, fromEdbInfo, params.EdbInfo.EdbCode)
 
 	return
 }
@@ -236,8 +236,8 @@ func (obj Ljzzj) GetEdbType() int {
 	return utils.CALCULATE_EDB_TYPE
 }
 
-func (obj Ljzzj) refresh(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode string) (err error) {
-	dataTableName := GetEdbDataTableName(source)
+func (obj Ljzzj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode string) (err error) {
+	dataTableName := GetEdbDataTableName(source, subSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	// 获取来源指标的数据
@@ -245,7 +245,7 @@ func (obj Ljzzj) refresh(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *Edb
 	var pars []interface{}
 	condition += " AND edb_info_id=? "
 	pars = append(pars, fromEdbInfo.EdbInfoId)
-	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, 1)
+	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
 	if err != nil {
 		return err
 	}

+ 8 - 8
models/edb_data_calculate_ljzzy.go

@@ -77,7 +77,7 @@ func AddCalculateLjzzy(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo,
 		if err != nil {
 			return
 		}
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_LJZZY)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_LJZZY, utils.DATA_SUB_SOURCE_EDB)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
 		_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
@@ -87,7 +87,7 @@ func AddCalculateLjzzy(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo,
 	}
 
 	//计算数据
-	err = refreshAllCalculateLjzzy(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "")
+	err = refreshAllCalculateLjzzy(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "")
 
 	return
 }
@@ -174,13 +174,13 @@ func EditCalculateLjzzy(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fro
 	}
 
 	//计算数据
-	err = refreshAllCalculateLjzzy(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "")
+	err = refreshAllCalculateLjzzy(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "")
 
 	return
 }
 
 // RefreshAllCalculateLjzzy 刷新全部累计值转月数据
-func RefreshAllCalculateLjzzy(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
+func RefreshAllCalculateLjzzy(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -196,12 +196,12 @@ func RefreshAllCalculateLjzzy(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCo
 	}()
 
 	// 计算数据
-	err = refreshAllCalculateLjzzy(to, edbInfoId, source, fromEdbInfo, edbCode, startDate, endDate)
+	err = refreshAllCalculateLjzzy(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, startDate, endDate)
 
 	return
 }
 
-func refreshAllCalculateLjzzy(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
+func refreshAllCalculateLjzzy(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 	var condition string
@@ -218,7 +218,7 @@ func refreshAllCalculateLjzzy(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo
 	//	pars = append(pars, endDate)
 	//}
 
-	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, 1)
+	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
 	if err != nil {
 		return err
 	}
@@ -248,7 +248,7 @@ func refreshAllCalculateLjzzy(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo
 	var isAdd bool
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)
 	_, err = to.Raw(sql, edbInfoId).QueryRows(&existDataList)

+ 11 - 11
models/edb_data_calculate_nh.go

@@ -75,7 +75,7 @@ func AddCalculateNh(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 		if err != nil {
 			return
 		}
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_NH)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_NH, utils.DATA_SUB_SOURCE_EDB)
 		fmt.Println("dataTableName:" + dataTableName)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
@@ -86,7 +86,7 @@ func AddCalculateNh(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 	}
 
 	//计算数据
-	err = refreshAllCalculateNh(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode)
+	err = refreshAllCalculateNh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode)
 
 	return
 }
@@ -143,7 +143,7 @@ func EditCalculateNh(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 		return
 	}
 	//清空原有数据
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	sql = ` DELETE FROM ` + tableName + ` WHERE edb_info_id = ? `
 	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 	if err != nil {
@@ -174,12 +174,12 @@ func EditCalculateNh(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 	}
 
 	//计算数据
-	err = refreshAllCalculateNh(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode)
+	err = refreshAllCalculateNh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode)
 
 	return
 }
 
-func RefreshAllCalculateNh(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode string) (err error) {
+func RefreshAllCalculateNh(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode string) (err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -195,18 +195,18 @@ func RefreshAllCalculateNh(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode
 	}()
 
 	// 计算数据
-	err = refreshAllCalculateNh(to, edbInfoId, source, fromEdbInfo, edbCode)
+	err = refreshAllCalculateNh(to, edbInfoId, source, subSource, fromEdbInfo, edbCode)
 
 	return
 }
 
 // refreshAllCalculateNh 刷新年化数据
-func refreshAllCalculateNh(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode string) (err error) {
+func refreshAllCalculateNh(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
-	tableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_NH)
+	tableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_NH, utils.DATA_SUB_SOURCE_EDB)
 
 	//获取年化指标所有数据
-	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source)
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return
 	}
@@ -225,7 +225,7 @@ func refreshAllCalculateNh(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *E
 	pars = append(pars, fromEdbInfo.EdbInfoId)
 
 	//获取来源指标的数据
-	fromDataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, 1)
+	fromDataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
 	if err != nil {
 		return err
 	}
@@ -329,7 +329,7 @@ func refreshAllCalculateNh(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *E
 			existVal, _ := existValDeci.Round(4).Float64()
 			// 判断年化数据的值 与 当前计算出来的结果, 如果两个数据结果不相等的话,那么就修改咯
 			if existVal != currVal {
-				err = ModifyEdbDataById(source, existData.EdbDataId, fmt.Sprint(currVal))
+				err = ModifyEdbDataById(source, subSource, existData.EdbDataId, fmt.Sprint(currVal))
 				if err != nil {
 					return err
 				}

+ 5 - 5
models/edb_data_calculate_nhcc.go

@@ -91,7 +91,7 @@ func AddCalculateNhcc(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, secondEdb
 		edbInfo = tmpEdbInfo
 
 		//删除指标数据
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_NHCC)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_NHCC, utils.DATA_SUB_SOURCE_EDB)
 		fmt.Println("dataTableName:" + dataTableName)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
@@ -342,7 +342,7 @@ func EditCalculateNhcc(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo,
 	if isNeedCalculateData {
 		// 删除之前所有的指标数据
 
-		tableName := GetEdbDataTableName(edbInfo.Source)
+		tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? `, tableName)
 		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 		if err != nil {
@@ -613,7 +613,7 @@ func refreshAllCalculateNhcc(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 		removeNum := len(removeDateList)
 		if removeNum > 0 {
 			//如果拼接指标变更了,那么需要删除所有的指标数据
-			tableName := GetEdbDataTableName(edbInfo.Source)
+			tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (`+utils.GetOrmInReplace(removeNum)+`) `, tableName)
 			_, err = to.Raw(sql, edbInfo.EdbInfoId, removeDateList).Exec()
 			if err != nil {
@@ -748,7 +748,7 @@ func getNhccData(to orm.TxOrmer, existItemA, existItemB *EdbInfoCalculateMapping
 		pars = append(pars, existItemA.FromEdbInfoId)
 
 		//第一个指标的数据列表
-		firstDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, existItemA.FromSource, 0)
+		firstDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, existItemA.FromSource, existItemA.FromSubSource, 0)
 		if tmpErr != nil {
 			err = tmpErr
 			return
@@ -769,7 +769,7 @@ func getNhccData(to orm.TxOrmer, existItemA, existItemB *EdbInfoCalculateMapping
 		pars = append(pars, existItemB.FromEdbInfoId)
 
 		//第二个指标的数据列表
-		secondDataList, err = GetEdbDataListAllByTo(to, condition, pars, existItemB.FromSource, 0)
+		secondDataList, err = GetEdbDataListAllByTo(to, condition, pars, existItemB.FromSource, existItemB.FromSubSource, 0)
 		if err != nil {
 			return
 		}

+ 9 - 9
models/edb_data_calculate_nszydbpjjs.go

@@ -73,7 +73,7 @@ func AddCalculateNszydpjjs(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbIn
 		if err != nil {
 			return
 		}
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_NSZYDPJJS)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_NSZYDPJJS, utils.DATA_SUB_SOURCE_EDB)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
 		_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
@@ -83,7 +83,7 @@ func AddCalculateNszydpjjs(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbIn
 	}
 
 	//计算数据
-	err = refreshAllCalculateNszydpjjs(to, edbInfo.EdbInfoId, edbInfo.Source, formulaInt, fromEdbInfo, edbInfo.EdbCode, "")
+	err = refreshAllCalculateNszydpjjs(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, formulaInt, fromEdbInfo, edbInfo.EdbCode, "")
 	return
 }
 
@@ -171,13 +171,13 @@ func EditCalculateNszydpjjs(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq,
 	}
 
 	//计算数据
-	err = refreshAllCalculateNszydpjjs(to, edbInfo.EdbInfoId, edbInfo.Source, formulaInt, fromEdbInfo, edbInfo.EdbCode, "")
+	err = refreshAllCalculateNszydpjjs(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, formulaInt, fromEdbInfo, edbInfo.EdbCode, "")
 
 	return
 }
 
 // RefreshAllCalculateNszydpjjs 刷新全部N数值移动平均计算
-func RefreshAllCalculateNszydpjjs(edbInfoId, source, formulaInt int, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
+func RefreshAllCalculateNszydpjjs(edbInfoId, source, subSource, formulaInt int, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	defer func() {
@@ -191,12 +191,12 @@ func RefreshAllCalculateNszydpjjs(edbInfoId, source, formulaInt int, fromEdbInfo
 	}()
 
 	//计算数据
-	err = refreshAllCalculateNszydpjjs(to, edbInfoId, source, formulaInt, fromEdbInfo, edbCode, startDate)
+	err = refreshAllCalculateNszydpjjs(to, edbInfoId, source, subSource, formulaInt, fromEdbInfo, edbCode, startDate)
 	return
 }
 
 // refreshAllCalculateNszydpjjs 更新全部N数值移动平均计算
-func refreshAllCalculateNszydpjjs(to orm.TxOrmer, edbInfoId, source, formulaInt int, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
+func refreshAllCalculateNszydpjjs(to orm.TxOrmer, edbInfoId, source, subSource, formulaInt int, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	fmt.Println(edbInfoIdStr)
 	fmt.Println("refreshAllCalculateNszydpjjs startDate:", startDate)
@@ -206,7 +206,7 @@ func refreshAllCalculateNszydpjjs(to orm.TxOrmer, edbInfoId, source, formulaInt
 	condition += " AND edb_info_id=? "
 	pars = append(pars, edbInfoId)
 
-	existDataList, err := GetEdbDataListAllV1ByTo(to, condition, pars, source, 0)
+	existDataList, err := GetEdbDataListAllV1ByTo(to, condition, pars, source, subSource, 0)
 	if err != nil {
 		fmt.Println("existDataList GetEdbDataListAll Err:" + err.Error())
 		return err
@@ -230,7 +230,7 @@ func refreshAllCalculateNszydpjjs(to orm.TxOrmer, edbInfoId, source, formulaInt
 	//}
 
 	//fmt.Println("fromPars:", fromPars)
-	fromDataList, err := GetEdbDataListAllV1ByTo(to, fromCondition, fromPars, fromEdbInfo.Source, 0)
+	fromDataList, err := GetEdbDataListAllV1ByTo(to, fromCondition, fromPars, fromEdbInfo.Source, fromEdbInfo.SubSource, 0)
 	if err != nil {
 		fmt.Println("from GetEdbDataListAll Err:" + err.Error())
 		return err
@@ -245,7 +245,7 @@ func refreshAllCalculateNszydpjjs(to orm.TxOrmer, edbInfoId, source, formulaInt
 
 	addSql := ` INSERT INTO edb_data_calculate_nszydpjjs(edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) values `
 	var isAdd bool
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	arrLen := len(fromDateArr)
 	existAddDataMap := make(map[string]string)
 	for ak, av := range fromDateArr {

+ 3 - 3
models/edb_data_calculate_percentile.go

@@ -106,7 +106,7 @@ func (obj Percentile) Edit(params EditCalculateBatchParams) (err error, errMsg s
 			_ = to.Commit()
 		}
 	}()
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	oldEdbInfo := *edbInfo
 
@@ -243,7 +243,7 @@ type PercentileConfig struct {
 // refresh 刷新
 func (obj Percentile) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edbCode string) (err error, errMsg string) {
 	edbInfoId := edbInfo.EdbInfoId
-	dataTableName := GetEdbDataTableName(edbInfo.Source)
+	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	var percentileConfig PercentileConfig
@@ -379,7 +379,7 @@ func (obj Percentile) getPercentileData(fromEdbInfo *EdbInfo, calculateValue int
 		pars = append(pars, fromEdbInfo.EdbInfoId)
 
 		//获取来源指标的数据
-		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, 1)
+		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
 	case 1:
 		dataList, err = GetPredictEdbDataListAllByStartDate(fromEdbInfo, 1, "")
 	default:

+ 3 - 3
models/edb_data_calculate_rjz.go

@@ -77,7 +77,7 @@ func AddCalculateRjz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		if err != nil {
 			return
 		}
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_RJZ)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_RJZ, utils.DATA_SUB_SOURCE_EDB)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
 		_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
@@ -218,7 +218,7 @@ func refreshAllCalculateRjz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 	//	pars = append(pars, endDate)
 	//}
 
-	dataList, err := GetEdbDataListAll(condition, pars, fromEdbInfo.Source, 0)
+	dataList, err := GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 0)
 	if err != nil {
 		return err
 	}
@@ -231,7 +231,7 @@ func refreshAllCalculateRjz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 	fmt.Println("source:", source)
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, utils.DATA_SUB_SOURCE_EDB)
 	fmt.Println("dataTableName:", dataTableName)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)

+ 3 - 3
models/edb_data_calculate_standard_deviation.go

@@ -105,7 +105,7 @@ func (obj StandardDeviation) Edit(params EditCalculateBatchParams) (err error, e
 			_ = to.Commit()
 		}
 	}()
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	oldEdbInfo := *edbInfo
 
@@ -235,7 +235,7 @@ func (obj StandardDeviation) GetEdbType() int {
 
 func (obj StandardDeviation) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edbCode string) (err error) {
 	edbInfoId := edbInfo.EdbInfoId
-	dataTableName := GetEdbDataTableName(edbInfo.Source)
+	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	calculateValue, err := strconv.Atoi(edbInfo.CalculateFormula)
@@ -347,7 +347,7 @@ func (obj StandardDeviation) getStandardDeviationData(fromEdbInfo *EdbInfo, calc
 		pars = append(pars, fromEdbInfo.EdbInfoId)
 
 		//获取来源指标的数据
-		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, 1)
+		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
 	case 1:
 		dataList, err = GetPredictEdbDataListAllByStartDate(fromEdbInfo, 1, "")
 	default:

+ 8 - 8
models/edb_data_calculate_tbz.go

@@ -77,7 +77,7 @@ func AddCalculateTbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		if err != nil {
 			return
 		}
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_TBZ)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_TBZ, utils.DATA_SUB_SOURCE_EDB)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
 		_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
@@ -87,7 +87,7 @@ func AddCalculateTbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 	}
 
 	//计算数据
-	err = refreshAllCalculateTbz(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbCode, "", "")
+	err = refreshAllCalculateTbz(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbCode, "", "")
 
 	return
 }
@@ -172,13 +172,13 @@ func EditCalculateTbz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 	}
 
 	//计算数据
-	err = refreshAllCalculateTbz(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "")
+	err = refreshAllCalculateTbz(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "")
 
 	return
 }
 
 // RefreshAllCalculateTbz 刷新所有同比值数据
-func RefreshAllCalculateTbz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
+func RefreshAllCalculateTbz(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -194,12 +194,12 @@ func RefreshAllCalculateTbz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode
 	}()
 
 	//计算数据
-	err = refreshAllCalculateTbz(to, edbInfoId, source, fromEdbInfo, edbCode, startDate, endDate)
+	err = refreshAllCalculateTbz(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, startDate, endDate)
 	return
 }
 
 // refreshAllCalculateTbz
-func refreshAllCalculateTbz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
+func refreshAllCalculateTbz(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 
@@ -218,7 +218,7 @@ func refreshAllCalculateTbz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 	//	pars = append(pars, endDate)
 	//}
 
-	dataList, err := GetEdbDataListAll(condition, pars, fromEdbInfo.Source, 0)
+	dataList, err := GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 0)
 	if err != nil {
 		return err
 	}
@@ -231,7 +231,7 @@ func refreshAllCalculateTbz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 	fmt.Println("source:", source)
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	fmt.Println("dataTableName:", dataTableName)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)

+ 8 - 8
models/edb_data_calculate_tcz.go

@@ -77,7 +77,7 @@ func AddCalculateTcz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		if err != nil {
 			return
 		}
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_TCZ)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_TCZ, utils.DATA_SUB_SOURCE_EDB)
 		fmt.Println("dataTableName:", dataTableName)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
@@ -88,7 +88,7 @@ func AddCalculateTcz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 	}
 
 	//计算数据
-	err = refreshAllCalculateTcz(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "")
+	err = refreshAllCalculateTcz(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "")
 
 	return
 }
@@ -175,13 +175,13 @@ func EditCalculateTcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 	}
 
 	//计算数据
-	err = refreshAllCalculateTcz(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "")
+	err = refreshAllCalculateTcz(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "")
 
 	return
 }
 
 // RefreshAllCalculateTcz 刷新全部同差值数据
-func RefreshAllCalculateTcz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
+func RefreshAllCalculateTcz(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -196,12 +196,12 @@ func RefreshAllCalculateTcz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode
 		}
 	}()
 
-	err = refreshAllCalculateTcz(to, edbInfoId, source, fromEdbInfo, edbCode, startDate, endDate)
+	err = refreshAllCalculateTcz(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, startDate, endDate)
 
 	return
 }
 
-func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
+func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 
@@ -220,7 +220,7 @@ func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 	//	pars = append(pars, endDate)
 	//}
 
-	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, 0)
+	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 0)
 	if err != nil {
 		return err
 	}
@@ -232,7 +232,7 @@ func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 	}
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)
 	_, err = to.Raw(sql, edbInfoId).QueryRows(&existDataList)

+ 8 - 8
models/edb_data_calculate_time_shift.go

@@ -78,7 +78,7 @@ func AddCalculateTimeShift(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbIn
 		if err != nil {
 			return
 		}
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_TIME_SHIFT)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_TIME_SHIFT, utils.DATA_SUB_SOURCE_EDB)
 		fmt.Println("dataTableName:" + dataTableName)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
@@ -91,7 +91,7 @@ func AddCalculateTimeShift(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbIn
 	formulaInt, _ := strconv.Atoi(req.Formula)
 
 	//计算数据
-	err = refreshAllCalculateTimeShift(to, edbInfo.EdbInfoId, edbInfo.Source, formulaInt, edbInfo.MoveType, fromEdbInfo, edbInfo.EdbCode, "", "", edbInfo.MoveFrequency)
+	err = refreshAllCalculateTimeShift(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, formulaInt, edbInfo.MoveType, fromEdbInfo, edbInfo.EdbCode, "", "", edbInfo.MoveFrequency)
 
 	return
 }
@@ -185,13 +185,13 @@ func EditCalculateTimeShift(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq,
 
 		//计算数据
 		formulaInt, _ := strconv.Atoi(req.Formula)
-		err = refreshAllCalculateTimeShift(to, edbInfo.EdbInfoId, edbInfo.Source, formulaInt, edbInfo.MoveType, fromEdbInfo, edbInfo.EdbCode, "", "", edbInfo.MoveFrequency)
+		err = refreshAllCalculateTimeShift(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, formulaInt, edbInfo.MoveType, fromEdbInfo, edbInfo.EdbCode, "", "", edbInfo.MoveFrequency)
 	}
 	return
 }
 
 // RefreshAllCalculateTimeShift 刷新所有时间移位数据
-func RefreshAllCalculateTimeShift(edbInfoId, source, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (err error) {
+func RefreshAllCalculateTimeShift(edbInfoId, source, subSource, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -207,13 +207,13 @@ func RefreshAllCalculateTimeShift(edbInfoId, source, formulaInt, moveType int, f
 	}()
 
 	//计算数据
-	err = refreshAllCalculateTimeShift(to, edbInfoId, source, formulaInt, moveType, fromEdbInfo, edbCode, startDate, endDate, moveFrequency)
+	err = refreshAllCalculateTimeShift(to, edbInfoId, source, subSource, formulaInt, moveType, fromEdbInfo, edbCode, startDate, endDate, moveFrequency)
 
 	return
 }
 
 // refreshAllCalculateTimeShift 刷新所有时间移位数据
-func refreshAllCalculateTimeShift(to orm.TxOrmer, edbInfoId, source, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (err error) {
+func refreshAllCalculateTimeShift(to orm.TxOrmer, edbInfoId, source, subSource, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	//计算数据
@@ -251,7 +251,7 @@ func refreshAllCalculateTimeShift(to orm.TxOrmer, edbInfoId, source, formulaInt,
 		shiftDay = -shiftDay
 	}
 
-	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, 0)
+	dataList, err := GetEdbDataListAllByTo(to, condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 0)
 	if err != nil {
 		return err
 	}
@@ -264,7 +264,7 @@ func refreshAllCalculateTimeShift(to orm.TxOrmer, edbInfoId, source, formulaInt,
 	fmt.Println("source:", source)
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	fmt.Println("dataTableName:", dataTableName)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)

+ 1 - 1
models/edb_data_calculate_zdyfx.go

@@ -190,7 +190,7 @@ type UpdateEdbDataStr struct {
 
 func (obj CustomAnalysis) refresh(to orm.TxOrmer, edbInfo *EdbInfo, dateList []string, dataList []float64) (err error) {
 	edbInfoId := edbInfo.EdbInfoId
-	dataTableName := GetEdbDataTableName(edbInfo.Source)
+	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	if len(dateList) != len(dataList) {

+ 5 - 5
models/edb_data_calculate_zjpj.go

@@ -82,7 +82,7 @@ func AddCalculateZjpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, secondEdb
 		edbInfo = tmpEdbInfo
 
 		//删除指标数据
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_ZJPJ)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_ZJPJ, utils.DATA_SUB_SOURCE_EDB)
 		fmt.Println("dataTableName:" + dataTableName)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
@@ -302,7 +302,7 @@ func EditCalculateZjpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo,
 	if isNeedCalculateData {
 		// 删除之前所有的指标数据
 
-		tableName := GetEdbDataTableName(edbInfo.Source)
+		tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? `, tableName)
 		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 		if err != nil {
@@ -394,7 +394,7 @@ func refreshAllCalculateZjpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 		pars = append(pars, edbInfo.CalculateFormula, existItemA.FromEdbInfoId)
 
 		//第一个指标的数据列表
-		firstDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, existItemA.FromSource, 0)
+		firstDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, existItemA.FromSource, existItemA.FromSubSource, 0)
 		if tmpErr != nil {
 			return tmpErr
 		}
@@ -440,7 +440,7 @@ func refreshAllCalculateZjpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 		pars = append(pars, edbInfo.CalculateFormula, existItemB.FromEdbInfoId)
 
 		//第二个指标的数据列表
-		secondDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, existItemB.FromSource, 0)
+		secondDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, existItemB.FromSource, existItemB.FromSubSource, 0)
 		if tmpErr != nil {
 			return tmpErr
 		}
@@ -491,7 +491,7 @@ func refreshAllCalculateZjpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 			removeDateStr := strings.Join(removeDateList, `","`)
 			removeDateStr = `"` + removeDateStr + `"`
 			//如果拼接指标变更了,那么需要删除所有的指标数据
-			tableName := GetEdbDataTableName(edbInfo.Source)
+			tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
 			_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()

+ 3 - 3
models/edb_data_calculate_zsxy.go

@@ -103,7 +103,7 @@ func (obj ExponentialSmoothing) Edit(params EditCalculateBatchParams) (err error
 			_ = to.Commit()
 		}
 	}()
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	oldEdbInfo := *edbInfo
 
@@ -233,7 +233,7 @@ func (obj ExponentialSmoothing) GetEdbType() int {
 
 func (obj ExponentialSmoothing) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edbCode string) (err error) {
 	edbInfoId := edbInfo.EdbInfoId
-	dataTableName := GetEdbDataTableName(edbInfo.Source)
+	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	// 获取标准差图表的指标数据
@@ -345,7 +345,7 @@ func CalculateExponentialSmoothingData(fromEdbInfo *EdbInfo, strAlpha string) (n
 		pars = append(pars, fromEdbInfo.EdbInfoId)
 
 		//获取来源指标的数据
-		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, 1)
+		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
 	case 1:
 		dataList, err = GetPredictEdbDataListAllByStartDate(fromEdbInfo, 1, "")
 	default:

+ 6 - 2
models/edb_data_table.go

@@ -5,12 +5,16 @@ import (
 )
 
 // GetEdbDataTableName 指标数据->存储表
-func GetEdbDataTableName(source int) (tableName string) {
+func GetEdbDataTableName(source, subSource int) (tableName string) {
 	switch source {
 	case utils.DATA_SOURCE_THS:
 		tableName = "edb_data_ths"
 	case utils.DATA_SOURCE_WIND:
-		tableName = "edb_data_wind"
+		if subSource == utils.DATA_SUB_SOURCE_DATE {
+			tableName = "edb_data_wind_wsd"
+		} else {
+			tableName = "edb_data_wind"
+		}
 	case utils.DATA_SOURCE_PB, utils.DATA_SOURCE_PB_FINANCE:
 		tableName = "edb_data_pb"
 	case utils.DATA_SOURCE_CALCULATE:

+ 29 - 25
models/edb_info.go

@@ -54,6 +54,10 @@ type EdbInfo struct {
 	DataUpdateTime   string  `description:"最近一次数据发生变化的时间"`
 	ErDataUpdateDate string  `description:"本次更新,数据发生变化的最早日期"`
 	SourceIndexName  string  `description:"数据源中的指标名称"`
+	SubSource        int     `description:"子数据来源:0:经济数据库,1:日期序列"`
+	SubSourceName    string  `description:"子数据来源名称"`
+	IndicatorCode    string  `description:"指标代码"`
+	StockCode        string  `description:"证券代码"`
 }
 
 func (e *EdbInfo) Add() (err error) {
@@ -174,10 +178,10 @@ type EdbInfoSearchData struct {
 }
 
 // GetEdbDataListAll 获取指标数据列表 order:1升序,其余值为降序
-func GetEdbDataListAll(condition string, pars []interface{}, source, order int) (item []*EdbInfoSearchData, err error) {
+func GetEdbDataListAll(condition string, pars []interface{}, source, subSource, order int) (item []*EdbInfoSearchData, err error) {
 	o := orm.NewOrm()
 	sql := ``
-	tableName := GetEdbDataTableName(source)
+	tableName := GetEdbDataTableName(source, subSource)
 	sql = ` SELECT * FROM %s WHERE 1=1 `
 	sql = fmt.Sprintf(sql, tableName)
 
@@ -194,9 +198,9 @@ func GetEdbDataListAll(condition string, pars []interface{}, source, order int)
 }
 
 // GetEdbDataListAllByTo 根据事务链接获取指标数据列表 order:1升序,其余值为降序
-func GetEdbDataListAllByTo(to orm.TxOrmer, condition string, pars []interface{}, source, order int) (item []*EdbInfoSearchData, err error) {
+func GetEdbDataListAllByTo(to orm.TxOrmer, condition string, pars []interface{}, source, subSource, order int) (item []*EdbInfoSearchData, err error) {
 	sql := ``
-	tableName := GetEdbDataTableName(source)
+	tableName := GetEdbDataTableName(source, subSource)
 	sql = ` SELECT * FROM %s WHERE 1=1 `
 	sql = fmt.Sprintf(sql, tableName)
 
@@ -224,10 +228,10 @@ type EdbInfoMaxAndMinInfo struct {
 }
 
 // GetEdbInfoMaxAndMinInfo 获取指标的最新数据记录信息
-func GetEdbInfoMaxAndMinInfo(source int, edbCode string) (item *EdbInfoMaxAndMinInfo, err error) {
+func GetEdbInfoMaxAndMinInfo(source, subSource int, edbCode string) (item *EdbInfoMaxAndMinInfo, err error) {
 	o := orm.NewOrm()
 	sql := ``
-	tableName := GetEdbDataTableName(source)
+	tableName := GetEdbDataTableName(source, subSource)
 	sql = ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date,MIN(value) AS min_value,MAX(value) AS max_value FROM %s WHERE edb_code=? `
 	sql = fmt.Sprintf(sql, tableName)
 	err = o.Raw(sql, edbCode).QueryRow(&item)
@@ -245,10 +249,10 @@ type EdbIndoDataUpdateTime struct {
 }
 
 // GetEdbDataUpdateTimeByModify 获取指标的刷新时间获取最早的一条记录
-func GetEdbDataUpdateTimeByModify(source int, edbCode string, dataUpdateTime string) (item *EdbIndoDataUpdateTime, err error) {
+func GetEdbDataUpdateTimeByModify(source, subSource int, edbCode string, dataUpdateTime string) (item *EdbIndoDataUpdateTime, err error) {
 	o := orm.NewOrm()
 	sql := ``
-	tableName := GetEdbDataTableName(source)
+	tableName := GetEdbDataTableName(source, subSource)
 	sql = ` SELECT MIN(data_time) AS min_date FROM %s WHERE edb_code=? and modify_time>=?`
 	sql = fmt.Sprintf(sql, tableName)
 	err = o.Raw(sql, edbCode, dataUpdateTime).QueryRow(&item)
@@ -280,10 +284,10 @@ func ModifyEdbDataUpdateTime(edbInfoId int, dataUpdateTime, erDataUpdateDate str
 }
 
 // GetEdbDataCount 获取edb指标数据的数量; order:1升序,其余值为降序
-func GetEdbDataCount(condition string, pars []interface{}, source int) (count int, err error) {
+func GetEdbDataCount(condition string, pars []interface{}, source, subSource int) (count int, err error) {
 	o := orm.NewOrm()
 	sql := ``
-	tableName := GetEdbDataTableName(source)
+	tableName := GetEdbDataTableName(source, subSource)
 	sql = ` SELECT COUNT(1) AS count FROM %s WHERE 1=1 `
 	sql = fmt.Sprintf(sql, tableName)
 
@@ -295,10 +299,10 @@ func GetEdbDataCount(condition string, pars []interface{}, source int) (count in
 }
 
 // GetLastEdbData 获取最近的一条指标数据
-func GetLastEdbData(condition string, pars []interface{}, source int) (item *EdbInfoSearchData, err error) {
+func GetLastEdbData(condition string, pars []interface{}, source, subSource int) (item *EdbInfoSearchData, err error) {
 	o := orm.NewOrm()
 	sql := ``
-	tableName := GetEdbDataTableName(source)
+	tableName := GetEdbDataTableName(source, subSource)
 	sql = ` SELECT * FROM %s WHERE 1=1 `
 	sql = fmt.Sprintf(sql, tableName)
 
@@ -330,7 +334,7 @@ func GetEdbInfoOnlyByEdbCode(edbCode string) (item *EdbInfo, err error) {
 func GetEdbInfoCalculateListByCondition(condition string, pars []interface{}) (items []*EdbInfoCalculateMapping, err error) {
 	o := orm.NewOrm()
 
-	sql := ` SELECT * FROM edb_info_calculate_mapping WHERE 1=1 `
+	sql := ` SELECT a.*,b.sub_source AS from_sub_source FROM edb_info_calculate_mapping AS a LEFT JOIN edb_info AS b ON a.from_edb_info_id = b.edb_info_id WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
@@ -358,10 +362,10 @@ type EdbInfoSearchDataV1 struct {
 }
 
 // 优化版本-处理数据精度问题
-func GetEdbDataListAllV1(condition string, pars []interface{}, source, order int) (item []*EdbInfoSearchDataV1, err error) {
+func GetEdbDataListAllV1(condition string, pars []interface{}, source, subSource, order int) (item []*EdbInfoSearchDataV1, err error) {
 	o := orm.NewOrm()
 	sql := ``
-	tableName := GetEdbDataTableName(source)
+	tableName := GetEdbDataTableName(source, subSource)
 	sql = ` SELECT * FROM %s WHERE 1=1 `
 	sql = fmt.Sprintf(sql, tableName)
 
@@ -378,9 +382,9 @@ func GetEdbDataListAllV1(condition string, pars []interface{}, source, order int
 }
 
 // GetEdbDataListAllV1ByTo 通过事务链接获取数据列表
-func GetEdbDataListAllV1ByTo(to orm.TxOrmer, condition string, pars []interface{}, source, order int) (item []*EdbInfoSearchDataV1, err error) {
+func GetEdbDataListAllV1ByTo(to orm.TxOrmer, condition string, pars []interface{}, source, subSource, order int) (item []*EdbInfoSearchDataV1, err error) {
 	sql := ``
-	tableName := GetEdbDataTableName(source)
+	tableName := GetEdbDataTableName(source, subSource)
 	sql = ` SELECT * FROM %s WHERE 1=1 `
 	sql = fmt.Sprintf(sql, tableName)
 
@@ -415,7 +419,7 @@ func GetEdbInfoByCondition(condition string, pars []interface{}, order int) (ite
 // UnifiedModifyEdbInfoMaxAndMinInfo 统一修改指标的最大最小值
 func UnifiedModifyEdbInfoMaxAndMinInfo(edbInfo *EdbInfo) (err error, errMsg string) {
 	// 修改最大最小值
-	maxAndMinItem, err := GetEdbInfoMaxAndMinInfo(edbInfo.Source, edbInfo.EdbCode)
+	maxAndMinItem, err := GetEdbInfoMaxAndMinInfo(edbInfo.Source, edbInfo.SubSource, edbInfo.EdbCode)
 	if err != nil {
 		if err.Error() == utils.ErrNoRow() {
 			err = nil
@@ -457,7 +461,7 @@ func UnifiedModifyEdbInfoMaxAndMinInfoDataUpdate(edbInfo *EdbInfo, dataUpdateTim
 		return
 	}
 	// 获取本次刷新,指标数据更新的最早日期
-	erDataUpdateTime, tErr := GetEdbDataUpdateTimeByModify(edbInfo.Source, edbInfo.EdbCode, dataUpdateTime)
+	erDataUpdateTime, tErr := GetEdbDataUpdateTimeByModify(edbInfo.Source, edbInfo.SubSource, edbInfo.EdbCode, dataUpdateTime)
 	if tErr != nil {
 		if tErr.Error() != utils.ErrNoRow() { //本次刷新指标数据无变化
 			errMsg = "刷新指标失败!"
@@ -479,7 +483,7 @@ func UnifiedModifyEdbInfoMaxAndMinInfoDataUpdate(edbInfo *EdbInfo, dataUpdateTim
 // UnifiedModifyPredictEdbInfoMaxAndMinInfo 统一修改预测运算指标的最大最小值
 func UnifiedModifyPredictEdbInfoMaxAndMinInfo(edbInfo *EdbInfo, latestDateStr string, latestValue float64) (err error, errMsg string) {
 	// 修改最大最小值
-	maxAndMinItem, err := GetEdbInfoMaxAndMinInfo(edbInfo.Source, edbInfo.EdbCode)
+	maxAndMinItem, err := GetEdbInfoMaxAndMinInfo(edbInfo.Source, edbInfo.SubSource, edbInfo.EdbCode)
 	if err != nil {
 		if err.Error() == utils.ErrNoRow() {
 			err = nil
@@ -899,13 +903,13 @@ func GetPredictDataListByPredictEdbConfList(edbInfo, sourceEdbInfoItem *EdbInfo,
 		condition += " AND data_time>=? "
 		pars = append(pars, startDate)
 	}
-	tmpDataList, err := GetEdbDataListAll(condition, pars, sourceEdbInfoItem.Source, 1)
+	tmpDataList, err := GetEdbDataListAll(condition, pars, sourceEdbInfoItem.Source, sourceEdbInfoItem.SubSource, 1)
 	if err != nil {
 		return
 	}
 	// 如果选择了日期,那么需要筛选所有的数据,用于未来指标的生成
 	if startDate != `` {
-		allDataList, err = GetEdbDataListAll(" AND edb_info_id=? ", []interface{}{sourceEdbInfoItem.EdbInfoId}, sourceEdbInfoItem.Source, 1)
+		allDataList, err = GetEdbDataListAll(" AND edb_info_id=? ", []interface{}{sourceEdbInfoItem.EdbInfoId}, sourceEdbInfoItem.Source, sourceEdbInfoItem.SubSource, 1)
 		if err != nil {
 			return
 		}
@@ -968,7 +972,7 @@ func GetPredictEdbDataListAll(edbInfo *EdbInfo, order int) (items []*EdbInfoSear
 		var pars []interface{}
 		condition += " AND edb_info_id=? "
 		pars = append(pars, edbInfo.EdbInfoId)
-		items, err = GetEdbDataListAll(condition, pars, edbInfo.Source, order)
+		items, err = GetEdbDataListAll(condition, pars, edbInfo.Source, edbInfo.SubSource, order)
 	}
 	return
 }
@@ -986,7 +990,7 @@ func GetPredictEdbDataListAllByStartDate(edbInfo *EdbInfo, order int, startDate
 			condition += " AND data_time>=? "
 			pars = append(pars, startDate)
 		}
-		items, err = GetEdbDataListAll(condition, pars, edbInfo.Source, order)
+		items, err = GetEdbDataListAll(condition, pars, edbInfo.Source, edbInfo.SubSource, order)
 	}
 	return
 }
@@ -1190,7 +1194,7 @@ func EdbInfoAdd(req *AddEdbInfoParams, serverUrl string, sysUserId int, sysUserR
 	edbInfo.Sort = maxSort + 1
 	timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
 	edbInfo.UniqueCode = utils.MD5(utils.DATA_PREFIX + "_" + req.EdbCode + timestamp)
-	itemVal, err := GetEdbInfoMaxAndMinInfo(source, req.EdbCode)
+	itemVal, err := GetEdbInfoMaxAndMinInfo(source, utils.DATA_SUB_SOURCE_EDB, req.EdbCode)
 	if itemVal != nil && err == nil {
 		edbInfo.MaxValue = itemVal.MaxValue
 		edbInfo.MinValue = itemVal.MinValue

+ 1 - 0
models/edb_info_calculate_mapping.go

@@ -22,6 +22,7 @@ type EdbInfoCalculateMapping struct {
 	CreateTime                time.Time `description:"创建时间"`
 	ModifyTime                time.Time `description:"修改时间"`
 	FromTag                   string    `description:"来源指标标签"`
+	FromSubSource             int       `description:"渠道子数据库来源"`
 }
 
 // AddEdbInfoCalculateMappingMulti 批量添加指标关系表

+ 8 - 8
models/predict_edb_data_calculate_bp.go

@@ -144,12 +144,12 @@ func SavePredictCalculateBp(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbI
 	}
 
 	//计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateBp(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "", 0)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateBp(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "", 0)
 
 	return
 }
 
-func RefreshAllPredictCalculateBp(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (latestDateStr string, latestValue float64, err error) {
+func RefreshAllPredictCalculateBp(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (latestDateStr string, latestValue float64, err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -165,12 +165,12 @@ func RefreshAllPredictCalculateBp(edbInfoId, source int, fromEdbInfo *EdbInfo, e
 	}()
 
 	// 计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateBp(to, edbInfoId, source, fromEdbInfo, edbCode, startDate, endDate, 1)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateBp(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, startDate, endDate, 1)
 	return
 }
 
 // refreshAllPredictCalculateBp 刷新变频数据
-func refreshAllPredictCalculateBp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, order int) (latestDateStr string, latestValue float64, err error) {
+func refreshAllPredictCalculateBp(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, order int) (latestDateStr string, latestValue float64, err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	// 获取关联指标数据
 	dataList, err := GetPredictEdbDataListAllByStartDate(fromEdbInfo, order, "")
@@ -191,7 +191,7 @@ func refreshAllPredictCalculateBp(to orm.TxOrmer, edbInfoId, source int, fromEdb
 	fmt.Println("source:", source)
 
 	//获取变频指标所有数据
-	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source)
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return
 	}
@@ -279,7 +279,7 @@ func refreshAllPredictCalculateBp(to orm.TxOrmer, edbInfoId, source int, fromEdb
 					}
 					//如果对应的值不匹配
 					if tmpExistData.Value != lastValueStr {
-						err = ModifyEdbDataById(source, tmpExistData.EdbDataId, lastValueStr)
+						err = ModifyEdbDataById(source, subSource, tmpExistData.EdbDataId, lastValueStr)
 						if err != nil {
 							return
 						}
@@ -296,7 +296,7 @@ func refreshAllPredictCalculateBp(to orm.TxOrmer, edbInfoId, source int, fromEdb
 			}
 		} else {
 			//如果没有来源指标数据,那么已经入库的计算指标数据需要全部删除
-			tableName := GetEdbDataTableName(source)
+			tableName := GetEdbDataTableName(source, subSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ?`, tableName)
 			_, err = to.Raw(sql, edbInfoId).Exec()
 			if err != nil {
@@ -368,7 +368,7 @@ func refreshAllPredictCalculateBp(to orm.TxOrmer, edbInfoId, source int, fromEdb
 		removeDateStr := strings.Join(removeDateList, `","`)
 		removeDateStr = `"` + removeDateStr + `"`
 		//如果拼接指标变更了,那么需要删除所有的指标数据
-		tableName := GetEdbDataTableName(source)
+		tableName := GetEdbDataTableName(source, subSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
 		_, err = to.Raw(sql, edbInfoId).Exec()

+ 7 - 7
models/predict_edb_data_calculate_cjjx.go

@@ -152,7 +152,7 @@ func SavePredictCalculateCjjx(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *Ed
 		}
 
 		//清空原有数据
-		tableName := GetEdbDataTableName(edbInfo.Source)
+		tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? `, tableName)
 		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 		if err != nil {
@@ -162,13 +162,13 @@ func SavePredictCalculateCjjx(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *Ed
 	}
 
 	//计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateCjjx(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "", edbInfo.Calendar, formulaInt)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateCjjx(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "", edbInfo.Calendar, formulaInt)
 
 	return
 }
 
 // RefreshAllPredictCalculateCjjx 刷新全部超季节性数据
-func RefreshAllPredictCalculateCjjx(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, calendar string, formulaInt int) (latestDateStr string, latestValue float64, err error) {
+func RefreshAllPredictCalculateCjjx(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, calendar string, formulaInt int) (latestDateStr string, latestValue float64, err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -184,13 +184,13 @@ func RefreshAllPredictCalculateCjjx(edbInfoId, source int, fromEdbInfo *EdbInfo,
 	}()
 
 	// 重新计算
-	latestDateStr, latestValue, err = refreshAllPredictCalculateCjjx(to, edbInfoId, source, fromEdbInfo, edbCode, startDate, endDate, calendar, formulaInt)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateCjjx(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, startDate, endDate, calendar, formulaInt)
 
 	return
 }
 
 // refreshAllPredictCalculateCjjx 刷新全部超季节性数据
-func refreshAllPredictCalculateCjjx(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, calendar string, formulaInt int) (latestDateStr string, latestValue float64, err error) {
+func refreshAllPredictCalculateCjjx(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, calendar string, formulaInt int) (latestDateStr string, latestValue float64, err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	// 获取关联指标数据
 	dataList, err := GetPredictEdbDataListAllByStartDate(fromEdbInfo, 1, "")
@@ -214,7 +214,7 @@ func refreshAllPredictCalculateCjjx(to orm.TxOrmer, edbInfoId, source int, fromE
 
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)
 	_, err = to.Raw(sql, edbInfoId).QueryRows(&existDataList)
@@ -342,7 +342,7 @@ func refreshAllPredictCalculateCjjx(to orm.TxOrmer, edbInfoId, source int, fromE
 		removeNum := len(removeDateList)
 		if removeNum > 0 {
 			//如果拼接指标变更了,那么需要删除所有的指标数据
-			tableName := GetEdbDataTableName(source)
+			tableName := GetEdbDataTableName(source, subSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (`+utils.GetOrmInReplace(removeNum)+`) `, tableName)
 			_, err = to.Raw(sql, edbInfoId, removeDateList).Exec()
 			if err != nil {

+ 6 - 6
models/predict_edb_data_calculate_hbz.go

@@ -79,7 +79,7 @@ func SavePredictCalculateHbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *Edb
 		latestDateStr = edbInfo.LatestDate
 		latestValue = edbInfo.LatestValue
 		oldCalculateFormula := edbInfo.CalculateFormula
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_HBZ)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_HBZ, utils.DATA_SUB_SOURCE_EDB)
 		//修改指标信息
 		edbInfo.EdbName = req.EdbName
 		edbInfo.EdbNameSource = req.EdbName
@@ -150,12 +150,12 @@ func SavePredictCalculateHbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *Edb
 	}
 
 	//计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateHbz(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "", formulaInt)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateHbz(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "", formulaInt)
 	return
 }
 
 // RefreshAllPredictCalculateHbz 刷新所有环比值数据
-func RefreshAllPredictCalculateHbz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (latestDateStr string, latestValue float64, err error) {
+func RefreshAllPredictCalculateHbz(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (latestDateStr string, latestValue float64, err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -171,12 +171,12 @@ func RefreshAllPredictCalculateHbz(edbInfoId, source int, fromEdbInfo *EdbInfo,
 	}()
 
 	//计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateHbz(to, edbInfoId, source, fromEdbInfo, edbCode, startDate, endDate, formulaInt)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateHbz(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, startDate, endDate, formulaInt)
 	return
 }
 
 // refreshAllPredictCalculateHbz 刷新所有环比值数据
-func refreshAllPredictCalculateHbz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (latestDateStr string, latestValue float64, err error) {
+func refreshAllPredictCalculateHbz(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (latestDateStr string, latestValue float64, err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	// 获取关联指标数据
 	dataList, err := GetPredictEdbDataListAllByStartDate(fromEdbInfo, 0, "")
@@ -193,7 +193,7 @@ func refreshAllPredictCalculateHbz(to orm.TxOrmer, edbInfoId, source int, fromEd
 	fmt.Println("source:", source)
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	fmt.Println("dataTableName:", dataTableName)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)

+ 6 - 6
models/predict_edb_data_calculate_hcz.go

@@ -149,13 +149,13 @@ func SavePredictCalculateHcz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *Edb
 	}
 
 	//计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateHcz(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "", formulaInt)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateHcz(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "", formulaInt)
 
 	return
 }
 
 // RefreshAllPredictCalculateHcz 刷新所有环差值数据
-func RefreshAllPredictCalculateHcz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (latestDateStr string, latestValue float64, err error) {
+func RefreshAllPredictCalculateHcz(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (latestDateStr string, latestValue float64, err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -171,12 +171,12 @@ func RefreshAllPredictCalculateHcz(edbInfoId, source int, fromEdbInfo *EdbInfo,
 	}()
 
 	//计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateHcz(to, edbInfoId, source, fromEdbInfo, edbCode, startDate, endDate, formulaInt)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateHcz(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, startDate, endDate, formulaInt)
 	return
 }
 
 // refreshAllPredictCalculateHcz 刷新所有环差值数据
-func refreshAllPredictCalculateHcz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (latestDateStr string, latestValue float64, err error) {
+func refreshAllPredictCalculateHcz(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (latestDateStr string, latestValue float64, err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	// 获取关联指标数据
 	dataList, err := GetPredictEdbDataListAllByStartDate(fromEdbInfo, 0, "")
@@ -193,7 +193,7 @@ func refreshAllPredictCalculateHcz(to orm.TxOrmer, edbInfoId, source int, fromEd
 	fmt.Println("source:", source)
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	fmt.Println("dataTableName:", dataTableName)
 
 	var existPars []interface{}
@@ -288,7 +288,7 @@ func refreshAllPredictCalculateHcz(to orm.TxOrmer, edbInfoId, source int, fromEd
 		removeDateStr := strings.Join(removeDateList, `","`)
 		removeDateStr = `"` + removeDateStr + `"`
 		//如果拼接指标变更了,那么需要删除所有的指标数据
-		tableName := GetEdbDataTableName(source)
+		tableName := GetEdbDataTableName(source, subSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
 		_, err = to.Raw(sql, edbInfoId).Exec()

+ 9 - 9
models/predict_edb_data_calculate_jp.go

@@ -146,7 +146,7 @@ func SavePredictCalculateJp(reqEdbInfoId, classifyId int, edbName, frequency, un
 		}
 
 		//清空原有已经入库的数据
-		tableName := GetEdbDataTableName(edbInfo.Source)
+		tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 		sql = ` DELETE FROM ` + tableName + ` WHERE edb_info_id = ? `
 		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 		if err != nil {
@@ -180,13 +180,13 @@ func SavePredictCalculateJp(reqEdbInfoId, classifyId int, edbName, frequency, un
 	}
 
 	// 计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateJp(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbCode, edbInfo.Frequency, formula)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateJp(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbCode, edbInfo.Frequency, formula)
 
 	return
 }
 
 // RefreshAllPredictCalculateJp 刷新全部预测降频值数据
-func RefreshAllPredictCalculateJp(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, edbFrequency, formula string) (latestDateStr string, latestValue float64, err error) {
+func RefreshAllPredictCalculateJp(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, edbFrequency, formula string) (latestDateStr string, latestValue float64, err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -202,12 +202,12 @@ func RefreshAllPredictCalculateJp(edbInfoId, source int, fromEdbInfo *EdbInfo, e
 	}()
 
 	// 计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateJp(to, edbInfoId, source, fromEdbInfo, edbCode, edbFrequency, formula)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateJp(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, edbFrequency, formula)
 	return
 }
 
 // refreshAllPredictCalculateJp 刷新预测降频数据
-func refreshAllPredictCalculateJp(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, edbFrequency, formula string) (latestDateStr string, latestValue float64, err error) {
+func refreshAllPredictCalculateJp(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, edbFrequency, formula string) (latestDateStr string, latestValue float64, err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//获取源指标数据
 	fmt.Println("EdbInfoId:", fromEdbInfo.EdbInfoId)
@@ -227,7 +227,7 @@ func refreshAllPredictCalculateJp(to orm.TxOrmer, edbInfoId, source int, fromEdb
 	fmt.Println("source:", source)
 
 	//获取降频指标所有数据
-	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source)
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return
 	}
@@ -239,7 +239,7 @@ func refreshAllPredictCalculateJp(to orm.TxOrmer, edbInfoId, source int, fromEdb
 
 	latestDateStr = fromEdbInfo.LatestDate
 
-	tableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_JP)
+	tableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_JP, subSource)
 	addSql := ` INSERT INTO ` + tableName + ` (edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) values `
 	var isAdd bool
 
@@ -360,7 +360,7 @@ func refreshAllPredictCalculateJp(to orm.TxOrmer, edbInfoId, source int, fromEdb
 			existVal, _ := existValDeci.Round(4).Float64()
 			// 判断降频数据的值 与 当前计算出来的结果, 如果两个数据结果不相等的话,那么就修改咯
 			if existVal != currVal {
-				err = ModifyEdbDataById(source, existData.EdbDataId, fmt.Sprint(currVal))
+				err = ModifyEdbDataById(source, subSource, existData.EdbDataId, fmt.Sprint(currVal))
 				if err != nil {
 					return
 				}
@@ -412,7 +412,7 @@ func refreshAllPredictCalculateJp(to orm.TxOrmer, edbInfoId, source int, fromEdb
 			existVal, _ := existValDeci.Round(4).Float64()
 			// 判断降频数据的值 与 当前计算出来的结果, 如果两个数据结果不相等的话,那么就修改咯
 			if existVal != currVal {
-				err = ModifyEdbDataById(source, existData.EdbDataId, fmt.Sprint(currVal))
+				err = ModifyEdbDataById(source, subSource, existData.EdbDataId, fmt.Sprint(currVal))
 				if err != nil {
 					return
 				}

+ 7 - 7
models/predict_edb_data_calculate_kszs.go

@@ -138,7 +138,7 @@ func SavePredictCalculateKszs(reqEdbInfoId, classifyId int, edbName, frequency,
 			return
 		}
 		//清空原有数据
-		tableName := GetEdbDataTableName(edbInfo.Source)
+		tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 		sql = ` DELETE FROM ` + tableName + ` WHERE edb_info_id = ? `
 		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 		if err != nil {
@@ -181,7 +181,7 @@ func SavePredictCalculateKszs(reqEdbInfoId, classifyId int, edbName, frequency,
 	}
 
 	// 计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateKszs(to, edbInfo.EdbInfoId, edbInfo.Source, relationEdbInfoList, edbCode, formula, tagMap)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateKszs(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, relationEdbInfoList, edbCode, formula, tagMap)
 
 	return
 }
@@ -215,14 +215,14 @@ func RefreshAllPredictCalculateKszs(edbInfo *EdbInfo) (latestDateStr string, lat
 	}()
 
 	// 计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateKszs(to, edbInfo.EdbInfoId, edbInfo.Source, relationEdbInfoList, edbInfo.EdbCode, edbInfo.CalculateFormula, tagMap)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateKszs(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, relationEdbInfoList, edbInfo.EdbCode, edbInfo.CalculateFormula, tagMap)
 	return
 }
 
 // refreshAllPredictCalculateKszs 刷新预测年化数据
-func refreshAllPredictCalculateKszs(to orm.TxOrmer, edbInfoId, source int, relationEdbInfoList []*EdbInfo, edbCode, calculateFormula string, tagMap map[string]int) (latestDateStr string, latestValue float64, err error) {
+func refreshAllPredictCalculateKszs(to orm.TxOrmer, edbInfoId, source, subSource int, relationEdbInfoList []*EdbInfo, edbCode, calculateFormula string, tagMap map[string]int) (latestDateStr string, latestValue float64, err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
-	tableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_KSZS)
+	tableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_KSZS, subSource)
 
 	// 获取扩散指标关联的指标id
 	checkEdbInfoIdMap := make(map[int]int)
@@ -246,7 +246,7 @@ func refreshAllPredictCalculateKszs(to orm.TxOrmer, edbInfoId, source int, relat
 	}
 
 	//获取当前指标的所有数据
-	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source)
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return
 	}
@@ -361,7 +361,7 @@ func refreshAllPredictCalculateKszs(to orm.TxOrmer, edbInfoId, source int, relat
 			existVal, _ := existValDeci.Round(4).Float64()
 			// 判断扩散指数数据的值 与 当前计算出来的结果, 如果两个数据结果不相等的话,那么就修改咯
 			if existVal != currVal {
-				err = ModifyEdbDataById(source, existData.EdbDataId, fmt.Sprint(currVal))
+				err = ModifyEdbDataById(source, subSource, existData.EdbDataId, fmt.Sprint(currVal))
 				if err != nil {
 					return
 				}

+ 7 - 7
models/predict_edb_data_calculate_ljz.go

@@ -112,7 +112,7 @@ func (obj PredictLjz) Add(params BatchSaveCalculateBatchParams) (edbInfo *EdbInf
 	}
 
 	//计算数据
-	latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
+	latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
 
 	return
 }
@@ -152,7 +152,7 @@ func (obj PredictLjz) Edit(params BatchSaveCalculateBatchParams) (latestDateStr
 			_ = to.Commit()
 		}
 	}()
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	var isRecalculate bool
 	if edbInfo.Frequency != req.Frequency {
@@ -185,7 +185,7 @@ func (obj PredictLjz) Edit(params BatchSaveCalculateBatchParams) (latestDateStr
 
 		// 频度被换了,需要重新计算
 		if isRecalculate {
-			latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
+			latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
 		}
 
 		return
@@ -230,7 +230,7 @@ func (obj PredictLjz) Edit(params BatchSaveCalculateBatchParams) (latestDateStr
 	}
 
 	//计算数据
-	latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
+	latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
 
 	return
 }
@@ -263,7 +263,7 @@ func (obj PredictLjz) Refresh(params RefreshParams) (latestDateStr string, lates
 	}()
 
 	// 计算数据
-	latestDateStr, latestValue, err = obj.refresh(to, params.EdbInfo.EdbInfoId, params.EdbInfo.Source, params.EdbInfo, fromEdbInfo, params.EdbInfo.EdbCode, params.StartDate)
+	latestDateStr, latestValue, err = obj.refresh(to, params.EdbInfo.EdbInfoId, params.EdbInfo.Source, params.EdbInfo.SubSource, params.EdbInfo, fromEdbInfo, params.EdbInfo.EdbCode, params.StartDate)
 
 	return
 }
@@ -278,8 +278,8 @@ func (obj PredictLjz) GetSourceName() string {
 	return utils.DATA_SOURCE_NAME_PREDICT_CALCULATE_LJZ
 }
 
-func (obj PredictLjz) refresh(to orm.TxOrmer, edbInfoId, source int, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error) {
-	dataTableName := GetEdbDataTableName(source)
+func (obj PredictLjz) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error) {
+	dataTableName := GetEdbDataTableName(source, subSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	var isWeekData bool // 是否周度数据,如果是周度数据的话,是需要变频的,最后结果还需要除以7

+ 7 - 7
models/predict_edb_data_calculate_ljznczj.go

@@ -111,7 +111,7 @@ func (obj PredictLjzNczj) Add(params BatchSaveCalculateBatchParams) (edbInfo *Ed
 	}
 
 	//计算数据
-	latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
+	latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
 
 	return
 }
@@ -150,7 +150,7 @@ func (obj PredictLjzNczj) Edit(params BatchSaveCalculateBatchParams) (latestDate
 			_ = to.Commit()
 		}
 	}()
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	var isRecalculate bool
 	if edbInfo.Frequency != req.Frequency {
@@ -183,7 +183,7 @@ func (obj PredictLjzNczj) Edit(params BatchSaveCalculateBatchParams) (latestDate
 
 		// 频度被换了,需要重新计算
 		if isRecalculate {
-			latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
+			latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
 		}
 
 		return
@@ -228,7 +228,7 @@ func (obj PredictLjzNczj) Edit(params BatchSaveCalculateBatchParams) (latestDate
 	}
 
 	//计算数据
-	latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
+	latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, edbInfo, fromEdbInfo, edbInfo.EdbCode, "")
 
 	return
 }
@@ -261,7 +261,7 @@ func (obj PredictLjzNczj) Refresh(params RefreshParams) (latestDateStr string, l
 	}()
 
 	// 计算数据
-	latestDateStr, latestValue, err = obj.refresh(to, params.EdbInfo.EdbInfoId, params.EdbInfo.Source, params.EdbInfo, fromEdbInfo, params.EdbInfo.EdbCode, params.StartDate)
+	latestDateStr, latestValue, err = obj.refresh(to, params.EdbInfo.EdbInfoId, params.EdbInfo.Source, params.EdbInfo.SubSource, params.EdbInfo, fromEdbInfo, params.EdbInfo.EdbCode, params.StartDate)
 
 	return
 }
@@ -276,8 +276,8 @@ func (obj PredictLjzNczj) GetSourceName() string {
 	return utils.DATA_SOURCE_NAME_PREDICT_CALCULATE_LJZNCZJ
 }
 
-func (obj PredictLjzNczj) refresh(to orm.TxOrmer, edbInfoId, source int, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error) {
-	dataTableName := GetEdbDataTableName(source)
+func (obj PredictLjzNczj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error) {
+	dataTableName := GetEdbDataTableName(source, subSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	var isWeekData bool // 是否周度数据,如果是周度数据的话,是需要变频的,最后结果还需要除以7

+ 4 - 4
models/predict_edb_data_calculate_ljztbpj.go

@@ -291,7 +291,7 @@ func SavePredictCalculateLjztbpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo
 		// 如果需要重新计算,那么先删除所有的指标数据,然后再重新计算
 		if isNeedCalculateData {
 			// 删除之前所有的指标数据
-			tableName := GetEdbDataTableName(edbInfo.Source)
+			tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 			sql = fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? `, tableName)
 			_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 			if err != nil {
@@ -451,7 +451,7 @@ func refreshAllPredictCalculateLjztbpj(to orm.TxOrmer, edbInfo, firstEdbInfo, se
 		pars = append(pars, startCalculationDate, existItemB.FromEdbInfoId)
 
 		//第二个指标的数据列表
-		secondDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, existItemB.FromSource, 0)
+		secondDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, existItemB.FromSource, existItemB.FromSubSource, 0)
 		if tmpErr != nil {
 			err = tmpErr
 			return
@@ -565,7 +565,7 @@ func refreshAllPredictCalculateLjztbpj(to orm.TxOrmer, edbInfo, firstEdbInfo, se
 			removeDateStr := strings.Join(removeDateList, `","`)
 			removeDateStr = `"` + removeDateStr + `"`
 			//如果拼接指标变更了,那么需要删除所有的指标数据
-			tableName := GetEdbDataTableName(edbInfo.Source)
+			tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
 			_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
@@ -578,7 +578,7 @@ func refreshAllPredictCalculateLjztbpj(to orm.TxOrmer, edbInfo, firstEdbInfo, se
 
 	//修改现有的数据中对应的值
 	{
-		tableName := GetEdbDataTableName(edbInfo.Source)
+		tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 		for edbDate, edbDataValue := range updateEdbDataMap {
 			sql := fmt.Sprintf(` UPDATE  %s set value = ?,modify_time=now() WHERE edb_info_id = ? and data_time = ? `, tableName)
 			_, err = to.Raw(sql, edbDataValue, edbInfo.EdbInfoId, edbDate).Exec()

+ 6 - 6
models/predict_edb_data_calculate_ljzzj.go

@@ -87,7 +87,7 @@ func (obj PredictLjzzj) Add(params BatchSaveCalculateBatchParams) (edbInfo *EdbI
 	}
 
 	//计算数据
-	latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode)
+	latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode)
 
 	return
 }
@@ -119,7 +119,7 @@ func (obj PredictLjzzj) Edit(params BatchSaveCalculateBatchParams) (latestDateSt
 			_ = to.Commit()
 		}
 	}()
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	//修改指标信息
 	edbInfo.EdbName = req.EdbName
@@ -187,7 +187,7 @@ func (obj PredictLjzzj) Edit(params BatchSaveCalculateBatchParams) (latestDateSt
 	}
 
 	//计算数据
-	latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode)
+	latestDateStr, latestValue, err = obj.refresh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode)
 
 	return
 }
@@ -220,7 +220,7 @@ func (obj PredictLjzzj) Refresh(params RefreshParams) (latestDateStr string, lat
 	}()
 
 	// 计算数据
-	latestDateStr, latestValue, err = obj.refresh(to, params.EdbInfo.EdbInfoId, params.EdbInfo.Source, fromEdbInfo, params.EdbInfo.EdbCode)
+	latestDateStr, latestValue, err = obj.refresh(to, params.EdbInfo.EdbInfoId, params.EdbInfo.Source, params.EdbInfo.SubSource, fromEdbInfo, params.EdbInfo.EdbCode)
 
 	return
 }
@@ -235,8 +235,8 @@ func (obj PredictLjzzj) GetSourceName() string {
 	return utils.DATA_SOURCE_NAME_PREDICT_CALCULATE_LJZZJ
 }
 
-func (obj PredictLjzzj) refresh(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode string) (latestDateStr string, latestValue float64, err error) {
-	dataTableName := GetEdbDataTableName(source)
+func (obj PredictLjzzj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode string) (latestDateStr string, latestValue float64, err error) {
+	dataTableName := GetEdbDataTableName(source, subSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	// 获取来源指标的数据

+ 5 - 5
models/predict_edb_data_calculate_ljzzy.go

@@ -148,13 +148,13 @@ func SavePredictCalculateLjzzy(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *E
 	}
 
 	//计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateLjzzy(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbInfo.EdbCode, "", "")
+	latestDateStr, latestValue, err = refreshAllPredictCalculateLjzzy(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbInfo.EdbCode, "", "")
 
 	return
 }
 
 // RefreshAllPredictCalculateLjzzy 刷新全部累计值转月数据
-func RefreshAllPredictCalculateLjzzy(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (latestDateStr string, latestValue float64, err error) {
+func RefreshAllPredictCalculateLjzzy(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (latestDateStr string, latestValue float64, err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -170,12 +170,12 @@ func RefreshAllPredictCalculateLjzzy(edbInfoId, source int, fromEdbInfo *EdbInfo
 	}()
 
 	// 计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateLjzzy(to, edbInfoId, source, fromEdbInfo, edbCode, startDate, endDate)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateLjzzy(to, edbInfoId, source, subSource, fromEdbInfo, edbCode, startDate, endDate)
 
 	return
 }
 
-func refreshAllPredictCalculateLjzzy(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (latestDateStr string, latestValue float64, err error) {
+func refreshAllPredictCalculateLjzzy(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (latestDateStr string, latestValue float64, err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	dataList, err := GetPredictEdbDataListAllByStartDate(fromEdbInfo, 1, startDate)
 	if err != nil {
@@ -208,7 +208,7 @@ func refreshAllPredictCalculateLjzzy(to orm.TxOrmer, edbInfoId, source int, from
 	var isAdd bool
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)
 	_, err = to.Raw(sql, edbInfoId).QueryRows(&existDataList)

+ 8 - 8
models/predict_edb_data_calculate_nh.go

@@ -145,7 +145,7 @@ func SavePredictCalculateNh(reqEdbInfoId, classifyId int, edbName, frequency, un
 		}
 
 		//清空原有已经入库的数据
-		tableName := GetEdbDataTableName(edbInfo.Source)
+		tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 		sql = ` DELETE FROM ` + tableName + ` WHERE edb_info_id = ? `
 		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 		if err != nil {
@@ -179,13 +179,13 @@ func SavePredictCalculateNh(reqEdbInfoId, classifyId int, edbName, frequency, un
 	}
 
 	// 计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateNh(to, edbInfo.EdbInfoId, edbInfo.Source, fromEdbInfo, edbCode)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateNh(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo, edbCode)
 
 	return
 }
 
 // RefreshAllPredictCalculateNh 刷新全部预测年化值数据
-func RefreshAllPredictCalculateNh(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, edbFrequency, formula string) (latestDateStr string, latestValue float64, err error) {
+func RefreshAllPredictCalculateNh(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, edbFrequency, formula string) (latestDateStr string, latestValue float64, err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -201,17 +201,17 @@ func RefreshAllPredictCalculateNh(edbInfoId, source int, fromEdbInfo *EdbInfo, e
 	}()
 
 	// 计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateNh(to, edbInfoId, source, fromEdbInfo, edbCode)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateNh(to, edbInfoId, source, subSource, fromEdbInfo, edbCode)
 	return
 }
 
 // refreshAllPredictCalculateNh 刷新预测年化数据
-func refreshAllPredictCalculateNh(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode string) (latestDateStr string, latestValue float64, err error) {
+func refreshAllPredictCalculateNh(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode string) (latestDateStr string, latestValue float64, err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
-	tableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_NH)
+	tableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_NH, subSource)
 
 	//获取年化指标所有数据
-	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source)
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return
 	}
@@ -337,7 +337,7 @@ func refreshAllPredictCalculateNh(to orm.TxOrmer, edbInfoId, source int, fromEdb
 			existVal, _ := existValDeci.Round(4).Float64()
 			// 判断年化数据的值 与 当前计算出来的结果, 如果两个数据结果不相等的话,那么就修改咯
 			if existVal != currVal {
-				err = ModifyEdbDataById(source, existData.EdbDataId, fmt.Sprint(currVal))
+				err = ModifyEdbDataById(source, subSource, existData.EdbDataId, fmt.Sprint(currVal))
 				if err != nil {
 					return
 				}

+ 2 - 2
models/predict_edb_data_calculate_nhcc.go

@@ -290,7 +290,7 @@ func SavePredictCalculateNhcc(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, s
 		// 如果需要重新计算,那么先删除所有的指标数据,然后再重新计算
 		if isNeedCalculateData {
 			// 删除之前所有的指标数据
-			tableName := GetEdbDataTableName(edbInfo.Source)
+			tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? `, tableName)
 			_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 			if err != nil {
@@ -518,7 +518,7 @@ func refreshAllPredictCalculateNhcc(to orm.TxOrmer, edbInfo, firstEdbInfo, secon
 		removeNum := len(removeDateList)
 		if removeNum > 0 {
 			//如果拼接指标变更了,那么需要删除所有的指标数据
-			tableName := GetEdbDataTableName(edbInfo.Source)
+			tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (`+utils.GetOrmInReplace(removeNum)+`) `, tableName)
 			_, err = to.Raw(sql, edbInfo.EdbInfoId, removeDateList).Exec()
 			if err != nil {

+ 6 - 6
models/predict_edb_data_calculate_nszydbpjjs.go

@@ -179,7 +179,7 @@ func SavePredictCalculateNszydpjjs(reqEdbInfoId, classifyId int, edbName, freque
 		}
 
 		// 删除该指标所有的同比数据
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS, utils.DATA_SUB_SOURCE_EDB)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
 		_, err = to.Raw(deleteSql, edbInfo.EdbInfoId).Exec()
@@ -188,13 +188,13 @@ func SavePredictCalculateNszydpjjs(reqEdbInfoId, classifyId int, edbName, freque
 		}
 	}
 
-	latestDateStr, latestValue, err = refreshAllPredictCalculateNszydpjjs(to, edbInfo.EdbInfoId, edbInfo.Source, formulaInt, fromEdbInfo, edbInfo.EdbCode, "")
+	latestDateStr, latestValue, err = refreshAllPredictCalculateNszydpjjs(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, formulaInt, fromEdbInfo, edbInfo.EdbCode, "")
 
 	return
 }
 
 // RefreshAllPredictCalculateNszydpjjs 刷新所有 N数值移动平均计算指标 数据
-func RefreshAllPredictCalculateNszydpjjs(edbInfoId, source, formulaInt int, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error) {
+func RefreshAllPredictCalculateNszydpjjs(edbInfoId, source, subSource, formulaInt int, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -209,20 +209,20 @@ func RefreshAllPredictCalculateNszydpjjs(edbInfoId, source, formulaInt int, from
 		}
 	}()
 
-	latestDateStr, latestValue, err = refreshAllPredictCalculateNszydpjjs(to, edbInfoId, source, formulaInt, fromEdbInfo, edbCode, startDate)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateNszydpjjs(to, edbInfoId, source, subSource, formulaInt, fromEdbInfo, edbCode, startDate)
 
 	return
 }
 
 // refreshAllPredictCalculateNszydpjjs 更新全部N数值移动平均计算
-func refreshAllPredictCalculateNszydpjjs(to orm.TxOrmer, edbInfoId, source, formulaInt int, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error) {
+func refreshAllPredictCalculateNszydpjjs(to orm.TxOrmer, edbInfoId, source, subSource, formulaInt int, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	fmt.Println(edbInfoIdStr)
 	fmt.Println("refreshAllCalculateNszydpjjs startDate:", startDate)
 
 	// 获取关联指标数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	fmt.Println("dataTableName:", dataTableName)
 
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `

+ 4 - 4
models/predict_edb_data_calculate_percentile.go

@@ -129,7 +129,7 @@ func (obj PredictPercentile) Edit(params BatchSaveCalculateBatchParams) (latestD
 			_ = to.Commit()
 		}
 	}()
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	var isRecalculate bool
 	if edbInfo.CalculateFormula != req.Formula {
@@ -257,7 +257,7 @@ func (obj PredictPercentile) GetSourceName() string {
 
 func (obj PredictPercentile) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error, errMsg string) {
 	edbInfoId := edbInfo.EdbInfoId
-	dataTableName := GetEdbDataTableName(edbInfo.Source)
+	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	var percentileConfig PercentileConfig
@@ -357,7 +357,7 @@ func (obj PredictPercentile) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbIn
 
 	//确定实际数据的最终值
 	{
-		finalLast, tmpErr := GetFinalLastByTo(to, edbInfoId, edbInfo.Source, fromEdbInfo.LatestDate)
+		finalLast, tmpErr := GetFinalLastByTo(to, edbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo.LatestDate)
 		if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
 			return
 		}
@@ -382,7 +382,7 @@ func (obj PredictPercentile) getPercentileData(fromEdbInfo *EdbInfo, calculateVa
 		pars = append(pars, fromEdbInfo.EdbInfoId)
 
 		//获取来源指标的数据
-		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, 1)
+		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
 	case 1:
 		dataList, err = GetPredictEdbDataListAllByStartDate(fromEdbInfo, 1, "")
 	default:

+ 4 - 4
models/predict_edb_data_calculate_standard_deviation.go

@@ -140,7 +140,7 @@ func (obj PredictStandardDeviation) Edit(params BatchSaveCalculateBatchParams) (
 			_ = to.Commit()
 		}
 	}()
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	var isRecalculate bool
 	if edbInfo.CalculateFormula != req.Formula {
@@ -268,7 +268,7 @@ func (obj PredictStandardDeviation) GetSourceName() string {
 
 func (obj PredictStandardDeviation) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error) {
 	edbInfoId := edbInfo.EdbInfoId
-	dataTableName := GetEdbDataTableName(edbInfo.Source)
+	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	latestDateStr = fromEdbInfo.LatestDate
 
@@ -368,7 +368,7 @@ func (obj PredictStandardDeviation) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo
 
 	//确定实际数据的最终值
 	{
-		finalLast, tmpErr := GetFinalLastByTo(to, edbInfoId, edbInfo.Source, fromEdbInfo.LatestDate)
+		finalLast, tmpErr := GetFinalLastByTo(to, edbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo.LatestDate)
 		if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
 			return
 		}
@@ -393,7 +393,7 @@ func (obj PredictStandardDeviation) getStandardDeviationData(fromEdbInfo *EdbInf
 		pars = append(pars, fromEdbInfo.EdbInfoId)
 
 		//获取来源指标的数据
-		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, 1)
+		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
 	case 1:
 		dataList, err = GetPredictEdbDataListAllByStartDate(fromEdbInfo, 1, "")
 	default:

+ 4 - 4
models/predict_edb_data_calculate_tbz.go

@@ -142,7 +142,7 @@ func (obj PredictTb) Edit(params BatchSaveCalculateBatchParams) (latestDateStr s
 			_ = to.Commit()
 		}
 	}()
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	//修改指标信息
 	edbInfo.EdbName = req.EdbName
@@ -259,7 +259,7 @@ func (obj PredictTb) GetSourceName() string {
 
 func (obj PredictTb) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error) {
 	edbInfoId := edbInfo.EdbInfoId
-	dataTableName := GetEdbDataTableName(edbInfo.Source)
+	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
@@ -605,7 +605,7 @@ func (obj PredictTb) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edbC
 
 	//确定实际数据的最终值
 	{
-		finalLast, tmpErr := GetFinalLastByTo(to, edbInfoId, edbInfo.Source, fromEdbInfo.LatestDate)
+		finalLast, tmpErr := GetFinalLastByTo(to, edbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo.LatestDate)
 		if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
 			return
 		}
@@ -749,7 +749,7 @@ func SavePredictCalculateTbz(reqEdbInfoId, classifyId int, edbName, frequency, u
 		}
 
 		// 删除该指标所有的同比数据
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_TBZ)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_TBZ, utils.DATA_SUB_SOURCE_EDB)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
 		_, err = to.Raw(deleteSql, edbInfo.EdbInfoId).Exec()

+ 3 - 3
models/predict_edb_data_calculate_tcz.go

@@ -143,7 +143,7 @@ func SavePredictCalculateTcz(reqEdbInfoId, classifyId int, edbName, frequency, u
 		}
 
 		// 删除该指标所有的同差数据
-		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_TCZ)
+		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_PREDICT_CALCULATE_TCZ, utils.DATA_SUB_SOURCE_EDB)
 		fmt.Println("dataTableName:", dataTableName)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
@@ -351,7 +351,7 @@ func SavePredictCalculateTcz(reqEdbInfoId, classifyId int, edbName, frequency, u
 }
 
 // RefreshAllPredictCalculateTcz 刷新全部同差值数据
-func RefreshAllPredictCalculateTcz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error) {
+func RefreshAllPredictCalculateTcz(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -387,7 +387,7 @@ func RefreshAllPredictCalculateTcz(edbInfoId, source int, fromEdbInfo *EdbInfo,
 	}
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)
 	_, err = o.Raw(sql, edbInfoId).QueryRows(&existDataList)

+ 5 - 5
models/predict_edb_data_calculate_time_shift.go

@@ -160,13 +160,13 @@ func SavePredictCalculateTimeShift(req *EdbInfoCalculateBatchSaveReq, fromEdbInf
 	formulaInt, _ := strconv.Atoi(req.Formula)
 
 	//计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateTimeShift(to, edbInfo.EdbInfoId, edbInfo.Source, formulaInt, edbInfo.MoveType, fromEdbInfo, edbInfo.EdbCode, "", "", edbInfo.MoveFrequency)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateTimeShift(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource, formulaInt, edbInfo.MoveType, fromEdbInfo, edbInfo.EdbCode, "", "", edbInfo.MoveFrequency)
 
 	return
 }
 
 // refreshAllPredictCalculateTimeShift 刷新所有时间移位数据
-func RefreshAllPredictCalculateTimeShift(edbInfoId, source, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (latestDateStr string, latestValue float64, err error) {
+func RefreshAllPredictCalculateTimeShift(edbInfoId, source, subSource, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (latestDateStr string, latestValue float64, err error) {
 	o := orm.NewOrm()
 	to, err := o.Begin()
 	if err != nil {
@@ -182,12 +182,12 @@ func RefreshAllPredictCalculateTimeShift(edbInfoId, source, formulaInt, moveType
 	}()
 
 	//计算数据
-	latestDateStr, latestValue, err = refreshAllPredictCalculateTimeShift(to, edbInfoId, source, formulaInt, moveType, fromEdbInfo, edbCode, startDate, endDate, moveFrequency)
+	latestDateStr, latestValue, err = refreshAllPredictCalculateTimeShift(to, edbInfoId, source, subSource, formulaInt, moveType, fromEdbInfo, edbCode, startDate, endDate, moveFrequency)
 	return
 }
 
 // refreshAllPredictCalculateTimeShift 刷新所有时间移位数据
-func refreshAllPredictCalculateTimeShift(to orm.TxOrmer, edbInfoId, source, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (latestDateStr string, latestValue float64, err error) {
+func refreshAllPredictCalculateTimeShift(to orm.TxOrmer, edbInfoId, source, subSource, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (latestDateStr string, latestValue float64, err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	dataList, err := GetPredictEdbDataListAllByStartDate(fromEdbInfo, 0, startDate)
 	if err != nil {
@@ -225,7 +225,7 @@ func refreshAllPredictCalculateTimeShift(to orm.TxOrmer, edbInfoId, source, form
 	fmt.Println("source:", source)
 	//获取指标所有数据
 	existDataList := make([]*EdbData, 0)
-	dataTableName := GetEdbDataTableName(source)
+	dataTableName := GetEdbDataTableName(source, subSource)
 	fmt.Println("dataTableName:", dataTableName)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)

+ 2 - 2
models/predict_edb_data_calculate_zjpj.go

@@ -263,7 +263,7 @@ func SavePredictCalculateZjpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, s
 		// 如果需要重新计算,那么先删除所有的指标数据,然后再重新计算
 		if isNeedCalculateData {
 			// 删除之前所有的指标数据
-			tableName := GetEdbDataTableName(edbInfo.Source)
+			tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? `, tableName)
 			_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 			if err != nil {
@@ -480,7 +480,7 @@ func refreshAllPredictCalculateZjpj(to orm.TxOrmer, edbInfo, firstEdbInfo, secon
 			removeDateStr := strings.Join(removeDateList, `","`)
 			removeDateStr = `"` + removeDateStr + `"`
 			//如果拼接指标变更了,那么需要删除所有的指标数据
-			tableName := GetEdbDataTableName(edbInfo.Source)
+			tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
 			_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()

+ 3 - 3
models/predict_edb_data_calculate_zsxy.go

@@ -132,7 +132,7 @@ func (obj PredictExponentialSmoothing) Edit(params BatchSaveCalculateBatchParams
 			_ = to.Commit()
 		}
 	}()
-	tableName := GetEdbDataTableName(edbInfo.Source)
+	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	var isRecalculate bool
 	if edbInfo.CalculateFormula != req.Formula {
@@ -256,7 +256,7 @@ func (obj PredictExponentialSmoothing) GetSourceName() string {
 
 func (obj PredictExponentialSmoothing) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (latestDateStr string, latestValue float64, err error, errMsg string) {
 	edbInfoId := edbInfo.EdbInfoId
-	dataTableName := GetEdbDataTableName(edbInfo.Source)
+	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	// 获取百分位的指标数据
@@ -350,7 +350,7 @@ func (obj PredictExponentialSmoothing) refresh(to orm.TxOrmer, edbInfo, fromEdbI
 
 	//确定实际数据的最终值
 	{
-		finalLast, tmpErr := GetFinalLastByTo(to, edbInfoId, edbInfo.Source, fromEdbInfo.LatestDate)
+		finalLast, tmpErr := GetFinalLastByTo(to, edbInfoId, edbInfo.Source, edbInfo.SubSource, fromEdbInfo.LatestDate)
 		if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
 			return
 		}

+ 1 - 1
models/predict_edb_info_rule.go

@@ -1271,7 +1271,7 @@ func getCalculateNhccData(secondDataList []*EdbInfoSearchData, ruleConf RuleLine
 			pars = append(pars, edbInfo.EdbInfoId)
 
 			//获取来源指标的数据
-			firstDataList, err = GetEdbDataListAll(condition, pars, edbInfo.Source, 1)
+			firstDataList, err = GetEdbDataListAll(condition, pars, edbInfo.Source, edbInfo.SubSource, 1)
 		case 1:
 			firstDataList, err = GetPredictEdbDataListAllByStartDate(edbInfo, 1, "")
 		default:

+ 4 - 4
routers/commentsRouter.go

@@ -981,8 +981,8 @@ func init() {
 
     beego.GlobalControllerRouter["eta/eta_index_lib/controllers:WindWsdController"] = append(beego.GlobalControllerRouter["eta/eta_index_lib/controllers:WindWsdController"],
         beego.ControllerComments{
-            Method: "Refresh",
-            Router: `/wsd//refresh`,
+            Method: "Add",
+            Router: `/wsd/add`,
             AllowHTTPMethods: []string{"post"},
             MethodParams: param.Make(),
             Filters: nil,
@@ -990,8 +990,8 @@ func init() {
 
     beego.GlobalControllerRouter["eta/eta_index_lib/controllers:WindWsdController"] = append(beego.GlobalControllerRouter["eta/eta_index_lib/controllers:WindWsdController"],
         beego.ControllerComments{
-            Method: "Add",
-            Router: `/wsd/add`,
+            Method: "Refresh",
+            Router: `/wsd/refresh`,
             AllowHTTPMethods: []string{"post"},
             MethodParams: param.Make(),
             Filters: nil,

+ 2 - 2
services/base_from_jiayue.go

@@ -216,7 +216,7 @@ func SyncJiaYueNewIndex(item models.BridgeJiaYueIndexAndData, menus []models.Bri
 			go alarm_msg.SendAlarmMsg(tips, 3)
 		}
 	}()
-
+	subSource := utils.DATA_SUB_SOURCE_EDB
 	// 校验指标来源
 	sourceId := models.EdbSourceExtendIdMap[item.SourceType]
 	if sourceId <= 0 {
@@ -311,7 +311,7 @@ func SyncJiaYueNewIndex(item models.BridgeJiaYueIndexAndData, menus []models.Bri
 	}
 
 	// 刷新指标数据
-	e = models.RefreshEdbDataFromJiaYue(sourceId, edbInfo.EdbInfoId, sourceTableName, edbInfo.EdbCode, params.StartDate, indexData.IndexData)
+	e = models.RefreshEdbDataFromJiaYue(sourceId, subSource, edbInfo.EdbInfoId, sourceTableName, edbInfo.EdbCode, params.StartDate, indexData.IndexData)
 	if e != nil {
 		err = fmt.Errorf("RefreshEdbDataFromJiaYue err: %s", e.Error())
 		return

+ 6 - 0
utils/constants.go

@@ -254,3 +254,9 @@ const (
 	MIXED_TABLE           = 3 // 混合表格
 	CUSTOM_ANALYSIS_TABLE = 4 // 自定义分析表格
 )
+
+// 子数据来源渠道
+const (
+	DATA_SUB_SOURCE_EDB  = iota //经济数据库
+	DATA_SUB_SOURCE_DATE        //日期序列
+)