|
@@ -280,11 +280,15 @@ func edbInfoRefreshAll(refreshAll bool, newBaseEdbInfoArr, newBasePredictEdbInfo
|
|
|
}
|
|
|
//开始时间
|
|
|
startDate = ``
|
|
|
- if refreshAll { //刷新所有数据,用开始时间作为起始日期去刷新
|
|
|
- sTime := bv.StartDate
|
|
|
- startDate = sTime.Format(utils.FormatDate)
|
|
|
+ if refreshAll { //刷新所有数据,那么就是从配置的开始时间开始刷新
|
|
|
+ startDate = utils.BaseEdbRefreshStartDate
|
|
|
} else {
|
|
|
sTime := bv.EndDate
|
|
|
+ // 如果日期是空,那么就采用系统默认的日期
|
|
|
+ if sTime.IsZero() {
|
|
|
+ sTime, _ = time.ParseInLocation(utils.FormatDate, utils.BaseEdbRefreshStartDate, time.Local)
|
|
|
+ }
|
|
|
+
|
|
|
frequency := bv.Frequency
|
|
|
var limitDay int
|
|
|
switch frequency {
|
|
@@ -532,20 +536,19 @@ func EdbInfoRefresh(edbInfo *data_manage.EdbInfoView, refreshAll bool) (err erro
|
|
|
return
|
|
|
}
|
|
|
//开始时间
|
|
|
- startDate := ``
|
|
|
+ startDate := utils.BaseEdbRefreshStartDate // 默认成刷新开始日期
|
|
|
if edbInfo.EdbType == 1 {
|
|
|
// 基础指标
|
|
|
- if refreshAll { //刷新所有数据,用开始时间作为起始日期去刷新
|
|
|
- sTime, err := time.Parse(utils.FormatDate, edbInfo.StartDate)
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
+ if !refreshAll { //刷新所有数据,用开始时间作为起始日期去刷新
|
|
|
+ sDate := edbInfo.EndDate
|
|
|
+ if sDate == `` || sDate == `0000-00-00` {
|
|
|
+ sDate = utils.BaseEdbRefreshStartDate
|
|
|
}
|
|
|
- startDate = sTime.Format(utils.FormatDate)
|
|
|
- } else {
|
|
|
- sTime, err := time.Parse(utils.FormatDate, edbInfo.EndDate)
|
|
|
+ sTime, err := time.Parse(utils.FormatDate, sDate)
|
|
|
if err != nil {
|
|
|
return err
|
|
|
}
|
|
|
+
|
|
|
frequency := edbInfo.Frequency
|
|
|
var limitDay int
|
|
|
switch frequency {
|
|
@@ -578,34 +581,34 @@ func EdbInfoRefresh(edbInfo *data_manage.EdbInfoView, refreshAll bool) (err erro
|
|
|
} else { //计算指标
|
|
|
//计算指标就不用开始时间了吧,因为存在说开始时间变更的情况
|
|
|
if !refreshAll { //如果不是全部更新,那么以指标的开始时间作为刷新
|
|
|
- startDate = edbInfo.StartDate
|
|
|
source := edbInfo.Source
|
|
|
- if startDate == "" || startDate == "0000-00-00" { //如果没有开始日期,说明还没有计算出来数据,那么就往前面推40年吧(也意味着重新计算了)
|
|
|
- startDate = time.Now().AddDate(-40, 0, 0).Format(utils.FormatDate)
|
|
|
- } else {
|
|
|
- if source == utils.DATA_SOURCE_CALCULATE {
|
|
|
- sTime, err := time.Parse(utils.FormatDate, edbInfo.EndDate)
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
- }
|
|
|
- frequency := edbInfo.Frequency
|
|
|
- var limitDay int
|
|
|
- switch frequency {
|
|
|
- case "日度":
|
|
|
- limitDay = utils.DATA_START_REFRESH_LIMIT
|
|
|
- case "周度":
|
|
|
- limitDay = utils.DATA_START_REFRESH_LIMIT * 7
|
|
|
- case "月度":
|
|
|
- limitDay = utils.DATA_START_REFRESH_LIMIT * 30
|
|
|
- case "季度":
|
|
|
- limitDay = utils.DATA_START_REFRESH_LIMIT * 90
|
|
|
- case "年度":
|
|
|
- limitDay = utils.DATA_START_REFRESH_LIMIT * 365
|
|
|
- default:
|
|
|
- limitDay = utils.DATA_START_REFRESH_LIMIT
|
|
|
- }
|
|
|
- startDate = sTime.AddDate(0, 0, -limitDay).Format(utils.FormatDate)
|
|
|
+ if source == utils.DATA_SOURCE_CALCULATE {
|
|
|
+ sDate := edbInfo.EndDate
|
|
|
+ if sDate == `` || sDate == `0000-00-00` {
|
|
|
+ sDate = utils.BaseEdbRefreshStartDate
|
|
|
+ }
|
|
|
+ sTime, err := time.Parse(utils.FormatDate, sDate)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ frequency := edbInfo.Frequency
|
|
|
+ var limitDay int
|
|
|
+ switch frequency {
|
|
|
+ case "日度":
|
|
|
+ limitDay = utils.DATA_START_REFRESH_LIMIT
|
|
|
+ case "周度":
|
|
|
+ limitDay = utils.DATA_START_REFRESH_LIMIT * 7
|
|
|
+ case "月度":
|
|
|
+ limitDay = utils.DATA_START_REFRESH_LIMIT * 30
|
|
|
+ case "季度":
|
|
|
+ limitDay = utils.DATA_START_REFRESH_LIMIT * 90
|
|
|
+ case "年度":
|
|
|
+ limitDay = utils.DATA_START_REFRESH_LIMIT * 365
|
|
|
+ default:
|
|
|
+ limitDay = utils.DATA_START_REFRESH_LIMIT
|
|
|
}
|
|
|
+ startDate = sTime.AddDate(0, 0, -limitDay).Format(utils.FormatDate)
|
|
|
}
|
|
|
}
|
|
|
|