فهرست منبع

刷新逻辑调整

xyxie 1 سال پیش
والد
کامیت
662e8b180f
1فایلهای تغییر یافته به همراه17 افزوده شده و 4 حذف شده
  1. 17 4
      models/edb_data_calculate_rjz.go

+ 17 - 4
models/edb_data_calculate_rjz.go

@@ -261,11 +261,24 @@ func refreshAllCalculateRjz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 
 			timestamp := currentDate.UnixNano() / 1e6
 			timestampStr := fmt.Sprintf("%d", timestamp)
-			if _, existOk := existAddDataMap[av]; !existOk {
-				addSql += GetAddSql(edbInfoIdStr, edbCode, av, timestampStr, val)
-				isAdd = true
+			if existVal, ok := existDataMap[av]; !ok {
+				if _, existOk := existAddDataMap[av]; !existOk {
+					addSql += GetAddSql(edbInfoIdStr, edbCode, av, timestampStr, val)
+					isAdd = true
+				}
+				existAddDataMap[av] = av
+			} else {
+				existValDecimal, err := decimal.NewFromString(existVal)
+				existStr := existValDecimal.String()
+				if existStr != val {
+					sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
+					sql = fmt.Sprintf(sql, dataTableName)
+					_, err = to.Raw(sql, val, edbInfoId, av).Exec()
+					if err != nil {
+						return err
+					}
+				}
 			}
-			existAddDataMap[av] = av
 		}
 	}
 	if isAdd {