Browse Source

修改同比值计算,除数为0的情况

hongze 3 năm trước cách đây
mục cha
commit
dcec23c866

+ 6 - 6
models/data_manage/edb_info_calculate_tbz.go

@@ -93,7 +93,7 @@ func RefreshCalculateTbz(edbInfoId int, fromEdbInfo *EdbInfo, edbCode, startDate
 			//上一年的日期
 			preDate := currentDate.AddDate(-1, 0, 0)
 			preDateStr := preDate.Format(utils.FormatDate)
-			if findItem, ok := dataMap[preDateStr]; ok { //上一年同期找到
+			if findItem, ok := dataMap[preDateStr]; ok && findItem.Value != 0 { //上一年同期找到
 				//dataTime, _ := time.Parse(utils.FormatDate, date)
 				timestamp := currentDate.UnixNano() / 1e6
 				timestampStr := fmt.Sprintf("%d", timestamp)
@@ -127,7 +127,7 @@ func RefreshCalculateTbz(edbInfoId int, fromEdbInfo *EdbInfo, edbCode, startDate
 							nextDateDay = nextDateDay.AddDate(0, 0, i)
 							nextDateDayStr = nextDateDay.Format(utils.FormatDate)
 						}
-						if findItem, ok := dataMap[nextDateDayStr]; ok { //上一年同期->下一个月找到
+						if findItem, ok := dataMap[nextDateDayStr]; ok && findItem.Value != 0 { //上一年同期->下一个月找到
 							timestamp := currentDate.UnixNano() / 1e6
 							timestampStr := fmt.Sprintf("%d", timestamp)
 							val := TbzDiv(currentItem.Value, findItem.Value)
@@ -151,7 +151,7 @@ func RefreshCalculateTbz(edbInfoId int, fromEdbInfo *EdbInfo, edbCode, startDate
 								preDateDay = preDate.AddDate(0, 0, -i)
 								preDateDayStr = nextDateDay.Format(utils.FormatDate)
 							}
-							if findItem, ok := dataMap[preDateDayStr]; ok { //上一年同期->上一个月找到
+							if findItem, ok := dataMap[preDateDayStr]; ok && findItem.Value != 0 { //上一年同期->上一个月找到
 								timestamp := currentDate.UnixNano() / 1e6
 								timestampStr := fmt.Sprintf("%d", timestamp)
 								val := TbzDiv(currentItem.Value, findItem.Value)
@@ -174,7 +174,7 @@ func RefreshCalculateTbz(edbInfoId int, fromEdbInfo *EdbInfo, edbCode, startDate
 						}
 					}
 				} else if fromEdbInfo.Frequency == "季度" || fromEdbInfo.Frequency == "年度" {
-					if findItem, ok := dataMap[preDateStr]; ok { //上一年同期->下一个月找到
+					if findItem, ok := dataMap[preDateStr]; ok && findItem.Value != 0 { //上一年同期->下一个月找到
 						timestamp := currentDate.UnixNano() / 1e6
 						timestampStr := fmt.Sprintf("%d", timestamp)
 						val := TbzDiv(currentItem.Value, findItem.Value)
@@ -200,7 +200,7 @@ func RefreshCalculateTbz(edbInfoId int, fromEdbInfo *EdbInfo, edbCode, startDate
 
 					for i := 0; i < 35; i++ {
 						nextDateDayStr := nextDateDay.Format(utils.FormatDate)
-						if findItem, ok := dataMap[nextDateDayStr]; ok { //上一年同期->下一个月找到
+						if findItem, ok := dataMap[nextDateDayStr]; ok && findItem.Value != 0 { //上一年同期->下一个月找到
 							timestamp := currentDate.UnixNano() / 1e6
 							timestampStr := fmt.Sprintf("%d", timestamp)
 							val := TbzDiv(currentItem.Value, findItem.Value)
@@ -221,7 +221,7 @@ func RefreshCalculateTbz(edbInfoId int, fromEdbInfo *EdbInfo, edbCode, startDate
 							break
 						} else {
 							preDateDayStr := preDateDay.Format(utils.FormatDate)
-							if findItem, ok := dataMap[preDateDayStr]; ok { //上一年同期->上一个月找到
+							if findItem, ok := dataMap[preDateDayStr]; ok && findItem.Value != 0 { //上一年同期->上一个月找到
 								timestamp := currentDate.UnixNano() / 1e6
 								timestampStr := fmt.Sprintf("%d", timestamp)
 								val := TbzDiv(currentItem.Value, findItem.Value)

+ 1 - 2
services/data/edb_info.go

@@ -241,8 +241,7 @@ func RefreshDataFromCalculateAll() (err error) {
 	condition += " AND edb_type=? "
 	pars = append(pars, 2)
 
-	//condition += " AND source=? "
-	//pars = append(pars, utils.DATA_SOURCE_CALCULATE_BP)
+	condition += " AND is_update=1 "
 
 	items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
 	if err != nil {

+ 1 - 1
services/task.go

@@ -683,4 +683,4 @@ func deleteTask() {
 			break
 		}
 	}
-}
+}