|
@@ -429,24 +429,25 @@ func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoId, sou
|
|
|
return err
|
|
|
}
|
|
|
dataMap := make(map[string]string)
|
|
|
+
|
|
|
+ removeDateMap := make(map[string]string)
|
|
|
for _, v := range dataList {
|
|
|
dataMap[v.DataTime] = v.Value
|
|
|
+ removeDateMap[v.DataTime] = v.DataTime
|
|
|
}
|
|
|
edbInfoIdStr := strconv.Itoa(edbInfoId)
|
|
|
existDataMap := make(map[string]string)
|
|
|
-
|
|
|
- removeDateList := make([]string, 0)
|
|
|
for sk, sv := range saveDataMap {
|
|
|
|
|
|
formulaStr = strings.ToUpper(formulaStr)
|
|
|
formulaFormStr := ReplaceFormula(edbInfoIdArr, sv, formulaMap, formulaStr, edbInfoIdBytes)
|
|
|
|
|
|
if formulaFormStr == `` {
|
|
|
- removeDateList = append(removeDateList, sk)
|
|
|
+
|
|
|
continue
|
|
|
}
|
|
|
|
|
|
- fmt.Println(fmt.Sprintf("formulaFormStr:%s", formulaFormStr))
|
|
|
+ fmt.Println(fmt.Sprintf("%s:formulaFormStr:%s", sk, formulaFormStr))
|
|
|
expression := formula.NewExpression(formulaFormStr)
|
|
|
calResult, err := expression.Evaluate()
|
|
|
if err != nil {
|
|
@@ -466,6 +467,8 @@ func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoId, sou
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ delete(removeDateMap, sk)
|
|
|
saveValue := decimal.NewFromFloat(calVal).RoundCeil(4).String()
|
|
|
if existVal, ok := dataMap[sk]; !ok {
|
|
|
dataTime, _ := time.Parse(utils.FormatDate, sk)
|
|
@@ -500,7 +503,11 @@ func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoId, sou
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if len(removeDateList) > 0 {
|
|
|
+ if len(removeDateMap) > 0 {
|
|
|
+ removeDateList := make([]string, 0)
|
|
|
+ for k := range removeDateMap {
|
|
|
+ removeDateList = append(removeDateList, k)
|
|
|
+ }
|
|
|
removeDateStr := strings.Join(removeDateList, `","`)
|
|
|
removeDateStr = `"` + removeDateStr + `"`
|
|
|
|