Roc 1 year ago
parent
commit
3068a428d1
1 changed files with 10 additions and 5 deletions
  1. 10 5
      models/base_calculate.go

+ 10 - 5
models/base_calculate.go

@@ -295,8 +295,9 @@ func (obj BaseCalculate) Ljzzj() (dateDataMap map[time.Time]float64, err error,
 func (obj BaseCalculate) Tbz() (dateDataMap map[time.Time]float64, err error, errMsg string) {
 	dateDataMap = make(map[time.Time]float64)
 	dataList := obj.DataList
-	//数据处理
+	frequency := obj.FromFrequency
 
+	//数据处理
 	// 数据降序
 	dataList = reverseSliceByDesc(dataList)
 
@@ -323,7 +324,7 @@ func (obj BaseCalculate) Tbz() (dateDataMap map[time.Time]float64, err error, er
 		preDate := currentDate.AddDate(-1, 0, 0)
 		preDateStr := preDate.Format(utils.FormatDate)
 		if findItem, ok = dataMap[preDateStr]; !ok { //上一年同期没找到
-			if obj.Frequency == "月度" { //向上和向下,各找一个月
+			if frequency == "月度" { //向上和向下,各找一个月
 				for i := 0; i <= 35; i++ {
 					nextDateDay := preDate.AddDate(0, 0, i)
 					nextDateDayStr := nextDateDay.Format(utils.FormatDate)
@@ -337,7 +338,7 @@ func (obj BaseCalculate) Tbz() (dateDataMap map[time.Time]float64, err error, er
 						}
 					}
 				}
-			} else if obj.Frequency == "季度" || obj.Frequency == "年度" {
+			} else if frequency == "季度" || frequency == "年度" {
 				if findItem, ok = dataMap[preDateStr]; ok { //上一年同期->下一个月找到
 					break
 				}
@@ -407,7 +408,11 @@ func tbzDiv(a, b float64) float64 {
 func (obj BaseCalculate) Tcz() (dateDataMap map[time.Time]float64, err error, errMsg string) {
 	dateDataMap = make(map[time.Time]float64)
 	dataList := obj.DataList // 降序
+	frequency := obj.FromFrequency
+
 	// 数据处理
+	// 数据降序
+	dataList = reverseSliceByDesc(dataList)
 	var dateArr []time.Time
 	dataMap := make(map[string]*EdbInfoData)
 	for _, v := range dataList {
@@ -431,7 +436,7 @@ func (obj BaseCalculate) Tcz() (dateDataMap map[time.Time]float64, err error, er
 		preDateStr := preDate.Format(utils.FormatDate)
 		if findItem, ok = dataMap[preDateStr]; !ok {
 			//上一年同期没找到
-			if obj.Frequency == "月度" { //向上和向下,各找一个月
+			if frequency == "月度" { //向上和向下,各找一个月
 				for i := 0; i <= 35; i++ {
 					nextDateDay := preDate.AddDate(0, 0, i)
 					nextDateDayStr := nextDateDay.Format(utils.FormatDate)
@@ -445,7 +450,7 @@ func (obj BaseCalculate) Tcz() (dateDataMap map[time.Time]float64, err error, er
 						}
 					}
 				}
-			} else if obj.Frequency == "季度" || obj.Frequency == "年度" {
+			} else if frequency == "季度" || frequency == "年度" {
 				if findItem, ok = dataMap[preDateStr]; ok { //上一年同期->下一个月找到
 					break
 				}