|
@@ -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没有有效数据。'
|