Browse Source

中国银行新模板

master
583641232@qq.com 1 year ago
parent
commit
5b4a67d646
  1. 2
      cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ImportOpeningAccountInfo.java
  2. 2
      cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ReadDto.java
  3. 15
      cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/entity/BOCPrivateBankStatementEntry.java
  4. 23
      cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/BOCDataAnalysisHelper.java

2
cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ImportOpeningAccountInfo.java

@ -37,7 +37,7 @@ public class ImportOpeningAccountInfo {
@ExcelProperty({"客户账号","客户主账号", "主账号", "卡号", "账号","卡号或帐号"})
private String accountNumber;
@ExcelProperty(value = "账号对应卡号")
@ExcelProperty({"账号对应卡号","旧线账户子账户"})
private String accountCardNumber;
@ExcelProperty({"子账号"})

2
cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ReadDto.java

@ -19,7 +19,7 @@ public class ReadDto {
private String excelFileName;
private int headRowNumber;
private int endRow;
private Integer endRow;
private int sheetNo;
private Class headClass;

15
cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/entity/BOCPrivateBankStatementEntry.java

@ -25,12 +25,12 @@ public class BOCPrivateBankStatementEntry {
/**
* 客户名称
*/
@ExcelProperty({"客户名称", "客户名", "姓名", "姓名"})
@ExcelProperty({"客户名称", "客户名", "姓名", "姓名","账户名"})
@IndexField(fieldType = FieldType.KEYWORD)
private String cardHolderName;
// 卡号
@ExcelProperty({"账号", "账号卡号"})
@ExcelProperty({"账号", "账号卡号", "交易帐号"})
@IndexField(fieldType = FieldType.KEYWORD)
private String cardNumber;
@ -59,15 +59,20 @@ public class BOCPrivateBankStatementEntry {
private String transSummary;
// 对方账号
@ExcelProperty({"对手账号", "对方账号"})
@ExcelProperty({"对手账号", "对方账号","对手账户"})
private String counterpartyAccount;
@ExcelProperty({"对手名称", "对方户名", "对方名称"})
@ExcelProperty({"对手名称", "对方户名", "对方名称","对手账户名"})
private String counterpartyName;
@ExcelProperty({"对手行", "对方行名", "对方银行"})
@ExcelProperty({"对手行", "对方行名", "对方银行","对手机构名"})
private String counterpartyBankName;
// C - +
// D - -
@ExcelProperty("借贷标识")
private String loanFlag;
@ExcelProperty("摘要")
private String summary;

23
cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/BOCDataAnalysisHelper.java

@ -107,6 +107,8 @@ public class BOCDataAnalysisHelper {
List<OpeningAccountInfo> oaiList = importService.getOAIData(caseId, BANK_NAME);
Map<String, String> nameIdCardMap = new HashMap<>();
Map<String, OpeningAccountInfo> groupByCard = new HashMap<>();
Map<String, OpeningAccountInfo> accountCardNumberMap = new HashMap<>();
for (OpeningAccountInfo oai : oaiList) {
if (!nameIdCardMap.containsKey(oai.getName())) {
nameIdCardMap.put(oai.getName(), oai.getIdNo());
@ -114,6 +116,9 @@ public class BOCDataAnalysisHelper {
if (StrUtil.isNotEmpty(oai.getAccountNumber()) && !groupByCard.containsKey(oai.getAccountNumber())) {
groupByCard.put(oai.getAccountNumber(), oai);
}
if (StrUtil.isNotEmpty(oai.getAccountCardNumber()) && !accountCardNumberMap.containsKey(oai.getAccountCardNumber())) {
accountCardNumberMap.put(oai.getAccountCardNumber(), oai);
}
}
List<BOCPrivateBankStatementEntry> entityList =
@ -137,6 +142,12 @@ public class BOCDataAnalysisHelper {
cardHolderName = info.getName();
idCardNo = info.getIdNo();
}
if (StrUtil.isEmpty(cardHolderName) && accountCardNumberMap.containsKey(cardNumber)) {
OpeningAccountInfo info = accountCardNumberMap.get(cardNumber);
cardHolderName = info.getName();
idCardNo = info.getIdNo();
}
bs.setCardHolderName(cardHolderName);
if (StrUtil.isEmpty(idCardNo)) {
@ -155,7 +166,7 @@ public class BOCDataAnalysisHelper {
}
bs.setTransCurrencyType(Constants.CURRENCY_TYPE_CHINA);
bs.setTransactionAmount(bocBs.getTransactionAmount());
// 交易金额栏使用双逻辑1.有正负标志的赋予其正负2.余额后减去前变大为正
BigDecimal balance = bocBs.getBalance();
if (balance == null) {
@ -252,6 +263,16 @@ public class BOCDataAnalysisHelper {
bs.setTransRemark(bocBs.getTransRemark());
bs.setCounterpartyAccount(bocBs.getCounterpartyAccount());
String loanFlag = bocBs.getLoanFlag();
BigDecimal transactionAmount = bocBs.getTransactionAmount();
if (StrUtil.isNotEmpty(loanFlag)) {
if (loanFlag.toLowerCase().contains("d")) {
transactionAmount = transactionAmount.negate();
}
}
bs.setTransactionAmount(transactionAmount);
String md5Id = HelperUtil.generateMD5Id(bs, caseId);
//未导入数据内部去重
if (HelperUtil.deduplication(md5Id, uniqueKeySet)) {

Loading…
Cancel
Save