|
@@ -164,9 +164,17 @@ func GetFirstEdbDataList(edbInfo *data_manage.EdbInfo, num int, manualDateList [
|
|
|
num = lenData
|
|
|
}
|
|
|
|
|
|
+ latestDateTime, _ := time.ParseInLocation(utils.FormatDate, edbInfo.LatestDate, time.Local)
|
|
|
for i := 1; i <= num; i++ {
|
|
|
+ dataTime, _ := time.ParseInLocation(utils.FormatDate, dataList[lenData-i].DataTime, time.Local)
|
|
|
+ dataType := 1
|
|
|
+ // 如果是预测指标,且当前值的日期,晚于实际日期,那么是预测值
|
|
|
+ if edbInfo.EdbInfoType == 1 && dataTime.After(latestDateTime) {
|
|
|
+ dataType = 5
|
|
|
+ }
|
|
|
+
|
|
|
resultDataList = append(resultDataList, request.ManualDataReq{
|
|
|
- DataType: 1,
|
|
|
+ DataType: dataType,
|
|
|
DataTime: dataList[lenData-i].DataTime,
|
|
|
ShowValue: fmt.Sprint(dataList[lenData-i].Value),
|
|
|
Value: fmt.Sprint(dataList[lenData-i].Value),
|
|
@@ -253,11 +261,20 @@ func GetOtherEdbDataList(edbInfo *data_manage.EdbInfo, dateList []string) (resul
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ latestDateTime, _ := time.ParseInLocation(utils.FormatDate, edbInfo.LatestDate, time.Local)
|
|
|
+
|
|
|
// 对于不存在的数据做补充
|
|
|
for _, date := range sortDateList {
|
|
|
dataType := 1
|
|
|
if _, ok := realValMap[date]; !ok {
|
|
|
dataType = 2
|
|
|
+ } else {
|
|
|
+ dataTime, _ := time.ParseInLocation(utils.FormatDate, date, time.Local)
|
|
|
+ // 如果是预测指标,且当前值的日期,晚于实际日期,那么是预测值
|
|
|
+ if edbInfo.EdbInfoType == 1 && dataTime.After(latestDateTime) {
|
|
|
+ dataType = 5
|
|
|
+ }
|
|
|
}
|
|
|
var value, showValue string
|
|
|
if tmpVal, ok := handleDataMap[date]; ok {
|
|
@@ -315,9 +332,17 @@ func GetFirstHistoryEdbDataList(edbInfo *data_manage.EdbInfo, num int, endDate s
|
|
|
num = lenData
|
|
|
}
|
|
|
|
|
|
+ latestDateTime, _ := time.ParseInLocation(utils.FormatDate, edbInfo.LatestDate, time.Local)
|
|
|
for i := 1; i <= num; i++ {
|
|
|
+ dataTime, _ := time.ParseInLocation(utils.FormatDate, dataList[lenData-i].DataTime, time.Local)
|
|
|
+ dataType := 1
|
|
|
+ // 如果是预测指标,且当前值的日期,晚于实际日期,那么是预测值
|
|
|
+ if edbInfo.EdbInfoType == 1 && dataTime.After(latestDateTime) {
|
|
|
+ dataType = 5
|
|
|
+ }
|
|
|
+
|
|
|
resultDataList = append(resultDataList, request.ManualDataReq{
|
|
|
- DataType: 1,
|
|
|
+ DataType: dataType,
|
|
|
DataTime: dataList[lenData-i].DataTime,
|
|
|
ShowValue: fmt.Sprint(dataList[lenData-i].Value),
|
|
|
Value: fmt.Sprint(dataList[lenData-i].Value),
|
|
@@ -853,8 +878,8 @@ func handleTable(tagEdbInfoIdMap map[string]int, lastRealDateTime time.Time, sor
|
|
|
continue
|
|
|
}
|
|
|
|
|
|
- // 如果该单元格实际有数据,或者插值法补充了数据的话,那么就不用手动填入的数据
|
|
|
- if tmpData.DataType == 1 || tmpData.DataType == 2 {
|
|
|
+ // 如果该单元格实际有数据(包含预测值),或者插值法补充了数据的话,那么就不用手动填入的数据
|
|
|
+ if utils.InArrayByInt([]int{1, 2, 5}, tmpData.DataType) {
|
|
|
continue
|
|
|
}
|
|
|
|