|
@ -879,11 +879,15 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
BigDecimal rate2 = new BigDecimal("0.144"); //利率14.4%
|
|
|
BigDecimal rate2 = new BigDecimal("0.144"); //利率14.4%
|
|
|
BigDecimal fund = BigDecimal.ZERO; //减免后的占用费年利率
|
|
|
BigDecimal fund = BigDecimal.ZERO; //减免后的占用费年利率
|
|
|
BigDecimal fundJm = BigDecimal.ZERO; //减免后的占用费年利率
|
|
|
BigDecimal fundJm = BigDecimal.ZERO; //减免后的占用费年利率
|
|
|
|
|
|
BigDecimal depositJZ = BigDecimal.ZERO; //结转贷款保证金
|
|
|
LoanSettleCompanyCost companyCost = loanSettleCompanyCostService.selectByMainSid(businessSid); |
|
|
LoanSettleCompanyCost companyCost = loanSettleCompanyCostService.selectByMainSid(businessSid); |
|
|
if (null != companyCost) { |
|
|
if (null != companyCost) { |
|
|
if (null != companyCost.getFunfCost()) { |
|
|
if (null != companyCost.getFunfCost()) { |
|
|
fund = companyCost.getFunfCost(); |
|
|
fund = companyCost.getFunfCost(); |
|
|
} |
|
|
} |
|
|
|
|
|
if (null != companyCost.getLoanDeposit()) { |
|
|
|
|
|
depositJZ = companyCost.getLoanDeposit(); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
LoanSettleCompanyReduction reduction2 = loanSettleCompanyReductionService.selectByMainSid(businessSid); |
|
|
LoanSettleCompanyReduction reduction2 = loanSettleCompanyReductionService.selectByMainSid(businessSid); |
|
|
if (null != reduction2) { |
|
|
if (null != reduction2) { |
|
@ -949,8 +953,14 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
reliefMoney(loanSettleApply); |
|
|
reliefMoney(loanSettleApply); |
|
|
if (amountTo.compareTo(BigDecimal.ZERO) <= 0) { |
|
|
if (amountTo.compareTo(BigDecimal.ZERO) <= 0) { |
|
|
//减免后结清合计 <= 0
|
|
|
//减免后结清合计 <= 0
|
|
|
//结转剩余保证金
|
|
|
int check = 0;// 0不推抵顶保证金凭证 1推送
|
|
|
carryForward(loanSettleApply); |
|
|
//结清合计 + 贷款保证金结转金额
|
|
|
|
|
|
BigDecimal add = amountTo.add(depositJZ); |
|
|
|
|
|
if (add.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
|
|
//结转剩余保证金
|
|
|
|
|
|
carryForward(loanSettleApply); |
|
|
|
|
|
check = 1; |
|
|
|
|
|
} |
|
|
//设置结清申请的“客户结清确认”状态为是
|
|
|
//设置结清申请的“客户结清确认”状态为是
|
|
|
loanSettleApply.setState(1); |
|
|
loanSettleApply.setState(1); |
|
|
//更新车辆表结清状态
|
|
|
//更新车辆表结清状态
|
|
@ -960,7 +970,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
//设置认款月还为已转付
|
|
|
//设置认款月还为已转付
|
|
|
updatePaymentStateByBusVinSid(loanSettleApply.getBusVinSid()); |
|
|
updatePaymentStateByBusVinSid(loanSettleApply.getBusVinSid()); |
|
|
//推送财务凭证
|
|
|
//推送财务凭证
|
|
|
pushSettleVoucher(loanSettleApply); |
|
|
pushSettleVoucher(loanSettleApply,check); |
|
|
} |
|
|
} |
|
|
baseMapper.updateById(loanSettleApply); |
|
|
baseMapper.updateById(loanSettleApply); |
|
|
} else { |
|
|
} else { |
|
@ -1153,9 +1163,6 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
private void carryForward(LoanSettleApply loanSettleApply) { |
|
|
private void carryForward(LoanSettleApply loanSettleApply) { |
|
|
String userSid = loanSettleApply.getCreateBySid(); |
|
|
String userSid = loanSettleApply.getCreateBySid(); |
|
|
BigDecimal deposit = BigDecimal.ZERO; // 贷款保证金 - (扣罚金额-贷款保证金减免)
|
|
|
BigDecimal deposit = BigDecimal.ZERO; // 贷款保证金 - (扣罚金额-贷款保证金减免)
|
|
|
// BigDecimal depositKF = BigDecimal.ZERO; // 贷款保证金 - (扣罚金额-贷款保证金减免)
|
|
|
|
|
|
// BigDecimal depositJM = BigDecimal.ZERO; // 贷款保证金 - (扣罚金额-贷款保证金减免)
|
|
|
|
|
|
// BigDecimal amountTo = BigDecimal.ZERO; // 资方结清合计
|
|
|
|
|
|
String busVinSid = loanSettleApply.getBusVinSid(); |
|
|
String busVinSid = loanSettleApply.getBusVinSid(); |
|
|
List<LoanRepaymentHistory> histories = new ArrayList<>();//还款记录
|
|
|
List<LoanRepaymentHistory> histories = new ArrayList<>();//还款记录
|
|
|
List<LoanRepaymentPlanDetails> updatePsList = new ArrayList<>();//还款计划明细集合
|
|
|
List<LoanRepaymentPlanDetails> updatePsList = new ArrayList<>();//还款计划明细集合
|
|
@ -1172,24 +1179,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
if (null != companyCost.getLoanDeposit()) { |
|
|
if (null != companyCost.getLoanDeposit()) { |
|
|
deposit = companyCost.getLoanDeposit(); |
|
|
deposit = companyCost.getLoanDeposit(); |
|
|
} |
|
|
} |
|
|
// if (null != companyCost.getDeductionAmount()) {
|
|
|
|
|
|
// depositKF = companyCost.getDeductionAmount();
|
|
|
|
|
|
// }
|
|
|
|
|
|
} |
|
|
} |
|
|
// LoanSettleCompanyReduction reduction = loanSettleCompanyReductionService.selectByMainSid(loanSettleApply.getSid());
|
|
|
|
|
|
// if (null != reduction) {
|
|
|
|
|
|
// if (null != reduction.getDepositPenalty()) {
|
|
|
|
|
|
// depositJM = reduction.getDepositPenalty();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// if (null != reduction.getAmountTo()) {
|
|
|
|
|
|
// amountTo = reduction.getAmountTo();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
// if (amountTo.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
|
|
// deposit = deposit.subtract(depositKF).add(depositJM);
|
|
|
|
|
|
// } else if (amountTo.compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
|
|
|
// deposit = deposit.subtract(depositKF).add(depositJM).add(amountTo);
|
|
|
|
|
|
// }
|
|
|
|
|
|
//按照顺序结转
|
|
|
//按照顺序结转
|
|
|
//月还
|
|
|
//月还
|
|
|
if (deposit.compareTo(BigDecimal.ZERO) > 0) { |
|
|
if (deposit.compareTo(BigDecimal.ZERO) > 0) { |
|
@ -1639,7 +1629,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//--------推送财务结清凭证------------------
|
|
|
//--------推送财务结清凭证------------------
|
|
|
private void pushSettleVoucher(LoanSettleApply loanSettleApply) { |
|
|
private void pushSettleVoucher(LoanSettleApply loanSettleApply,int check) { |
|
|
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); |
|
@ -1753,14 +1743,16 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
voucherDetails.add(voucherDetail); |
|
|
voucherDetails.add(voucherDetail); |
|
|
} |
|
|
} |
|
|
//剩余贷款保证金结转
|
|
|
//剩余贷款保证金结转
|
|
|
if (sybzj.compareTo(BigDecimal.ZERO) > 0) { |
|
|
if (check == 1) { |
|
|
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); |
|
|
if (sybzj.compareTo(BigDecimal.ZERO) > 0) { |
|
|
voucherDetail.setSceneCode("剩余贷款保证金结转"); |
|
|
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); |
|
|
voucherDetail.setBankName(planDetails.getBankName()); |
|
|
voucherDetail.setSceneCode("剩余贷款保证金结转"); |
|
|
voucherDetail.setDeptCode(deptCode); |
|
|
voucherDetail.setBankName(planDetails.getBankName()); |
|
|
voucherDetail.setCustomerCode(customerNumber); |
|
|
voucherDetail.setDeptCode(deptCode); |
|
|
voucherDetail.setAmount(sybzj); |
|
|
voucherDetail.setCustomerCode(customerNumber); |
|
|
voucherDetails.add(voucherDetail); |
|
|
voucherDetail.setAmount(sybzj); |
|
|
|
|
|
voucherDetails.add(voucherDetail); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
//贷款保证金扣罚
|
|
|
//贷款保证金扣罚
|
|
|
if (bzjKFCw.compareTo(BigDecimal.ZERO) > 0) { |
|
|
if (bzjKFCw.compareTo(BigDecimal.ZERO) > 0) { |
|
@ -2882,6 +2874,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
} |
|
|
} |
|
|
loanSettleApply.setState(1); |
|
|
loanSettleApply.setState(1); |
|
|
baseMapper.updateById(loanSettleApply); |
|
|
baseMapper.updateById(loanSettleApply); |
|
|
|
|
|
//结转剩余保证金
|
|
|
carryForward(loanSettleApply); |
|
|
carryForward(loanSettleApply); |
|
|
//更新车辆表结清状态
|
|
|
//更新车辆表结清状态
|
|
|
baseMapper.updateBus(loanSettleApply.getBusVinSid(), "1"); |
|
|
baseMapper.updateBus(loanSettleApply.getBusVinSid(), "1"); |
|
@ -2890,7 +2883,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
//设置认款月还为已转付
|
|
|
//设置认款月还为已转付
|
|
|
updatePaymentStateByBusVinSid(loanSettleApply.getBusVinSid()); |
|
|
updatePaymentStateByBusVinSid(loanSettleApply.getBusVinSid()); |
|
|
//推送财务凭证
|
|
|
//推送财务凭证
|
|
|
pushSettleVoucher(loanSettleApply); |
|
|
pushSettleVoucher(loanSettleApply,1); |
|
|
return rb.success(); |
|
|
return rb.success(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|