Browse Source

面积图

gmy 1 month ago
parent
commit
646ff7fed8

+ 2 - 1
controllers/chart.go

@@ -540,7 +540,7 @@ func fillAreaGraphData(extraConfigStr string, edbDataList []*models.ChartEdbInfo
 
 
 	var tmpConfig data_manage.AreaExtraConf
 	var tmpConfig data_manage.AreaExtraConf
 	if extraConfigStr != `` {
 	if extraConfigStr != `` {
-		err := json.Unmarshal([]byte(extraConfigStr), &tmpConfig)
+		err = json.Unmarshal([]byte(extraConfigStr), &tmpConfig)
 		if err != nil {
 		if err != nil {
 			errMsg = "面积图配置异常"
 			errMsg = "面积图配置异常"
 			err = errors.New(errMsg)
 			err = errors.New(errMsg)
@@ -549,6 +549,7 @@ func fillAreaGraphData(extraConfigStr string, edbDataList []*models.ChartEdbInfo
 		if tmpConfig.StandardEdbInfoId <= 0 {
 		if tmpConfig.StandardEdbInfoId <= 0 {
 			errMsg = "面积图配置异常"
 			errMsg = "面积图配置异常"
 			err = errors.New(errMsg)
 			err = errors.New(errMsg)
+			return
 		}
 		}
 	}
 	}
 	if tmpConfig.IsHeap == 1 {
 	if tmpConfig.IsHeap == 1 {

+ 5 - 5
services/data/area_graph/processor_business_logic.go

@@ -14,7 +14,7 @@ import (
 type InterpolateStrategy struct{}
 type InterpolateStrategy struct{}
 
 
 // Deal 空值填充:插值法填充
 // Deal 空值填充:插值法填充
-func (i *InterpolateStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edbDataList []*data_manage.ChartEdbInfoMapping, standardIndexMap map[string]*models.EdbDataList, startDate string, endDate string) (err error) {
+func (i *InterpolateStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edbDataList []*models.ChartEdbInfoMapping, standardIndexMap map[string]*models.EdbDataList, startDate string, endDate string) (err error) {
 	for _, v := range edbDataList {
 	for _, v := range edbDataList {
 		if v.EdbInfoId != tmpConfig.StandardEdbInfoId {
 		if v.EdbInfoId != tmpConfig.StandardEdbInfoId {
 			if dataList, ok := v.DataList.([]*models.EdbDataList); ok {
 			if dataList, ok := v.DataList.([]*models.EdbDataList); ok {
@@ -179,7 +179,7 @@ func (i *InterpolateStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edbDataL
 type FillWithPreviousStrategy struct{}
 type FillWithPreviousStrategy struct{}
 
 
 // Deal 空值填充:前值填充
 // Deal 空值填充:前值填充
-func (f *FillWithPreviousStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edbDataList []*data_manage.ChartEdbInfoMapping, standardIndexMap map[string]*models.EdbDataList, startDate string, endDate string) (err error) {
+func (f *FillWithPreviousStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edbDataList []*models.ChartEdbInfoMapping, standardIndexMap map[string]*models.EdbDataList, startDate string, endDate string) (err error) {
 	// 按自然日补充,再根据基准指标取对应数据
 	// 按自然日补充,再根据基准指标取对应数据
 	for _, v := range edbDataList {
 	for _, v := range edbDataList {
 		if v.EdbInfoId != tmpConfig.StandardEdbInfoId {
 		if v.EdbInfoId != tmpConfig.StandardEdbInfoId {
@@ -302,7 +302,7 @@ func (f *FillWithPreviousStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edb
 type FillWithNextStrategy struct{}
 type FillWithNextStrategy struct{}
 
 
 // Deal 空值填充:后值填充
 // Deal 空值填充:后值填充
-func (f *FillWithNextStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edbDataList []*data_manage.ChartEdbInfoMapping, standardIndexMap map[string]*models.EdbDataList, startDate string, endDate string) (err error) {
+func (f *FillWithNextStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edbDataList []*models.ChartEdbInfoMapping, standardIndexMap map[string]*models.EdbDataList, startDate string, endDate string) (err error) {
 	// 按自然日补充,再根据基准指标取对应数据
 	// 按自然日补充,再根据基准指标取对应数据
 	for _, v := range edbDataList {
 	for _, v := range edbDataList {
 		if v.EdbInfoId != tmpConfig.StandardEdbInfoId {
 		if v.EdbInfoId != tmpConfig.StandardEdbInfoId {
@@ -429,7 +429,7 @@ func (f *FillWithNextStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edbData
 type SetToZeroStrategy struct{}
 type SetToZeroStrategy struct{}
 
 
 // Deal 空值填充:设为0
 // Deal 空值填充:设为0
-func (s *SetToZeroStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edbDataList []*data_manage.ChartEdbInfoMapping, standardIndexMap map[string]*models.EdbDataList, startDate string, endDate string) (err error) {
+func (s *SetToZeroStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edbDataList []*models.ChartEdbInfoMapping, standardIndexMap map[string]*models.EdbDataList, startDate string, endDate string) (err error) {
 	// 按自然日补充,再根据基准指标取对应数据
 	// 按自然日补充,再根据基准指标取对应数据
 	for _, v := range edbDataList {
 	for _, v := range edbDataList {
 		if v.EdbInfoId != tmpConfig.StandardEdbInfoId {
 		if v.EdbInfoId != tmpConfig.StandardEdbInfoId {
@@ -552,7 +552,7 @@ func (s *SetToZeroStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edbDataLis
 type DeleteDateStrategy struct{}
 type DeleteDateStrategy struct{}
 
 
 // Deal 删除日期
 // Deal 删除日期
-func (d *DeleteDateStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edbDataList []*data_manage.ChartEdbInfoMapping, standardIndexMap map[string]*models.EdbDataList, startDate string, endDate string) error {
+func (d *DeleteDateStrategy) Deal(tmpConfig data_manage.AreaExtraConf, edbDataList []*models.ChartEdbInfoMapping, standardIndexMap map[string]*models.EdbDataList, startDate string, endDate string) error {
 	// 取所有指标的时间交集
 	// 取所有指标的时间交集
 	// 创建一个 map 来保存每个时间点的出现次数
 	// 创建一个 map 来保存每个时间点的出现次数
 	timeMap := make(map[string]int)
 	timeMap := make(map[string]int)

+ 1 - 13
services/data/area_graph/processor_factory.go

@@ -7,7 +7,7 @@ import (
 )
 )
 
 
 type NullDealStrategy interface {
 type NullDealStrategy interface {
-	Deal(tmpConfig data_manage.AreaExtraConf, edbDataList []*data_manage.ChartEdbInfoMapping, standardIndexMap map[string]*models.EdbDataList, startDate string, endDate string) (err error)
+	Deal(tmpConfig data_manage.AreaExtraConf, edbDataList []*models.ChartEdbInfoMapping, standardIndexMap map[string]*models.EdbDataList, startDate string, endDate string) (err error)
 }
 }
 
 
 func CreateStrategy(dealWay int) (NullDealStrategy, error) {
 func CreateStrategy(dealWay int) (NullDealStrategy, error) {
@@ -26,15 +26,3 @@ func CreateStrategy(dealWay int) (NullDealStrategy, error) {
 		return nil, fmt.Errorf("未知的空值处理类型: %d", dealWay)
 		return nil, fmt.Errorf("未知的空值处理类型: %d", dealWay)
 	}
 	}
 }
 }
-
-type NullDealContext struct {
-	strategy NullDealStrategy
-}
-
-func (c *NullDealContext) SetStrategy(strategy NullDealStrategy) {
-	c.strategy = strategy
-}
-
-func (c *NullDealContext) ExecuteStrategy(tmpConfig data_manage.AreaExtraConf, edbDataList []*data_manage.ChartEdbInfoMapping, standardIndexMap map[string]*models.EdbDataList) error {
-	return c.strategy.Deal(tmpConfig, edbDataList, standardIndexMap, "", "")
-}