Browse Source

优化结清推送财务逻辑

zhanglei
fanzongzhe 9 months ago
parent
commit
492052456f
  1. 29
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java

29
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java

@ -956,9 +956,13 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
int check = 0;// 0不推抵顶保证金凭证 1推送 int check = 0;// 0不推抵顶保证金凭证 1推送
//结清合计 + 贷款保证金结转金额 //结清合计 + 贷款保证金结转金额
BigDecimal add = amountTo.add(depositJZ); BigDecimal add = amountTo.add(depositJZ);
BigDecimal actualDeposit = BigDecimal.ZERO;
if (add.compareTo(BigDecimal.ZERO) > 0) { if (add.compareTo(BigDecimal.ZERO) > 0) {
//结转剩余保证金 //结转剩余保证金
carryForward(loanSettleApply); BigDecimal decimal = carryForward(loanSettleApply);
if (null != decimal) {
actualDeposit = decimal;
}
check = 1; check = 1;
} }
//设置结清申请的“客户结清确认”状态为是 //设置结清申请的“客户结清确认”状态为是
@ -970,7 +974,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
//设置认款月还为已转付 //设置认款月还为已转付
updatePaymentStateByBusVinSid(loanSettleApply.getBusVinSid()); updatePaymentStateByBusVinSid(loanSettleApply.getBusVinSid());
//推送财务凭证 //推送财务凭证
pushSettleVoucher(loanSettleApply,check); pushSettleVoucher(loanSettleApply,check,actualDeposit);
} }
baseMapper.updateById(loanSettleApply); baseMapper.updateById(loanSettleApply);
} else { } else {
@ -1160,8 +1164,10 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
} }
//--------------------------------- 贷款保证金结转 ------------------------- //--------------------------------- 贷款保证金结转 -------------------------
private void carryForward(LoanSettleApply loanSettleApply) { private BigDecimal carryForward(LoanSettleApply loanSettleApply) {
String userSid = loanSettleApply.getCreateBySid(); String userSid = loanSettleApply.getCreateBySid();
BigDecimal returnDecimal = BigDecimal.ZERO;
BigDecimal finalDeposit = BigDecimal.ZERO;
BigDecimal deposit = BigDecimal.ZERO; // 贷款保证金 - (扣罚金额-贷款保证金减免) BigDecimal deposit = BigDecimal.ZERO; // 贷款保证金 - (扣罚金额-贷款保证金减免)
String busVinSid = loanSettleApply.getBusVinSid(); String busVinSid = loanSettleApply.getBusVinSid();
List<LoanRepaymentHistory> histories = new ArrayList<>();//还款记录 List<LoanRepaymentHistory> histories = new ArrayList<>();//还款记录
@ -1178,6 +1184,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
if (null != companyCost) { if (null != companyCost) {
if (null != companyCost.getLoanDeposit()) { if (null != companyCost.getLoanDeposit()) {
deposit = companyCost.getLoanDeposit(); deposit = companyCost.getLoanDeposit();
finalDeposit = companyCost.getLoanDeposit();
} }
} }
//按照顺序结转 //按照顺序结转
@ -1449,6 +1456,8 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
if (!updatePsList.isEmpty() && updatePsList.size() > 0) { if (!updatePsList.isEmpty() && updatePsList.size() > 0) {
loanRepaymentPlanDetailsService.updateList(updatePsList); loanRepaymentPlanDetailsService.updateList(updatePsList);
} }
returnDecimal = finalDeposit.subtract(deposit);
return returnDecimal;
} }
//--------------------------------- 减免 ---------------------------- //--------------------------------- 减免 ----------------------------
@ -1629,7 +1638,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
} }
//--------推送财务结清凭证------------------ //--------推送财务结清凭证------------------
private void pushSettleVoucher(LoanSettleApply loanSettleApply,int check) { private void pushSettleVoucher(LoanSettleApply loanSettleApply,int check,BigDecimal actualDeposit) {
String sid = loanSettleApply.getSid(); String sid = loanSettleApply.getSid();
LoanSettleCompanyCost companyCost = loanSettleCompanyCostService.selectByMainSid(sid); LoanSettleCompanyCost companyCost = loanSettleCompanyCostService.selectByMainSid(sid);
LoanSettleCompanyReduction reduction = loanSettleCompanyReductionService.selectByMainSid(sid); LoanSettleCompanyReduction reduction = loanSettleCompanyReductionService.selectByMainSid(sid);
@ -1744,13 +1753,13 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
} }
//剩余贷款保证金结转 //剩余贷款保证金结转
if (check == 1) { if (check == 1) {
if (sybzj.compareTo(BigDecimal.ZERO) > 0) { if (actualDeposit.compareTo(BigDecimal.ZERO) > 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setSceneCode("剩余贷款保证金结转"); voucherDetail.setSceneCode("剩余贷款保证金结转");
voucherDetail.setBankName(planDetails.getBankName()); voucherDetail.setBankName(planDetails.getBankName());
voucherDetail.setDeptCode(deptCode); voucherDetail.setDeptCode(deptCode);
voucherDetail.setCustomerCode(customerNumber); voucherDetail.setCustomerCode(customerNumber);
voucherDetail.setAmount(sybzj); voucherDetail.setAmount(actualDeposit);
voucherDetails.add(voucherDetail); voucherDetails.add(voucherDetail);
} }
} }
@ -2874,8 +2883,12 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
} }
loanSettleApply.setState(1); loanSettleApply.setState(1);
baseMapper.updateById(loanSettleApply); baseMapper.updateById(loanSettleApply);
BigDecimal actualDeposit = BigDecimal.ZERO;
//结转剩余保证金 //结转剩余保证金
carryForward(loanSettleApply); BigDecimal decimal = carryForward(loanSettleApply);
if (null != decimal) {
actualDeposit = decimal;
}
//更新车辆表结清状态 //更新车辆表结清状态
baseMapper.updateBus(loanSettleApply.getBusVinSid(), "1"); baseMapper.updateBus(loanSettleApply.getBusVinSid(), "1");
//推送资方结清款到出纳代付款列表 //推送资方结清款到出纳代付款列表
@ -2883,7 +2896,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
//设置认款月还为已转付 //设置认款月还为已转付
updatePaymentStateByBusVinSid(loanSettleApply.getBusVinSid()); updatePaymentStateByBusVinSid(loanSettleApply.getBusVinSid());
//推送财务凭证 //推送财务凭证
pushSettleVoucher(loanSettleApply,1); pushSettleVoucher(loanSettleApply,1,actualDeposit);
return rb.success(); return rb.success();
} }

Loading…
Cancel
Save