|
@@ -572,6 +572,12 @@ func ReplaceFormula(edbInfoIdArr []*EdbInfo, valArr, valArrMax map[int]float64,
|
|
if strings.Contains(formulaStr, "MAX()") || strings.Contains(formulaStr, "MIN()") {
|
|
if strings.Contains(formulaStr, "MAX()") || strings.Contains(formulaStr, "MIN()") {
|
|
return ""
|
|
return ""
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ formulaStr = strings.Replace(formulaStr, "MAX", "max", -1)
|
|
|
|
+ formulaStr = strings.Replace(formulaStr, "MIN", "min", -1)
|
|
|
|
+ formulaStr = strings.Replace(formulaStr, "LN", "ln", -1)
|
|
|
|
+ formulaStr = strings.Replace(formulaStr, "LOG", "log", -1)
|
|
|
|
+
|
|
if replaceCount == len(formulaMap) {
|
|
if replaceCount == len(formulaMap) {
|
|
return formulaStr
|
|
return formulaStr
|
|
} else {
|
|
} else {
|
|
@@ -602,7 +608,7 @@ func GetFormulaReplace(index, edbInfoId int, formulaStr string, edbInfoIdBytes [
|
|
}
|
|
}
|
|
|
|
|
|
// GetFormulaMap 获取计算公式的map
|
|
// GetFormulaMap 获取计算公式的map
|
|
-func GetFormulaMapBack() map[string]string {
|
|
|
|
|
|
+func GetFormulaMap() map[string]string {
|
|
funMap := make(map[string]string)
|
|
funMap := make(map[string]string)
|
|
funMap["MAX"] = "[@@]"
|
|
funMap["MAX"] = "[@@]"
|
|
funMap["MIN"] = "[@!]"
|
|
funMap["MIN"] = "[@!]"
|
|
@@ -618,23 +624,6 @@ func GetFormulaMapBack() map[string]string {
|
|
return funMap
|
|
return funMap
|
|
}
|
|
}
|
|
|
|
|
|
-// GetFormulaMap 获取计算公式的map
|
|
|
|
-func GetFormulaMap() map[string]string {
|
|
|
|
- funMap := make(map[string]string)
|
|
|
|
- funMap["max"] = "[@@]"
|
|
|
|
- funMap["min"] = "[@!]"
|
|
|
|
- funMap["abs"] = "[@#]"
|
|
|
|
- funMap["ceil"] = "[@$]"
|
|
|
|
- funMap["cos"] = "[@%]"
|
|
|
|
- funMap["floor"] = "[@^]"
|
|
|
|
- funMap["mod"] = "[@&]"
|
|
|
|
- funMap["pow"] = "[@*]"
|
|
|
|
- funMap["round"] = "[@`]"
|
|
|
|
- funMap["le"] = "[@-]"
|
|
|
|
- funMap["exp"] = "[@+]"
|
|
|
|
- return funMap
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
// CalculateBatchSaveReq 添加计算指标的请求参数
|
|
// CalculateBatchSaveReq 添加计算指标的请求参数
|
|
type CalculateBatchSaveReq struct {
|
|
type CalculateBatchSaveReq struct {
|
|
EdbList []*CalculateEdbInfoItem //需要批量计算的指标列表
|
|
EdbList []*CalculateEdbInfoItem //需要批量计算的指标列表
|
|
@@ -723,8 +712,7 @@ func CheckFormula2(edbInfoArr []*EdbInfo, formulaMap map[string]string, formulaS
|
|
valArr[v.EdbInfoId] = 100 + float64(k)
|
|
valArr[v.EdbInfoId] = 100 + float64(k)
|
|
}
|
|
}
|
|
|
|
|
|
- //formulaStr = strings.ToUpper(formulaStr)
|
|
|
|
- formulaStr = strings.ToLower(formulaStr)
|
|
|
|
|
|
+ formulaStr = strings.ToUpper(formulaStr)
|
|
// 预设里的max和min无需特殊处理
|
|
// 预设里的max和min无需特殊处理
|
|
valArrMax := make(map[int]float64)
|
|
valArrMax := make(map[int]float64)
|
|
formulaFormStr := ReplaceFormula(edbInfoArr, valArr, valArrMax, formulaMap, formulaStr, edbInfoIdBytes, false)
|
|
formulaFormStr := ReplaceFormula(edbInfoArr, valArr, valArrMax, formulaMap, formulaStr, edbInfoIdBytes, false)
|