Commit 144875fe authored by Data-王博's avatar Data-王博

湖北消金 - 批次处理。

parent 5633a3b2
...@@ -332,7 +332,7 @@ public class HuBeiServiceImpl implements IHuBeiService { ...@@ -332,7 +332,7 @@ public class HuBeiServiceImpl implements IHuBeiService {
contractMapHuiBeiHistory.clear(); contractMapHuiBeiHistory.clear();
/** /**
* 通过loanHistoryId list 查询未代偿的还款计划 最近一期 * 通过loanHistoryId list 查询还款计划 最近一期
*/ */
List<RepaymentPlanDetail> repaymentPlanDetailList = paymentDao.getRepaymentPlanListByLoanIds(loanHistoryIdList); List<RepaymentPlanDetail> repaymentPlanDetailList = paymentDao.getRepaymentPlanListByLoanIds(loanHistoryIdList);
repaymentPlanDetailList = repaymentPlanDetailList==null?new ArrayList<RepaymentPlanDetail>():repaymentPlanDetailList; repaymentPlanDetailList = repaymentPlanDetailList==null?new ArrayList<RepaymentPlanDetail>():repaymentPlanDetailList;
...@@ -397,8 +397,9 @@ public class HuBeiServiceImpl implements IHuBeiService { ...@@ -397,8 +397,9 @@ public class HuBeiServiceImpl implements IHuBeiService {
}).collect(Collectors.toCollection(ArrayList::new)); }).collect(Collectors.toCollection(ArrayList::new));
Collections.sort(repayXyqbDetailList,new RepayXyqbCompartor()); Collections.sort(repayXyqbDetailList,new RepayXyqbCompartor());
if(!CollectionUtils.isEmpty(repayXyqbDetailList)){ if(!CollectionUtils.isEmpty(repayXyqbDetailList)){
if(repayXyqbDetailList.size()==1){ RepayXyqbDetail repayXyqbDetail = repayXyqbDetailList.get(0);
RepayXyqbDetail repayXyqbDetail = repayXyqbDetailList.get(0); //等于送盘文件当前期
if(repayXyqbDetail.getCurrTermNo().compareTo(history.getCurrTermNo())==0){
RepaymentPlanDetail repaymentPlanDetail = noYetContractMapRepayPlan.get(history.getContactNo()); RepaymentPlanDetail repaymentPlanDetail = noYetContractMapRepayPlan.get(history.getContactNo());
if(repaymentPlanDetail!=null){ if(repaymentPlanDetail!=null){
//湖北罚息 //湖北罚息
...@@ -407,13 +408,15 @@ public class HuBeiServiceImpl implements IHuBeiService { ...@@ -407,13 +408,15 @@ public class HuBeiServiceImpl implements IHuBeiService {
BigDecimal reallyRepayAmount = repaymentPlanDetail.getPrincipal().add(repaymentPlanDetail.getInterest()).add(hubeiOverdueInterest); BigDecimal reallyRepayAmount = repaymentPlanDetail.getPrincipal().add(repaymentPlanDetail.getInterest()).add(hubeiOverdueInterest);
returnHuBeiHistoryList.add(deitHuiBeiHistory(history,huBeiDocName.getCreateTime(),reallyRepayAmount,HubeiCFCField.tradeCodeSuccess)); returnHuBeiHistoryList.add(deitHuiBeiHistory(history,huBeiDocName.getCreateTime(),reallyRepayAmount,HubeiCFCField.tradeCodeSuccess));
} }
//去除第一个
continue; repayXyqbDetailList = repayXyqbDetailList.subList(1,repayXyqbDetailList.size());
}else { }
//提前还款 //剩下的提前还款
returnHuBeiHistoryList.addAll(advanceHuiBeiHistory(history,huBeiDocName.getCreateTime(),repayXyqbDetailList)); List<HuBeiHistory> advanceHistoryList = advanceHuiBeiHistory(repayXyqbDetailList);
continue; if(!CollectionUtils.isEmpty(advanceHistoryList)){
returnHuBeiHistoryList.addAll(advanceHistoryList);
} }
continue;
} }
} }
...@@ -490,6 +493,9 @@ public class HuBeiServiceImpl implements IHuBeiService { ...@@ -490,6 +493,9 @@ public class HuBeiServiceImpl implements IHuBeiService {
} }
private List<HuBeiHistory> advanceHuiBeiHistory(List<RepayXyqbDetail> repayXyqbDetailList){ private List<HuBeiHistory> advanceHuiBeiHistory(List<RepayXyqbDetail> repayXyqbDetailList){
if(CollectionUtils.isEmpty(repayXyqbDetailList)){
return null;
}
List<HuBeiHistory> advanceHuiBeiList = new ArrayList<HuBeiHistory>(); List<HuBeiHistory> advanceHuiBeiList = new ArrayList<HuBeiHistory>();
Integer seqNo = new Integer(0); Integer seqNo = new Integer(0);
PaymentDetail paymentDetail = paymentDao.getByLoanId(repayXyqbDetailList.get(0).getLoanApplicationHistoryId()); PaymentDetail paymentDetail = paymentDao.getByLoanId(repayXyqbDetailList.get(0).getLoanApplicationHistoryId());
...@@ -542,54 +548,7 @@ public class HuBeiServiceImpl implements IHuBeiService { ...@@ -542,54 +548,7 @@ public class HuBeiServiceImpl implements IHuBeiService {
return advanceHuiBeiList; return advanceHuiBeiList;
} }
/**
* 提前还款
* @param history
* @param happenTime
* @param repayXyqbDetailList
* @return
*/
private List<HuBeiHistory> advanceHuiBeiHistory(HuBeiHistory history,Date happenTime,List<RepayXyqbDetail> repayXyqbDetailList){
List<HuBeiHistory> advanceHuiBeiList = new ArrayList<HuBeiHistory>();
//缩期期数
Integer shortenTerm = repayXyqbDetailList.size();
Date repayDate = null;
Integer seqNo = new Integer(0);
for(RepayXyqbDetail repayXyqbDetail: repayXyqbDetailList){
seqNo++;
HuBeiHistory advanceHuiBeiHistory = HubeiCFCUtil.replicateBase(history);
//批次问题
advanceHuiBeiHistory.setSeqNo(seqNo.byteValue());
advanceHuiBeiHistory.setDataType(HubeiCFCDataType.RETURN_ADVANCE_REPAYMENT.get());
HuBeiJsonBean huBeiJsonBean = new HuBeiJsonBean();
HubeiCFCUtil.copy(advanceHuiBeiHistory,huBeiJsonBean);
huBeiJsonBean.setRepayType(HubeiCFCField.repayType);
repayDate = repayXyqbDetail.getPayCenterRepayAt();
//yyyy-MM-dd 还款日期 要减一天
Calendar deadLine = Calendar.getInstance();
deadLine.setTime(repayXyqbDetail.getDeadline());
deadLine.set(Calendar.DATE, deadLine.get(Calendar.DATE) - 1);
String dateFormat = DateUtil.dateFormat(deadLine.getTime());
String applyRepayDateFormat = DateUtil.dateFormat(repayDate);
huBeiJsonBean.setRepayDate(dateFormat);
huBeiJsonBean.setShortenTerm(shortenTerm);
//本次总计还款金额
//湖北罚息
BigDecimal huBeiOverdueInterest = HubeiCFCUtil.caculateOverDueFee(deadLine.getTime(),repayXyqbDetail.getPayCenterRepayAt(),repayXyqbDetail.getPrincipal());
BigDecimal reallyPayment = repayXyqbDetail.getPrincipal().add(repayXyqbDetail.getInterest()).add(huBeiOverdueInterest);
huBeiJsonBean.setReallyRepayAmount(reallyPayment);
huBeiJsonBean.setChannel(HubeiCFCField.repayChannel);
huBeiJsonBean.setApplyRepayDate(applyRepayDateFormat);
huBeiJsonBean.setRepayTotalAmount(reallyPayment);
advanceHuiBeiHistory.setHappenTime(happenTime);
advanceHuiBeiHistory.setData(huBeiJsonBean);
advanceHuiBeiList.add(advanceHuiBeiHistory);
}
return advanceHuiBeiList;
}
/** /**
* 批扣 * 批扣
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment