校验数据的准确性
This commit is contained in:
@@ -222,6 +222,7 @@ public class LbDailyUserTradeServiceImpl extends ServiceImpl<LbDailyUserTradeMap
|
|||||||
|
|
||||||
List<LbDailyUserTrade> importList = new ArrayList<>();
|
List<LbDailyUserTrade> importList = new ArrayList<>();
|
||||||
List<String> skippedRows = new ArrayList<>();
|
List<String> skippedRows = new ArrayList<>();
|
||||||
|
int skippedHiddenRows = 0;
|
||||||
DataFormatter dataFormatter = new DataFormatter();
|
DataFormatter dataFormatter = new DataFormatter();
|
||||||
log.info("开始导入Excel,fileName={}, size={} bytes, defaultReportDate={}",
|
log.info("开始导入Excel,fileName={}, size={} bytes, defaultReportDate={}",
|
||||||
originalFilename, file.getSize(), defaultReportDate);
|
originalFilename, file.getSize(), defaultReportDate);
|
||||||
@@ -246,6 +247,12 @@ public class LbDailyUserTradeServiceImpl extends ServiceImpl<LbDailyUserTradeMap
|
|||||||
if (row == null || isEmptyRow(row, dataFormatter)) {
|
if (row == null || isEmptyRow(row, dataFormatter)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
// 隐藏行(行高为 0)在部分导出/复制模板中会与可见行重复存一份数据;
|
||||||
|
// POI 仍会遍历到这些行,若不跳过会导致导入条数约为可见行的整数倍。
|
||||||
|
if (row.getZeroHeight()) {
|
||||||
|
skippedHiddenRows++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
LbDailyUserTrade trade = parseTradeRow(row, headerIndexMap, dataFormatter, fallbackReportDate, normalizedTenantId);
|
LbDailyUserTrade trade = parseTradeRow(row, headerIndexMap, dataFormatter, fallbackReportDate, normalizedTenantId);
|
||||||
if (trade == null) {
|
if (trade == null) {
|
||||||
@@ -258,8 +265,8 @@ public class LbDailyUserTradeServiceImpl extends ServiceImpl<LbDailyUserTradeMap
|
|||||||
skippedRows.add((i + 1) + "(" + ex.getMessage() + ")");
|
skippedRows.add((i + 1) + "(" + ex.getMessage() + ")");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
log.info("Excel解析完成,fileName={}, parsedCount={}, skippedCount={}",
|
log.info("Excel解析完成,fileName={}, parsedCount={}, skippedCount={}, skippedHiddenRows={}",
|
||||||
originalFilename, importList.size(), skippedRows.size());
|
originalFilename, importList.size(), skippedRows.size(), skippedHiddenRows);
|
||||||
if (importList.isEmpty()) {
|
if (importList.isEmpty()) {
|
||||||
log.warn("Excel解析后无有效数据,fileName={}, tenantId={}, skippedRows={}",
|
log.warn("Excel解析后无有效数据,fileName={}, tenantId={}, skippedRows={}",
|
||||||
originalFilename, normalizedTenantId, skippedRows);
|
originalFilename, normalizedTenantId, skippedRows);
|
||||||
@@ -285,6 +292,7 @@ public class LbDailyUserTradeServiceImpl extends ServiceImpl<LbDailyUserTradeMap
|
|||||||
result.put("success", false);
|
result.put("success", false);
|
||||||
result.put("message", "没有可导入的数据,请检查模板与内容");
|
result.put("message", "没有可导入的数据,请检查模板与内容");
|
||||||
result.put("skippedRows", skippedRows);
|
result.put("skippedRows", skippedRows);
|
||||||
|
result.put("skippedHiddenRowCount", skippedHiddenRows);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -322,13 +330,14 @@ public class LbDailyUserTradeServiceImpl extends ServiceImpl<LbDailyUserTradeMap
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("导入成功,fileName={}, importCount={}, skipCount={}",
|
log.info("导入成功,fileName={}, importCount={}, skipCount={}, skippedHiddenRows={}",
|
||||||
originalFilename, importList.size(), skippedRows.size());
|
originalFilename, importList.size(), skippedRows.size(), skippedHiddenRows);
|
||||||
result.put("success", true);
|
result.put("success", true);
|
||||||
result.put("message", "导入成功");
|
result.put("message", "导入成功");
|
||||||
result.put("importCount", importList.size());
|
result.put("importCount", importList.size());
|
||||||
result.put("skipCount", skippedRows.size());
|
result.put("skipCount", skippedRows.size());
|
||||||
result.put("skippedRows", skippedRows);
|
result.put("skippedRows", skippedRows);
|
||||||
|
result.put("skippedHiddenRowCount", skippedHiddenRows);
|
||||||
return result;
|
return result;
|
||||||
} finally {
|
} finally {
|
||||||
if (previousTenantId != null) {
|
if (previousTenantId != null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user