guoziyun 9 ay önce
ebeveyn
işleme
97fbfd7da6

+ 3 - 1
oms/dist/src/scripts/migrate-done-rates.js

@@ -84,13 +84,15 @@ async function migrateDoneRates() {
         const cursor = OldDoneRate.find({}).lean().cursor();
         // 逐条处理游标中的数据
         for await (const doc of cursor) {
+            // 检查并重新计算 completionRate,以校正旧数据中的不合理值
+            const correctedCompletionRate = doc.startCount > 0 ? (doc.doneCount / doc.startCount) * 100 : 0;
             // 格式化数据以匹配本地模型
             const newRecord = {
                 date: doc.collectionName,
                 res: doc.res,
                 startCount: doc.startCount,
                 doneCount: doc.doneCount,
-                completionRate: doc.completionRate,
+                completionRate: correctedCompletionRate, // 使用校正后的值
             };
             batch.push(newRecord);
             // 如果达到批次大小,则执行批量插入

+ 4 - 1
oms/src/scripts/migrate-done-rates.ts

@@ -72,13 +72,16 @@ async function migrateDoneRates() {
 
     // 逐条处理游标中的数据
     for await (const doc of cursor) {
+      // 检查并重新计算 completionRate,以校正旧数据中的不合理值
+      const correctedCompletionRate = doc.startCount > 0 ? (doc.doneCount / doc.startCount) * 100 : 0;
+
       // 格式化数据以匹配本地模型
       const newRecord = {
         date: doc.collectionName,
         res: doc.res,
         startCount: doc.startCount,
         doneCount: doc.doneCount,
-        completionRate: doc.completionRate,
+        completionRate: correctedCompletionRate, // 使用校正后的值
       };
       batch.push(newRecord);