Browse Source

销售订单金融方案调整

master
dimengzhe 1 year ago
parent
commit
e21880b217
  1. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/SolutionsDetailsssVo.java
  2. 16
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  3. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java
  4. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDetailsVo.java
  5. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssDto.java
  6. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssVo.java
  7. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/calculate/CalculateQuery.java
  8. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/calculate/CalculateVo.java
  9. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutionsdetail/LoanSolutionsDetail.java
  10. 30
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java
  11. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionVo.java
  12. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionsDetailsVo.java
  13. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionssDto.java

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/SolutionsDetailsssVo.java

@ -175,4 +175,7 @@ public class SolutionsDetailsssVo {
private String bondTypeKey;
@ApiModelProperty("抵顶配件项")
private String offsetAccessories;
}

16
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -1876,7 +1876,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
} else {
vo.setMain(true);
}
}else{
} else {
vo.setMain(true);
}
}
@ -3284,6 +3284,20 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (new BigDecimal(solutionsDetailsVo.getRealTotal()).compareTo(busSalesOrderDeposit.getDeposit()) < 0) {
return rb.setMsg("金融方案中实收金额小于单台订金");
}
BigDecimal AmountAll = BigDecimal.ZERO;
if (StringUtils.isNotBlank(solutionsDetailsVo.getMainVehicleAmount())) {
//主车发票价
AmountAll = AmountAll.add(new BigDecimal(solutionsDetailsVo.getMainVehicleAmount()));
}
if (solutionsDetailsVo.isAccessoriesAmountCb()) {//包含配件
if (StringUtils.isNotBlank(solutionsDetailsVo.getAccessoriesAmount())) {
AmountAll = AmountAll.add(new BigDecimal(solutionsDetailsVo.getAccessoriesAmount()));
}
}
//判断成交价与主车发票价和配件之和
if (AmountAll.compareTo(new BigDecimal(busSalesOrderPriceDetailsVo.getSingleFinalPrice())) < 0) {
return rb.setMsg("主车发票价与配件之和不能小于订单成交价");
}
} else {
if (StringUtils.isNotBlank(solutionsDetailsVo.getTypeKey())) {
if (!"02".equals(solutionsDetailsVo.getTypeKey())) {

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java

@ -172,5 +172,8 @@ public class SolutionDetailsDto implements Dto {
private int saleOrderState = 0;
@ApiModelProperty("抵顶配件项")
private String offsetAccessories;
}

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDetailsVo.java

@ -192,5 +192,8 @@ public class SolutionsDetailsVo implements Vo {
@ApiModelProperty("保证金类型01固定,02敞口")
private String bondTypeKey;
@ApiModelProperty("抵顶配件项")
private String offsetAccessories;
}

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssDto.java

@ -171,4 +171,7 @@ public class SolutionssDto implements Dto {
private String otherActualDiscount;
private int saleOrderState;
@ApiModelProperty("抵顶配件项")
private String offsetAccessories;
}

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssVo.java

@ -183,5 +183,8 @@ public class SolutionssVo implements Vo {
@ApiModelProperty("保证金类型01固定,02敞口")
private String bondTypeKey;
@ApiModelProperty("抵顶配件项")
private String offsetAccessories;
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/calculate/CalculateQuery.java

@ -101,4 +101,6 @@ public class CalculateQuery {
private String offsetPremium;
@ApiModelProperty("抵顶购置税")
private String offsetPurchasetax;
@ApiModelProperty("抵顶配件项")
private String offsetAccessories;
}

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/calculate/CalculateVo.java

@ -64,5 +64,8 @@ public class CalculateVo {
@ApiModelProperty("其他融实际贴息")
private String otherActualDiscount;
@ApiModelProperty("抵顶配件项")
private String offsetAccessories;
}

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutionsdetail/LoanSolutionsDetail.java

@ -77,6 +77,9 @@ public class LoanSolutionsDetail extends BaseEntity {
@ApiModelProperty("代收合计")
private BigDecimal proxyTotal;
@ApiModelProperty("抵顶配件项")
private BigDecimal offsetAccessories;
/*

30
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java

@ -1236,6 +1236,9 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
}
orderPrice = busSalesOrderPrice.getSingleFinalPrice();
}
//(合同价+挂车+购置税+保险)
BigDecimal bilAll = BigDecimal.ZERO;
bilAll = bilAll.add(orderPrice);
CalculateVo calculateVo = new CalculateVo();
//计算的初始化
BigDecimal loanTotal = BigDecimal.ZERO;//融资项目总额
@ -1249,6 +1252,8 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
BigDecimal vehTotalPrice = BigDecimal.ZERO;
BigDecimal interstAll = BigDecimal.ZERO;
BigDecimal yueAll = BigDecimal.ZERO;
//配件抵顶项
BigDecimal offsetAccessoriesBig = BigDecimal.ZERO;
/***************相关计算及字段*****************/
BigDecimal AmountAll = BigDecimal.ZERO;
@ -1280,13 +1285,16 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
//主车发票价
loanTotal = loanTotal.add(new BigDecimal(mainVehicleAmount));
AmountAll = AmountAll.add(new BigDecimal(mainVehicleAmount));
offsetAccessoriesBig = offsetAccessoriesBig.add(new BigDecimal(mainVehicleAmount));
}
if (accessoriesAmountCb) {//包含配件
if (StringUtils.isNotBlank(accessoriesAmount)) {
loanTotal = loanTotal.add(new BigDecimal(accessoriesAmount));
AmountAll = AmountAll.add(new BigDecimal(accessoriesAmount));
offsetAccessoriesBig = offsetAccessoriesBig.add(new BigDecimal(accessoriesAmount));
}
}
offsetAccessoriesBig = offsetAccessoriesBig.subtract(orderPrice);
if(isOrder){
//判断成交价与主车发票价和配件之和
if(AmountAll.compareTo(orderPrice)<0){
@ -1296,6 +1304,7 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
if (trailerAmountCb) {//包含挂车
if (StringUtils.isNotBlank(trailerAmount)) {
loanTotal = loanTotal.add(new BigDecimal(trailerAmount));
bilAll = bilAll.add(new BigDecimal(trailerAmount));
}
}
//判断是否打包
@ -1303,6 +1312,7 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
if (premiumCb) {//包含保险
if (StringUtils.isNotBlank(premium)) {
loanTotal = loanTotal.add(new BigDecimal(premium));
bilAll = bilAll.add(new BigDecimal(premium));
}
} else {
if (StringUtils.isNotBlank(premium)) {
@ -1312,6 +1322,7 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
if (purchaseTaxCb) {//包含购置税
if (StringUtils.isNotBlank(purchaseTax)) {
loanTotal = loanTotal.add(new BigDecimal(purchaseTax));
bilAll = bilAll.add(new BigDecimal(purchaseTax));
}
} else {
if (StringUtils.isNotBlank(purchaseTax)) {
@ -1502,10 +1513,18 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
} else {
otherPolicyPeriod = "0";
}
if(offsetAccessoriesBig.compareTo(BigDecimal.ZERO)>0){
calculateVo.setOffsetAccessories(offsetAccessoriesBig.toString());
}else{
offsetAccessoriesBig = BigDecimal.ZERO;
calculateVo.setOffsetAccessories(offsetAccessoriesBig.toString());
}
/************************计算融资首付********************************/
calculateVo.setLoanDownPay(loanDownPay.setScale(0, BigDecimal.ROUND_HALF_UP).toString());
//实际首付比例 = (融资首付/融资项目总额)x100
downPayAmountsRatio = loanDownPay.divide(loanTotal, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100"));
// downPayAmountsRatio = loanDownPay.divide(loanTotal, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100"));
downPayAmountsRatio = loanDownPay.divide(bilAll, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100"));
downPayAmountsRatio = downPayAmountsRatio.setScale(2, BigDecimal.ROUND_HALF_UP);
calculateVo.setDownPayAmountsRatio(downPayAmountsRatio.toString());
if (otherPolicyState) {//包含
@ -1658,6 +1677,7 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
if (StringUtils.isNotBlank(offsetPurchasetax)) {
offsetTotal = offsetTotal.add(new BigDecimal(offsetPurchasetax));
}
offsetTotal = offsetTotal.add(offsetAccessoriesBig);
calculateVo.setOffsetTotal(offsetTotal.toString());
//实收合计 = 应收合计-抵顶合计
BigDecimal realTotal = receivableTotal.subtract(offsetTotal);
@ -2364,6 +2384,14 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
offsetPurchasetaxValue = offsetPurchasetaxValue.append("抵顶购置税:").append("-");
}
list.add(getValueSpanSize(offsetPurchasetaxValue.toString(), 1, 0, false));
//配件抵顶
StringBuilder offsetAccessoriesValue = new StringBuilder();
if (StringUtils.isNotBlank(solutionssVo.getOffsetAccessories())) {
if(new BigDecimal(solutionssVo.getOffsetAccessories()).compareTo(BigDecimal.ZERO)>0){
offsetAccessoriesValue = offsetAccessoriesValue.append("配件抵顶:").append(solutionssVo.getOffsetAccessories());
list.add(getValueSpanSize(offsetAccessoriesValue.toString(), 1, 0, false));
}
}
//实收合计
StringBuilder realTotalValue = new StringBuilder();
if (StringUtils.isNotBlank(solutionssVo.getRealTotal())) {

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionVo.java

@ -217,5 +217,8 @@ public class AppSolutionVo {
@ApiModelProperty("保证金类型01固定,02敞口")
private String bondTypeKey;
@ApiModelProperty("抵顶配件项")
private String offsetAccessories;
}

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionsDetailsVo.java

@ -190,4 +190,7 @@ public class AppSolutionsDetailsVo implements Vo {
@ApiModelProperty("保证金类型01固定,02敞口")
private String bondTypeKey;
@ApiModelProperty("抵顶配件项")
private String offsetAccessories;
}

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionssDto.java

@ -172,4 +172,7 @@ public class AppSolutionssDto implements Dto {
private String actualDiscount;
@ApiModelProperty("其他融实际贴息")
private String otherActualDiscount;
@ApiModelProperty("抵顶配件项")
private String offsetAccessories;
}

Loading…
Cancel
Save