longyu 3 years ago
parent
commit
8f36cb72a4
1 changed files with 35 additions and 33 deletions
  1. 35 33
      models/edb_data_calculate_ljzzy.go

+ 35 - 33
models/edb_data_calculate_ljzzy.go

@@ -503,43 +503,45 @@ func RefreshAllCalculateLjzzy(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCo
 			dataCurrentItem := yv[i]
 			var date string
 			var val float64
-			if i == 1 || i == 2 {
-				if _, mok := yv[1]; mok { //1月有值
-					if i == 1 {
-						date = dataCurrentItem.DataTime
-						val, _ = decimal.NewFromFloat(dataCurrentItem.Value).Float64() //a.Div(b).Float64()
-					}
-					if i == 2 {
-						dataOneItem := yv[1]
-						date = dataCurrentItem.DataTime
-						twoMonth := decimal.NewFromFloat(dataCurrentItem.Value)
-						oneMonth := decimal.NewFromFloat(dataOneItem.Value)
-						val, _ = twoMonth.Sub(oneMonth).Float64()
-					}
-				} else { //1月无值
-					dataTwoItem := yv[2]
-					if i == 1 {
-						date = strconv.Itoa(yk) + "-01-31"
-						a := decimal.NewFromFloat(dataTwoItem.Value)
-						b := decimal.NewFromFloat(2.0)
-						val, _ = a.Div(b).Float64()
+			if dataCurrentItem != nil {
+				if i == 1 || i == 2 {
+					if _, mok := yv[1]; mok { //1月有值
+						if i == 1 {
+							date = dataCurrentItem.DataTime
+							val, _ = decimal.NewFromFloat(dataCurrentItem.Value).Float64() //a.Div(b).Float64()
+						}
+						if i == 2 {
+							dataOneItem := yv[1]
+							date = dataCurrentItem.DataTime
+							twoMonth := decimal.NewFromFloat(dataCurrentItem.Value)
+							oneMonth := decimal.NewFromFloat(dataOneItem.Value)
+							val, _ = twoMonth.Sub(oneMonth).Float64()
+						}
+					} else { //1月无值
+						dataTwoItem := yv[2]
+						if i == 1 {
+							date = strconv.Itoa(yk) + "-01-31"
+							a := decimal.NewFromFloat(dataTwoItem.Value)
+							b := decimal.NewFromFloat(2.0)
+							val, _ = a.Div(b).Float64()
+						}
+						if i == 2 {
+							date = dataCurrentItem.DataTime
+							a := decimal.NewFromFloat(dataTwoItem.Value)
+							b := decimal.NewFromFloat(2.0)
+							val, _ = a.Div(b).Float64()
+						}
 					}
-					if i == 2 {
+				} else {
+					dataPreItem := yv[i-1]
+					if dataCurrentItem != nil && dataPreItem != nil {
 						date = dataCurrentItem.DataTime
-						a := decimal.NewFromFloat(dataTwoItem.Value)
-						b := decimal.NewFromFloat(2.0)
-						val, _ = a.Div(b).Float64()
+						//val =  dataCurrentItem.Value - dataPreItem.Value
+						a := decimal.NewFromFloat(dataCurrentItem.Value)
+						b := decimal.NewFromFloat(dataPreItem.Value)
+						val, _ = a.Sub(b).Float64()
 					}
 				}
-			} else {
-				dataPreItem := yv[i-1]
-				if dataCurrentItem != nil && dataPreItem != nil {
-					date = dataCurrentItem.DataTime
-					//val =  dataCurrentItem.Value - dataPreItem.Value
-					a := decimal.NewFromFloat(dataCurrentItem.Value)
-					b := decimal.NewFromFloat(dataPreItem.Value)
-					val, _ = a.Sub(b).Float64()
-				}
 			}
 			if date != "" {
 				saveValue := utils.SubFloatToString(val, 4)