瀏覽代碼

fix: 信息价导入excel,只覆盖导入了地区的数据

vian 3 月之前
父節點
當前提交
7ff7585302
共有 1 個文件被更改,包括 5 次插入2 次删除
  1. 5 2
      modules/price_info_lib/facade/index.js

+ 5 - 2
modules/price_info_lib/facade/index.js

@@ -186,6 +186,7 @@ async function importExcelData(libID, sheetData) {
     let curAreaName;
     let curClassName;
     let curClassID;
+    const areaIDSet = new Set();
     for (let row = 1; row < sheetData.length; row++) {
         const areaName = sheetData[row][colMap.area] ? String(sheetData[row][colMap.area]).trim() : '';
         const className = sheetData[row][colMap.class] ? String(sheetData[row][colMap.class]).trim() : '';
@@ -207,6 +208,7 @@ async function importExcelData(libID, sheetData) {
         if (!areaID) {
             continue;
         }
+        areaIDSet.add(areaID);
         if ((className && className !== curClassName) || areaChange) {
             curClassName = className;
             const classItem = {
@@ -243,12 +245,13 @@ async function importExcelData(libID, sheetData) {
             taxPrice
         });
     }
+    const areaIDs = [...areaIDSet]
     if (classData.length) {
-        await priceInfoClassModel.remove({ libID });
+        await priceInfoClassModel.remove({ libID, areaID: { $in: areaIDs } });
         await priceInfoClassModel.insertMany(classData);
     }
     if (data.length) {
-        await priceInfoItemModel.remove({ libID });
+        await priceInfoItemModel.remove({ libID, areaID: { $in: areaIDs } });
         await priceInfoItemModel.insertMany(data);
     } else {
         throw 'excel没有有效数据。'