|
@@ -145,6 +145,69 @@ func GetMixedTableCellData(mixedTableReq request.MixedTableReq) (newMixedTableCe
|
|
|
cell.ShowValue = edbInfo.EdbName
|
|
|
}
|
|
|
case request.InsertDataDT, request.PopInsertDataDT: // 数据类型
|
|
|
+ // 日期关系配置不存在,则默认最新数据
|
|
|
+ if relationConf, ok := cellRelationConfMap[cell.Uid]; ok {
|
|
|
+ if relationConf.RelationDate.Key == `` {
|
|
|
+ // 日期关系配置未绑定
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ // 配置
|
|
|
+ relationCell, ok := cellDataRelationMap[relationConf.RelationDate.Key]
|
|
|
+ if !ok {
|
|
|
+ // 找不到对应日期的单元格
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ // 确实是找到了这个关联日期的单元格,那么就先清空当前单元格的数据,通过日期重新获取数据值
|
|
|
+ cell.ShowValue = ``
|
|
|
+ cell.Value = ``
|
|
|
+
|
|
|
+ tmpDateValMap := make(map[string]float64)
|
|
|
+ // 日度数据
|
|
|
+ if dateValMap, ok := edbDayDataListMap[cell.EdbInfoId]; ok {
|
|
|
+ tmpDateValMap = dateValMap
|
|
|
+ }
|
|
|
+
|
|
|
+ if val, ok2 := tmpDateValMap[relationCell.DataTime]; ok2 {
|
|
|
+ //cell.ShowValue = fmt.Sprint(val)
|
|
|
+ cellKeyVal[cell.Uid] = val
|
|
|
+ cell.ShowValue = utils.FormatTableDataShowValue(val)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 如果不是取得一个关联的日期,那么就是指定日期
|
|
|
+ // 如果没有指定日期,则默认最新数据
|
|
|
+ if cell.DataTime == `` {
|
|
|
+ // 指标的最新日期
|
|
|
+ if dateValList, ok := edbDataListMap[cell.EdbInfoId]; ok {
|
|
|
+ tmpLenData := len(dateValList)
|
|
|
+ if tmpLenData > 0 {
|
|
|
+ cellKeyVal[cell.Uid] = dateValList[tmpLenData-1].Value
|
|
|
+ cell.ShowValue = utils.FormatTableDataShowValue(dateValList[tmpLenData-1].Value)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ tmpDateList := strings.Split(cell.DataTime, "-")
|
|
|
+ tmpDateValMap := make(map[string]float64)
|
|
|
+ if len(tmpDateList) == 2 {
|
|
|
+ //月度数据
|
|
|
+ if dateValMap, ok := edbMonthDataListMap[cell.EdbInfoId]; ok {
|
|
|
+ tmpDateValMap = dateValMap
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 日度数据
|
|
|
+ if dateValMap, ok := edbDayDataListMap[cell.EdbInfoId]; ok {
|
|
|
+ tmpDateValMap = dateValMap
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ if val, ok2 := tmpDateValMap[cell.DataTime]; ok2 {
|
|
|
+ //cell.ShowValue = fmt.Sprint(val)
|
|
|
+ cellKeyVal[cell.Uid] = val
|
|
|
+ cell.ShowValue = utils.FormatTableDataShowValue(val)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if cell.DataTime == `` {
|
|
|
// 指标的最新日期
|
|
|
if dateValList, ok := edbDataListMap[cell.EdbInfoId]; ok {
|
|
@@ -154,27 +217,8 @@ func GetMixedTableCellData(mixedTableReq request.MixedTableReq) (newMixedTableCe
|
|
|
cell.ShowValue = utils.FormatTableDataShowValue(dateValList[tmpLenData-1].Value)
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
- tmpDateList := strings.Split(cell.DataTime, "-")
|
|
|
- tmpDateValMap := make(map[string]float64)
|
|
|
- if len(tmpDateList) == 2 {
|
|
|
- //月度数据
|
|
|
- if dateValMap, ok := edbMonthDataListMap[cell.EdbInfoId]; ok {
|
|
|
- tmpDateValMap = dateValMap
|
|
|
- }
|
|
|
- } else {
|
|
|
- // 日度数据
|
|
|
- if dateValMap, ok := edbDayDataListMap[cell.EdbInfoId]; ok {
|
|
|
- tmpDateValMap = dateValMap
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- if val, ok2 := tmpDateValMap[cell.DataTime]; ok2 {
|
|
|
- //cell.ShowValue = fmt.Sprint(val)
|
|
|
- cellKeyVal[cell.Uid] = val
|
|
|
- cell.ShowValue = utils.FormatTableDataShowValue(val)
|
|
|
- }
|
|
|
}
|
|
|
+
|
|
|
calculateCellMap[cell.Uid] = Cell{
|
|
|
Column: k,
|
|
|
Row: i,
|