|
|
@ -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)) { |
|
|
|