|
@@ -237,17 +237,31 @@ func fillResidualChartInfo(req residual_analysis_model.ResidualAnalysisReq, edbI
|
|
|
mappingEdb[i].IsAxis = 1
|
|
|
mappingEdb[i].ChartColor = `#00F`
|
|
|
mappingEdb[i].IsOrder = false
|
|
|
+ mappingEdb[i].ChartWidth = 3
|
|
|
mappingEdb[i].MinValue = indexMin
|
|
|
mappingEdb[i].MaxValue = indexMax
|
|
|
} else {
|
|
|
mappingEdb[i].IsAxis = 0
|
|
|
mappingEdb[i].ChartColor = `#F00`
|
|
|
+ mappingEdb[i].ChartWidth = 1
|
|
|
}
|
|
|
}
|
|
|
+ reverse(mappingEdb)
|
|
|
|
|
|
return mappingEdb, R2, nil
|
|
|
}
|
|
|
|
|
|
+// 双指针法
|
|
|
+func reverse(slice []residual_analysis_model.ResidualAnalysisChartEdbInfoMapping) {
|
|
|
+ left, right := 0, len(slice)-1
|
|
|
+ for left < right {
|
|
|
+ // 交换元素
|
|
|
+ slice[left], slice[right] = slice[right], slice[left]
|
|
|
+ left++
|
|
|
+ right--
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
func fillMappingChartInfo(req residual_analysis_model.ResidualAnalysisReq, edbInfoMappingA *data_manage.ChartEdbInfoMapping, edbInfoMappingB *data_manage.ChartEdbInfoMapping, originalEdbList []residual_analysis_model.ResidualAnalysisChartEdbInfoMapping, indexADataMap map[string]*data_manage.EdbDataList, startDate string, endDate string, fullADataList []*data_manage.EdbDataList, fullBDataList []*data_manage.EdbDataList) ([]residual_analysis_model.ResidualAnalysisChartEdbInfoMapping, float64, float64, float64, error) {
|
|
|
// 计算公式:Y=aX+b,Y为映射后的指标,X为自变量指标
|
|
|
// 正序:a=(L2-L1)/(R2-R1) b=L2-R2*a
|
|
@@ -511,6 +525,14 @@ func fillOriginalChart(req residual_analysis_model.ResidualAnalysisReq, mappingL
|
|
|
edbInfoMapping.ChartColor = `#00F`
|
|
|
edbInfoMapping.ChartWidth = 3
|
|
|
edbInfoMapping.EdbName = v.EdbName
|
|
|
+ edbInfoMapping.LeftIndexMin = req.LeftIndexMin
|
|
|
+ edbInfoMapping.LeftIndexMax = req.LeftIndexMax
|
|
|
+ edbInfoMapping.RightIndexMin = req.RightIndexMin
|
|
|
+ edbInfoMapping.RightIndexMax = req.RightIndexMax
|
|
|
+ edbInfoMapping.ResidualIndexMin = req.ResidualIndexMin
|
|
|
+ edbInfoMapping.ResidualIndexMax = req.ResidualIndexMax
|
|
|
+ edbInfoMapping.ContrastIndexMin = req.ContrastIndexMin
|
|
|
+ edbInfoMapping.ContrastIndexMax = req.ContrastIndexMax
|
|
|
|
|
|
// 获取图表中的指标数据
|
|
|
dataList, err := data_manage.GetEdbDataList(v.Source, v.SubSource, v.EdbInfoId, startDate, endDate)
|
|
@@ -579,7 +601,7 @@ func fillOriginalChart(req residual_analysis_model.ResidualAnalysisReq, mappingL
|
|
|
return originalEdbList, fullADataList, fullBDataList, nil
|
|
|
}
|
|
|
|
|
|
-func ContrastPreview(indexCode string) (residual_analysis_model.ResidualAnalysisChartEdbInfoMapping, error) {
|
|
|
+func ContrastPreview(indexCode string, startTime string, endTime string) (residual_analysis_model.ResidualAnalysisChartEdbInfoMapping, error) {
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
|
|
|
@@ -596,7 +618,7 @@ func ContrastPreview(indexCode string) (residual_analysis_model.ResidualAnalysis
|
|
|
return residual_analysis_model.ResidualAnalysisChartEdbInfoMapping{}, fmt.Errorf("指标不存在")
|
|
|
}
|
|
|
|
|
|
- dataList, err := data_manage.GetEdbDataList(edbInfo.Source, edbInfo.SubSource, edbInfo.EdbInfoId, "", "")
|
|
|
+ dataList, err := data_manage.GetEdbDataList(edbInfo.Source, edbInfo.SubSource, edbInfo.EdbInfoId, startTime, endTime)
|
|
|
|
|
|
var resp residual_analysis_model.ResidualAnalysisChartEdbInfoMapping
|
|
|
resp.EdbInfoId = edbInfo.EdbInfoId
|