|
@@ -2,6 +2,7 @@ package line_equation
|
|
|
|
|
|
import (
|
|
|
"errors"
|
|
|
+ "github.com/shopspring/decimal"
|
|
|
"hongze/hongze_yb/models/request"
|
|
|
chartEdbMappingModel "hongze/hongze_yb/models/tables/chart_edb_mapping"
|
|
|
edbDataModel "hongze/hongze_yb/models/tables/edb_data"
|
|
@@ -133,7 +134,7 @@ func GetChartEdbData(chartInfoId int, lineChartInfoConfig request.LineChartInfoR
|
|
|
|
|
|
// 指标对应的所有数据
|
|
|
chartType := 1 //1:普通图,2:季节性图
|
|
|
- calendar := "农历"
|
|
|
+ calendar := "公历"
|
|
|
edbDataListMap, edbList, sourceArr, err := chart.GetEdbDataMapList(chartInfoId, chartType, calendar, startDate, endDate, mappingList)
|
|
|
if err != nil {
|
|
|
return
|
|
@@ -154,6 +155,7 @@ func GetChartEdbData(chartInfoId int, lineChartInfoConfig request.LineChartInfoR
|
|
|
|
|
|
lenX := len(xEdbInfoIdList)
|
|
|
|
|
|
+ var isNotAFirst, isNotBFirst, isNotR2First bool
|
|
|
for i, date := range dateList {
|
|
|
coordinateData := make([]utils.Coordinate, 0)
|
|
|
for k := 0; k < lenX; k++ {
|
|
@@ -175,6 +177,7 @@ func GetChartEdbData(chartInfoId int, lineChartInfoConfig request.LineChartInfoR
|
|
|
a, b := utils.GetLinearResult(coordinateData)
|
|
|
if !math.IsNaN(a) && !math.IsNaN(b) && !math.IsInf(a, 0) && !math.IsInf(b, 0) {
|
|
|
if getAData {
|
|
|
+ a, _ = decimal.NewFromFloat(a).Round(4).Float64()
|
|
|
dataResp.AData.DataList = append(dataResp.AData.DataList, edbDataModel.EdbDataList{
|
|
|
EdbDataId: i,
|
|
|
EdbInfoId: 0,
|
|
@@ -182,6 +185,11 @@ func GetChartEdbData(chartInfoId int, lineChartInfoConfig request.LineChartInfoR
|
|
|
DataTimestamp: timestamp,
|
|
|
Value: a,
|
|
|
})
|
|
|
+ if !isNotAFirst {
|
|
|
+ dataResp.AData.MinData = a
|
|
|
+ dataResp.AData.MaxData = a
|
|
|
+ isNotAFirst = true
|
|
|
+ }
|
|
|
if dataResp.AData.MinData > a {
|
|
|
dataResp.AData.MinData = a
|
|
|
}
|
|
@@ -190,6 +198,7 @@ func GetChartEdbData(chartInfoId int, lineChartInfoConfig request.LineChartInfoR
|
|
|
}
|
|
|
}
|
|
|
if getBData {
|
|
|
+ b, _ = decimal.NewFromFloat(b).Round(4).Float64()
|
|
|
dataResp.BData.DataList = append(dataResp.BData.DataList, edbDataModel.EdbDataList{
|
|
|
EdbDataId: i,
|
|
|
EdbInfoId: 0,
|
|
@@ -197,11 +206,16 @@ func GetChartEdbData(chartInfoId int, lineChartInfoConfig request.LineChartInfoR
|
|
|
DataTimestamp: timestamp,
|
|
|
Value: b,
|
|
|
})
|
|
|
- if dataResp.BData.MinData > a {
|
|
|
- dataResp.BData.MinData = a
|
|
|
+ if !isNotBFirst {
|
|
|
+ dataResp.BData.MinData = b
|
|
|
+ dataResp.BData.MaxData = b
|
|
|
+ isNotBFirst = true
|
|
|
+ }
|
|
|
+ if dataResp.BData.MinData > b {
|
|
|
+ dataResp.BData.MinData = b
|
|
|
}
|
|
|
- if dataResp.BData.MaxData < a {
|
|
|
- dataResp.BData.MaxData = a
|
|
|
+ if dataResp.BData.MaxData < b {
|
|
|
+ dataResp.BData.MaxData = b
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -212,6 +226,8 @@ func GetChartEdbData(chartInfoId int, lineChartInfoConfig request.LineChartInfoR
|
|
|
if math.IsNaN(tmpVal) || math.IsInf(tmpVal, 0) {
|
|
|
continue
|
|
|
}
|
|
|
+
|
|
|
+ tmpVal, _ = decimal.NewFromFloat(tmpVal).Round(4).Float64()
|
|
|
dataResp.R2Data.DataList = append(dataResp.R2Data.DataList, edbDataModel.EdbDataList{
|
|
|
EdbDataId: i,
|
|
|
EdbInfoId: 0,
|
|
@@ -219,6 +235,11 @@ func GetChartEdbData(chartInfoId int, lineChartInfoConfig request.LineChartInfoR
|
|
|
DataTimestamp: timestamp,
|
|
|
Value: tmpVal,
|
|
|
})
|
|
|
+ if !isNotR2First {
|
|
|
+ dataResp.R2Data.MinData = tmpVal
|
|
|
+ dataResp.R2Data.MaxData = tmpVal
|
|
|
+ isNotR2First = true
|
|
|
+ }
|
|
|
if dataResp.R2Data.MinData > tmpVal {
|
|
|
dataResp.R2Data.MinData = tmpVal
|
|
|
}
|