From 5b4a67d646f70c299294879341758da62a21ac9f Mon Sep 17 00:00:00 2001 From: "583641232@qq.com" <583641232@qq.com> Date: Thu, 12 Sep 2024 17:04:04 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=20=20=E4=B8=AD=E5=9B=BD=E9=93=B6?= =?UTF-8?q?=E8=A1=8C=E6=96=B0=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/ImportOpeningAccountInfo.java | 2 +- .../bankStatementAnalysis/domain/ReadDto.java | 2 +- .../entity/BOCPrivateBankStatementEntry.java | 15 ++++++++---- .../helper/BOCDataAnalysisHelper.java | 23 ++++++++++++++++++- 4 files changed, 34 insertions(+), 8 deletions(-) diff --git a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ImportOpeningAccountInfo.java b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ImportOpeningAccountInfo.java index fcde8c1..50eb042 100644 --- a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ImportOpeningAccountInfo.java +++ b/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({"子账号"}) diff --git a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ReadDto.java b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ReadDto.java index ab8524a..d25acd9 100644 --- a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ReadDto.java +++ b/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; diff --git a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/entity/BOCPrivateBankStatementEntry.java b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/entity/BOCPrivateBankStatementEntry.java index 2865739..4114ba1 100644 --- a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/entity/BOCPrivateBankStatementEntry.java +++ b/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; diff --git a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/BOCDataAnalysisHelper.java b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/BOCDataAnalysisHelper.java index eb96ea5..9875c9b 100644 --- a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/BOCDataAnalysisHelper.java +++ b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/BOCDataAnalysisHelper.java @@ -107,6 +107,8 @@ public class BOCDataAnalysisHelper { List oaiList = importService.getOAIData(caseId, BANK_NAME); Map nameIdCardMap = new HashMap<>(); Map groupByCard = new HashMap<>(); + Map 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 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)) {