diff --git a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/HelperUtil.java b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/HelperUtil.java index 01a2a71..575d0eb 100644 --- a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/HelperUtil.java +++ b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/HelperUtil.java @@ -976,22 +976,29 @@ public class HelperUtil { public static String generateMD5Id(BankStatement bs,String caseId){ - String cardHolderName = StrUtil.isEmpty(bs.getCardHolderName())?"":bs.getCardHolderName(); - String idCardNo = StrUtil.isEmpty(bs.getIdCardNo())?"":bs.getIdCardNo(); - String cardNumber = StrUtil.isEmpty(bs.getCardNumber())?"":bs.getCardNumber(); - Date transactionTime = bs.getTransactionTime(); - BigDecimal transactionAmount = bs.getTransactionAmount(); - BigDecimal balance = bs.getBalance(); - String transactionInstitutions = StrUtil.isEmpty(bs.getTransactionInstitutions())?"":bs.getTransactionInstitutions(); - String counterpartyName = StrUtil.isEmpty(bs.getCounterpartyName())?"":bs.getCounterpartyName(); - String counterpartyAccount = StrUtil.isEmpty(bs.getCounterpartyAccount())?"":bs.getCounterpartyAccount(); - String summary = StrUtil.isEmpty(bs.getSummary())?"":bs.getSummary(); - String transRemark = StrUtil.isEmpty(bs.getTransRemark())?"":bs.getTransRemark(); - - String uniqueKey = caseId + bs.getBankName()+ cardHolderName + idCardNo + cardNumber + transactionTime + transactionAmount + + try { + String cardHolderName = StrUtil.isEmpty(bs.getCardHolderName())?"":bs.getCardHolderName(); + String idCardNo = StrUtil.isEmpty(bs.getIdCardNo())?"":bs.getIdCardNo(); + String cardNumber = StrUtil.isEmpty(bs.getCardNumber())?"":bs.getCardNumber(); + Date transactionTime = bs.getTransactionTime(); + BigDecimal transactionAmount = bs.getTransactionAmount(); + BigDecimal balance = bs.getBalance(); + String transactionInstitutions = StrUtil.isEmpty(bs.getTransactionInstitutions())?"":bs.getTransactionInstitutions(); + String counterpartyName = StrUtil.isEmpty(bs.getCounterpartyName())?"":bs.getCounterpartyName(); + String counterpartyAccount = StrUtil.isEmpty(bs.getCounterpartyAccount())?"":bs.getCounterpartyAccount(); + String summary = StrUtil.isEmpty(bs.getSummary())?"":bs.getSummary(); + String transRemark = StrUtil.isEmpty(bs.getTransRemark())?"":bs.getTransRemark(); + + String uniqueKey = caseId + bs.getBankName()+ cardHolderName + idCardNo + cardNumber + transactionTime + transactionAmount + balance + transactionInstitutions + counterpartyName + counterpartyAccount + summary + transRemark; - //去重 - return generateMD5(uniqueKey); + //去重 + return generateMD5(uniqueKey); + }catch (Exception e){ + e.printStackTrace(); + System.out.println("bs = " + JSONUtil.toJsonStr(bs)); + return null; + } + } diff --git a/cas-system/src/main/java/com/inscloudtech/datacenter/service/impl/BankServiceImpl.java b/cas-system/src/main/java/com/inscloudtech/datacenter/service/impl/BankServiceImpl.java index b304cbc..5b515b0 100644 --- a/cas-system/src/main/java/com/inscloudtech/datacenter/service/impl/BankServiceImpl.java +++ b/cas-system/src/main/java/com/inscloudtech/datacenter/service/impl/BankServiceImpl.java @@ -2119,7 +2119,13 @@ public class BankServiceImpl implements BankService { Set uniqueKeySet = new HashSet(); List bsList = ListUtils.newArrayListWithExpectedSize(BATCH_SIZE); for (BankStatement bs : list) { + if(bs == null){ + continue; + } String md5Id = HelperUtil.generateMD5Id(bs,caseId); + if(md5Id == null){ + continue; + } //未导入数据内部去重 if(HelperUtil.deduplication(md5Id,uniqueKeySet)){ continue;