diff --git a/src/main/java/com/gxwebsoft/credit/controller/CreditBreachOfTrustController.java b/src/main/java/com/gxwebsoft/credit/controller/CreditBreachOfTrustController.java index be64a51..41b86b6 100644 --- a/src/main/java/com/gxwebsoft/credit/controller/CreditBreachOfTrustController.java +++ b/src/main/java/com/gxwebsoft/credit/controller/CreditBreachOfTrustController.java @@ -140,8 +140,9 @@ public class CreditBreachOfTrustController extends BaseController { int successCount = 0; try { + int sheetIndex = ExcelImportSupport.findSheetIndex(file, "失信被执行人", 0); ExcelImportSupport.ImportResult importResult = ExcelImportSupport.read( - file, CreditJudicialImportParam.class, this::isEmptyImportRow); + file, CreditJudicialImportParam.class, this::isEmptyImportRow, sheetIndex); List list = importResult.getData(); int usedTitleRows = importResult.getTitleRows(); int usedHeadRows = importResult.getHeadRows(); diff --git a/src/main/java/com/gxwebsoft/credit/controller/CreditJudgmentDebtorController.java b/src/main/java/com/gxwebsoft/credit/controller/CreditJudgmentDebtorController.java index b85ed9f..e54c4cd 100644 --- a/src/main/java/com/gxwebsoft/credit/controller/CreditJudgmentDebtorController.java +++ b/src/main/java/com/gxwebsoft/credit/controller/CreditJudgmentDebtorController.java @@ -485,27 +485,43 @@ public class CreditJudgmentDebtorController extends BaseController { } private List findDebtorSheetIndices(MultipartFile excelFile) throws Exception { + // Prefer an explicitly-named "被执行人" sheet when present. + List preferred = new ArrayList<>(); List indices = new ArrayList<>(); try (InputStream is = excelFile.getInputStream(); Workbook workbook = WorkbookFactory.create(is)) { int sheetCount = workbook.getNumberOfSheets(); for (int i = 0; i < sheetCount; i++) { String sheetName = workbook.getSheetName(i); - if (isDebtorSheetName(sheetName)) { + if (!isDebtorSheetName(sheetName)) { + continue; + } + String normalized = normalizeSheetName(sheetName); + if ("被执行人".equals(normalized)) { + preferred.add(i); + } else { indices.add(i); } } } - return indices; + preferred.addAll(indices); + return preferred; } private static boolean isDebtorSheetName(String sheetName) { if (sheetName == null) { return false; } - String normalized = sheetName.replace(" ", "").trim(); + String normalized = normalizeSheetName(sheetName); return normalized.contains("被执行人") && !normalized.contains("失信") && !normalized.contains("历史"); } + private static String normalizeSheetName(String sheetName) { + if (sheetName == null) { + return ""; + } + return sheetName.replace(" ", "").replace(" ", "").trim(); + } + private static boolean isExcelFileName(String name) { if (name == null) { return false; diff --git a/src/main/java/com/gxwebsoft/credit/controller/CreditXgxfController.java b/src/main/java/com/gxwebsoft/credit/controller/CreditXgxfController.java index de1b4d9..7e4693c 100644 --- a/src/main/java/com/gxwebsoft/credit/controller/CreditXgxfController.java +++ b/src/main/java/com/gxwebsoft/credit/controller/CreditXgxfController.java @@ -144,8 +144,9 @@ public class CreditXgxfController extends BaseController { int successCount = 0; try { + int sheetIndex = ExcelImportSupport.findSheetIndex(file, "限制高消费", 0); ExcelImportSupport.ImportResult importResult = ExcelImportSupport.read( - file, CreditJudicialImportParam.class, this::isEmptyImportRow); + file, CreditJudicialImportParam.class, this::isEmptyImportRow, sheetIndex); List list = importResult.getData(); int usedTitleRows = importResult.getTitleRows(); int usedHeadRows = importResult.getHeadRows();