|
@ -65,12 +65,13 @@ public class CGSAnalysisHelper { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (File excelFile : excelFileList) { |
|
|
for (File excelFile : excelFileList) { |
|
|
|
|
|
String bankName = ""; |
|
|
try { |
|
|
try { |
|
|
String excelFileName = excelFile.getAbsolutePath(); |
|
|
String excelFileName = excelFile.getAbsolutePath(); |
|
|
if(excelFileName.contains("金融理财")){ |
|
|
if(excelFileName.contains("金融理财")){ |
|
|
continue; |
|
|
continue; |
|
|
} |
|
|
} |
|
|
String bankName = ""; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(excelFileName.contains("_")){ |
|
|
if(excelFileName.contains("_")){ |
|
|
int count = countString(excelFileName, "_"); |
|
|
int count = countString(excelFileName, "_"); |
|
@ -89,7 +90,7 @@ public class CGSAnalysisHelper { |
|
|
Worksheet worksheet = wb.getWorksheets().get(sheetNo); |
|
|
Worksheet worksheet = wb.getWorksheets().get(sheetNo); |
|
|
String worksheetName = worksheet.getName(); |
|
|
String worksheetName = worksheet.getName(); |
|
|
if(worksheetName.equals("交易流水信息")){ |
|
|
if(worksheetName.equals("交易流水信息")){ |
|
|
saveBS(wb,sheetNo,excelFileName,bankName,caseId); |
|
|
|
|
|
|
|
|
saveBS(wb,sheetNo,excelFileName,bankName,caseId,sourceFile); |
|
|
} else if(worksheetName.equals("客户基本信息")){ |
|
|
} else if(worksheetName.equals("客户基本信息")){ |
|
|
getBaseInfo(wb,sheetNo,excelFileName,baseInfoList); |
|
|
getBaseInfo(wb,sheetNo,excelFileName,baseInfoList); |
|
|
} else if(worksheetName.equals("账户基本信息")){ |
|
|
} else if(worksheetName.equals("账户基本信息")){ |
|
@ -101,11 +102,11 @@ public class CGSAnalysisHelper { |
|
|
throw new TemplateNotFindException(sourceFile + BankStatementConstants.NAME_WITH_SHEET_NAME+ worksheetName); |
|
|
throw new TemplateNotFindException(sourceFile + BankStatementConstants.NAME_WITH_SHEET_NAME+ worksheetName); |
|
|
} |
|
|
} |
|
|
}catch (Exception e){ |
|
|
}catch (Exception e){ |
|
|
importResultService.record(caseId,BANK_NAME,e); |
|
|
|
|
|
|
|
|
importResultService.record(caseId,bankName,e); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}catch (Exception e){ |
|
|
}catch (Exception e){ |
|
|
importResultService.record(caseId,BANK_NAME,e); |
|
|
|
|
|
|
|
|
importResultService.record(caseId,bankName,e); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -203,27 +204,26 @@ public class CGSAnalysisHelper { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void saveBS(Workbook wb,int sheetNo, String excelFileName,String bankName,String caseId){ |
|
|
|
|
|
|
|
|
void saveBS(Workbook wb,int sheetNo, String excelFileName,String bankName,String caseId,String sourceFile){ |
|
|
Cells cells = wb.getWorksheets().get(sheetNo).getCells(); |
|
|
Cells cells = wb.getWorksheets().get(sheetNo).getCells(); |
|
|
Cell cell = AsposeUtil.getCell(cells, "交易时间"); |
|
|
Cell cell = AsposeUtil.getCell(cells, "交易时间"); |
|
|
if (cell == null) { |
|
|
if (cell == null) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
int headRowNum = cell.getRow() + 1; |
|
|
int headRowNum = cell.getRow() + 1; |
|
|
List<CGSBankStatement> bsList = new ArrayList<>(); |
|
|
List<CGSBankStatement> bsList = new ArrayList<>(); |
|
|
try (ExcelReader reader = EasyExcel.read(excelFileName).build()) { |
|
|
try (ExcelReader reader = EasyExcel.read(excelFileName).build()) { |
|
|
ReadSheet sheet = EasyExcel.readSheet(sheetNo) |
|
|
ReadSheet sheet = EasyExcel.readSheet(sheetNo) |
|
|
.headRowNumber(headRowNum) |
|
|
.headRowNumber(headRowNum) |
|
|
.head(CGSBankStatement.class) |
|
|
.head(CGSBankStatement.class) |
|
|
.registerReadListener(getBSReadListener(bsList,bankName,caseId)) |
|
|
|
|
|
|
|
|
.registerReadListener(getBSReadListener(bsList,bankName,caseId,sourceFile)) |
|
|
.build(); |
|
|
.build(); |
|
|
reader.read(sheet); |
|
|
reader.read(sheet); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
log.error("读取央地系统数据失败", e); |
|
|
log.error("读取央地系统数据失败", e); |
|
|
throw new ImportDataFailedException(e.getMessage(), excelFileName); |
|
|
|
|
|
|
|
|
throw new ImportDataFailedException(e.getMessage(), sourceFile); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -242,7 +242,7 @@ public class CGSAnalysisHelper { |
|
|
}; |
|
|
}; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private ReadListener<CGSBankStatement> getBSReadListener(List<CGSBankStatement> bsList,String bankName,String caseId) { |
|
|
|
|
|
|
|
|
private ReadListener<CGSBankStatement> getBSReadListener(List<CGSBankStatement> bsList,String bankName,String caseId,String sourceFile) { |
|
|
return new ReadListener<CGSBankStatement>() { |
|
|
return new ReadListener<CGSBankStatement>() { |
|
|
@Override |
|
|
@Override |
|
|
public void invoke(CGSBankStatement data, AnalysisContext context) { |
|
|
public void invoke(CGSBankStatement data, AnalysisContext context) { |
|
@ -265,8 +265,9 @@ public class CGSAnalysisHelper { |
|
|
String.format("解析交易时间错误,无法将【%s】格式化为【%s】", transTime, format), new Exception()); |
|
|
String.format("解析交易时间错误,无法将【%s】格式化为【%s】", transTime, format), new Exception()); |
|
|
} |
|
|
} |
|
|
}catch (Exception e){ |
|
|
}catch (Exception e){ |
|
|
importResultService.record(caseId,bankName,e); |
|
|
|
|
|
|
|
|
importResultService.record(caseId,bankName,e,sourceFile); |
|
|
} |
|
|
} |
|
|
|
|
|
data.setSourceFile(sourceFile); |
|
|
data.setBankName(bankName); |
|
|
data.setBankName(bankName); |
|
|
data.setId(IdUtil.objectId()); |
|
|
data.setId(IdUtil.objectId()); |
|
|
bsList.add(data); |
|
|
bsList.add(data); |
|
@ -444,7 +445,6 @@ public class CGSAnalysisHelper { |
|
|
bsList.add(bs); |
|
|
bsList.add(bs); |
|
|
HelperUtil.extractPlateNumber(bs,plateNumberInfoList); |
|
|
HelperUtil.extractPlateNumber(bs,plateNumberInfoList); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (bsList.size() >= batchSize) { |
|
|
if (bsList.size() >= batchSize) { |
|
|
List<BankStatement> dest = HelperUtil.getDest(bsList); |
|
|
List<BankStatement> dest = HelperUtil.getDest(bsList); |
|
|
HelperUtil.batchInsert2Es(dest, caseId); |
|
|
HelperUtil.batchInsert2Es(dest, caseId); |
|
@ -452,7 +452,7 @@ public class CGSAnalysisHelper { |
|
|
bsList = ListUtils.newArrayListWithExpectedSize(batchSize); |
|
|
bsList = ListUtils.newArrayListWithExpectedSize(batchSize); |
|
|
} |
|
|
} |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
importResultService.record(caseId, BANK_NAME, e,sourceFile); |
|
|
|
|
|
|
|
|
importResultService.record(caseId, entity.getBankName(), e,sourceFile); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|