diff --git a/anrui-portal/anrui-portal-biz/src/test/java/com/yxt/anrui/portal/test/controller/ArithmeticController.java b/anrui-portal/anrui-portal-biz/src/test/java/com/yxt/anrui/portal/test/controller/ArithmeticController.java
index 34b20feb41..e86e2fffa8 100644
--- a/anrui-portal/anrui-portal-biz/src/test/java/com/yxt/anrui/portal/test/controller/ArithmeticController.java
+++ b/anrui-portal/anrui-portal-biz/src/test/java/com/yxt/anrui/portal/test/controller/ArithmeticController.java
@@ -19,18 +19,47 @@ import java.util.Map;
public class ArithmeticController {
public static void main(String[] args) {
- System.out.println("======get5");
- get5(30000, 0.02, 3);
- System.out.println("======get4");
- get4(30000, 0.02, 3);
- System.out.println("======get3");
- get3(30000, 0.02, 3);
- System.out.println("=======get2");
- get2(30000, 0.02, 3);
- System.out.println("=======get1");
+// System.out.println("======get5");
+// get5(30000, 0.02, 3);
+// System.out.println("======get4");
+// get4(30000, 0.02, 3);
+// System.out.println("======get3");
+// get3(30000, 0.02, 3);
+// System.out.println("=======get2");
+// get2(30000, 0.02, 3);
+// System.out.println("=======get1");
// get1(30000, 0.02, 3);
- System.out.println("========get");
- get(30000, 0.02, 3);
+// System.out.println("========get");
+// get(30000, 0.02, 3);
+
+ calculatePMT(0.06, 6, 95000);
+ }
+
+ /**
+ * 计算月还
+ *
+ * @param rate 年利率
+ * @param nper 总期数
+ * @param pv 贷款金额
+ * @return
+ */
+ public static double calculatePMT(double rate, double nper, double pv) {
+ /* double v = (1 + (rate / 12));
+ double t = (-(nper / 12) * 12);
+ double result = (pv * (rate / 12)) / (1 - Math.pow(v, t));
+ System.out.println("result==========="+result);
+ BigDecimal bigDecimal = new BigDecimal(result);
+ bigDecimal = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP);
+ System.out.println("bigDecimal================"+bigDecimal);
+ return result;*/
+ double v = (1 + (rate / 12));
+ double t = (-(nper / nper) * nper);
+ double result = (pv * (rate / 12)) / (1 - Math.pow(v, t));
+ System.out.println("result==========="+result);
+ BigDecimal bigDecimal = new BigDecimal(result);
+ bigDecimal = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP);
+ System.out.println("bigDecimal================"+bigDecimal);
+ return result;
}
/**
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/OtherPolicyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/OtherPolicyVo.java
index b574c2b185..9125634f87 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/OtherPolicyVo.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/OtherPolicyVo.java
@@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.api.loanfinotherPolicy;
import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -15,4 +16,10 @@ public class OtherPolicyVo implements Vo {
private String sid;
private String name;
+ @ApiModelProperty("年利率")
+ private String yearRatio;
+ @ApiModelProperty("期数")
+ private String period;
+ @ApiModelProperty("期数key")
+ private String periodKey;
}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java
index d1c248145d..c9594c1fce 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java
@@ -92,5 +92,10 @@ public class LoanFinPolicyDto implements Dto {
@ApiModelProperty("备注")
private String remarks;
+ @ApiModelProperty("贴息放款类型")
+ private String discountUseType;
+ @ApiModelProperty("贴息放款类型key")
+ private String discountUseTypeKey;
+
}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyVo.java
index 9f12b475dd..2a5934ca1e 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyVo.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyVo.java
@@ -92,4 +92,9 @@ public class LoanFinPolicyVo implements Vo {
private String remarks;
private String orgPath;
private String userSid;
+
+ @ApiModelProperty("贴息放款类型")
+ private String discountUseType;
+ @ApiModelProperty("贴息放款类型key")
+ private String discountUseTypeKey;
}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/PolicyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/PolicyVo.java
index 62db8faf2b..c168f297cd 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/PolicyVo.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/PolicyVo.java
@@ -17,4 +17,20 @@ public class PolicyVo implements Vo {
private String name;
@ApiModelProperty("产品政策sid")
private String sid;
+
+ @ApiModelProperty("首付比例")
+ private String downPayRatio;
+ @ApiModelProperty("首付比例key")
+ private String downPayRatioKey;
+ @ApiModelProperty("期数")
+ private String period;
+ @ApiModelProperty("期数key")
+ private String periodKey;
+ @ApiModelProperty("保证金比例")
+ private String bondRatio;
+ @ApiModelProperty("保证金比例key")
+ private String bondRatioKey;
+ @ApiModelProperty("标准年利率")
+ private String yearRatio;
+
}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutions.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutions.java
index 8b986bbd6a..57657f220a 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutions.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutions.java
@@ -69,6 +69,8 @@ public class LoanSolutions extends BaseEntity {
private BigDecimal factoryDiscount;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUse;
+ @ApiModelProperty("厂家贴息用途")
+ private String factoryDiscountUseKey;
@ApiModelProperty("政策年利率")
private String policyYearRatio;
@ApiModelProperty("贷款月还")
@@ -88,8 +90,10 @@ public class LoanSolutions extends BaseEntity {
@ApiModelProperty("是否勾选其它融")
private int otherPolicyState;
- @ApiModelProperty("是否是销售订单关联的")
+ @ApiModelProperty("是否是销售订单关联的:0是,1为定制金融方案")
private int saleOrderState;
+ @ApiModelProperty("贴息抵车款")
+ private BigDecimal discountCar;
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java
new file mode 100644
index 0000000000..6b6b8bcc1b
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java
@@ -0,0 +1,163 @@
+package com.yxt.anrui.riskcenter.api.loansolutions;
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2023/3/22 15:02
+ * @Description
+ */
+@Data
+public class SolutionDetailsDto implements Dto {
+ private static final long serialVersionUID = 3094344495849727373L;
+
+ /**************************金融方案主表****************************/
+ @ApiModelProperty("关联sid")
+ private String busSid;
+ @ApiModelProperty("是否打包:1是0否")
+ private String isPack;
+ @ApiModelProperty("产品政策名称")
+ private String policyName;
+ @ApiModelProperty("产品政策sid")
+ private String policySid;
+ @ApiModelProperty("主车发票价")
+ private String mainVehicleAmount;
+ @ApiModelProperty("融资票据")
+ private String accessoriesAmount;
+ @ApiModelProperty("是否有融资票据")
+ private boolean accessoriesAmountCb;
+ @ApiModelProperty("挂车金额")
+ private String trailerAmount;
+ @ApiModelProperty("是否有挂车")
+ private boolean trailerAmountCb;
+ @ApiModelProperty("保险金额")
+ private String premium;
+ @ApiModelProperty("是否有保险")
+ private boolean premiumCb;
+ @ApiModelProperty("购置税")
+ private String purchaseTax;
+ @ApiModelProperty("是否有购置税")
+ private boolean purchaseTaxCb;
+ @ApiModelProperty("融资项目总额")
+ private String loanTotal;
+ @ApiModelProperty("首付款比例")
+ private String downPayRatio;
+ @ApiModelProperty("首付金额")
+ @NotBlank(message = "首付金额不能为空")
+ private String downPayAmount;
+ @ApiModelProperty("贷款金额")
+ private String loanAmount;
+ @ApiModelProperty("贷款期数")
+ @NotBlank(message = "产品期数不能为空")
+ private String loanPeriod;
+ @ApiModelProperty("贷款保证金比例")
+ private String bondRatio;
+ @ApiModelProperty("贷款保证金金额")
+ @NotBlank(message = "贷款保证金不能为空")
+ private String bondAmount;
+ @ApiModelProperty("厂家贴息")
+ @NotBlank(message = "厂家贴息不能为空")
+ private String factoryDiscount;
+ @ApiModelProperty("厂家贴息用途")
+ private String factoryDiscountUse;
+ @ApiModelProperty("厂家贴息用途")
+ private String factoryDiscountUseKey;
+ @ApiModelProperty("年利率")
+ private String policyYearRatio;
+ @ApiModelProperty("月还金额")
+ @NotBlank(message = "月还金额不能为空")
+ private String loanPayMoney;
+ @ApiModelProperty("利息总额")
+ private String loanInterest;
+ @ApiModelProperty("是否勾选其它融")
+ private boolean otherPolicyState;
+
+ @ApiModelProperty("贴息抵车款")
+ private String discountCar;
+
+ /*************************其他融和方案汇总*********************************/
+ @ApiModelProperty("其它融名称")
+ private String otherPolicyName;
+ @ApiModelProperty("其它融贷款金额")
+ private String otherPolicyAmount;
+ @ApiModelProperty("其它融期数")
+ private String otherPolicyPeriod;
+ @ApiModelProperty("其它融月还")
+ private String otherPolicyMonthlyRepay;
+ @ApiModelProperty("其它融利息总额")
+ private String otherPolicyInterest;
+ @ApiModelProperty("其它融年利率")
+ private String otherPolicyYearRatio;
+
+ @ApiModelProperty("'融资首付")
+ private String loanDownPay;
+ @ApiModelProperty("实际首付比例")
+ private String downPayAmountsRatio;
+ @ApiModelProperty("总贷款金额")
+ private String loanAmountTotal;
+ @ApiModelProperty("期数")
+ private String period;
+ @ApiModelProperty("月还金额")
+ private String monthlyRepay;
+ @ApiModelProperty("利息总额")
+ private String interest;
+ @ApiModelProperty("预计首期还款日")
+ private String returnTime;
+
+
+ /*********************************金融方案费用明细*****************************/
+
+ @ApiModelProperty("融资首付")
+ private String downPayAmounts;
+ @ApiModelProperty("贷款保证金")
+ private String bondAmounts;
+ @ApiModelProperty("保险保证金")
+ private String depositPremium;
+ @ApiModelProperty("落户保证金")
+ private String depositSettle;
+ @ApiModelProperty("服务费")
+ @NotBlank(message = "服务费不能为空")
+ private String serviceAmount;
+ @ApiModelProperty("代收意外险")
+ private String proxyAccidentPremium;
+ @ApiModelProperty("上牌费")
+ private String registerAmount;
+ @ApiModelProperty("运管费")
+ private String operationAmount;
+ @ApiModelProperty("补车价")
+ private String vehOtherPrice;
+ @ApiModelProperty("其它费用")
+ private String otherAmount;
+ @ApiModelProperty("其它费用说明")
+ private String otherAmountRemark;
+ @ApiModelProperty("办理方式选择")
+ private String dealWay;
+ @ApiModelProperty("办理方式选择key")
+ private String dealWayKey;
+ @ApiModelProperty("代收合计")
+ private String proxyTotal;
+ @ApiModelProperty("代收首年保险费")
+ private String proxyPremium;
+ @ApiModelProperty("代收购置费")
+ private String proxyPurchasetax;
+ @ApiModelProperty("抵顶首年保险费")
+ private String offsetPremium;
+ @ApiModelProperty("抵顶购置税")
+ private String offsetPurchasetax;
+ @ApiModelProperty("抵顶费用合计")
+ private String offsetTotal;
+ @ApiModelProperty("应收合计")
+ private String receivableTotal;
+ @ApiModelProperty("实收合计")
+ private String realTotal;
+ @ApiModelProperty("车辆总价")
+ private String vehTotalPrice;
+ @ApiModelProperty("名义留购价")
+ private String nominalPrice;
+
+
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutionsdetail/LoanSolutionsDetail.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutionsdetail/LoanSolutionsDetail.java
index 92e67ed9df..d75e8620ad 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutionsdetail/LoanSolutionsDetail.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutionsdetail/LoanSolutionsDetail.java
@@ -74,6 +74,8 @@ public class LoanSolutionsDetail extends BaseEntity {
private BigDecimal vehTotalPrice;
@ApiModelProperty("名义留购价")
private BigDecimal nominalPrice;
+ @ApiModelProperty("代收合计")
+ private BigDecimal proxyTotal;
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateDetailsVo.java
index 251e48f0e9..f76b224182 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateDetailsVo.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateDetailsVo.java
@@ -40,9 +40,11 @@ public class LoanTemplateDetailsVo implements Vo {
@ApiModelProperty("更多配置名称")
private String vehModelConfigMore;
@ApiModelProperty("单台指导价")
- private BigDecimal vehPrice;
+ private String vehPrice;
@ApiModelProperty("合格证公告型号")
private String vehNoticeModel;
+ @ApiModelProperty("合格证公告型号sid")
+ private String vehNoticeModelSid;
@ApiModelProperty("是否包含上装")
private boolean install;
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/TemplateApplyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/TemplateApplyVo.java
index 35ce315185..228591413e 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/TemplateApplyVo.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/TemplateApplyVo.java
@@ -1,9 +1,57 @@
package com.yxt.anrui.riskcenter.api.loantemplate;
+import com.yxt.anrui.riskcenter.api.loantemplateinstall.LoanTemplateInstallVo;
+import com.yxt.anrui.riskcenter.api.loantemplatetrailer.LoanTemplateTrailerVo;
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/19
**/
-public class TemplateApplyVo {
+@Data
+public class TemplateApplyVo implements Vo {
+ private static final long serialVersionUID = 6376454518435397557L;
+
+ private String sid;
+ @ApiModelProperty("用户sid")
+ private String userSid;
+ @ApiModelProperty("车型全组织sid")
+ private String modelOrgPath;
+ @ApiModelProperty("模板名称")
+ private String templateName;
+ @ApiModelProperty("方案key")
+ private String showTypeKey;
+ @ApiModelProperty("方案value")
+ private String showTypeValue;
+ @ApiModelProperty("车型sid")
+ private String vehModelSid;
+ @ApiModelProperty("车型名称")
+ private String vehModel;
+ @ApiModelProperty("配置sid")
+ private String vehModelConfigSid;
+ @ApiModelProperty("常用配置名称")
+ private String vehModelConfig;
+ @ApiModelProperty("更多配置名称")
+ private String vehModelConfigMore;
+ @ApiModelProperty("单台指导价")
+ private String vehPrice;
+ @ApiModelProperty("合格证公告型号")
+ private String vehNoticeModel;
+
+ @ApiModelProperty("是否包含上装")
+ private boolean install;
+ @ApiModelProperty("是否包含挂车")
+ private boolean trailer;
+
+ @ApiModelProperty("上装信息")
+ private LoanTemplateInstallVo loanTemplateInstall;
+ @ApiModelProperty("挂车信息")
+ private LoanTemplateTrailerVo loanTemplateTrailer;
+ @ApiModelProperty("消贷金融方案")
+ private LoanTemplateSolutionsVo loanTemplateSolutions;
}
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/calculate/CalculateService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/calculate/CalculateService.java
new file mode 100644
index 0000000000..4e12d3d684
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/calculate/CalculateService.java
@@ -0,0 +1,45 @@
+package com.yxt.anrui.riskcenter.biz.calculate;
+
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+
+/**
+ * @description: 计算公式
+ * @author: dimengzhe
+ * @date: 2023/8/8
+ **/
+@Service
+public class CalculateService {
+
+ /**
+ * 计算月还
+ * @return
+ */
+ public String calculatePMT(double rate, double nper, double pv){
+ double v = (1 + (rate / 12));
+ double t = (-(nper / nper) * nper);
+ double result = (pv * (rate / 12)) / (1 - Math.pow(v, t));
+ System.out.println("result==========="+result);
+ BigDecimal bigDecimal = new BigDecimal(result);
+ bigDecimal = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP);
+ return bigDecimal.toString();
+ }
+
+ public String calculatePMT1(String rate, String nper, String pv){
+ BigDecimal rateBigDecimal = new BigDecimal(rate);
+ double doubleRate = rateBigDecimal.doubleValue();
+ BigDecimal nperBigDecimal = new BigDecimal(nper);
+ double nperDouble = nperBigDecimal.doubleValue();
+ BigDecimal pvBigDecimal = new BigDecimal(pv);
+ double pvDouble = pvBigDecimal.doubleValue();
+ double v = (1 + (doubleRate / 12));
+ double t = (-(nperDouble / nperDouble) * nperDouble);
+ double result = (pvDouble * (doubleRate / 12)) / (1 - Math.pow(v, t));
+ System.out.println("result==========="+result);
+ BigDecimal bigDecimal = new BigDecimal(result);
+ bigDecimal = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP);
+ return bigDecimal.toString();
+ }
+
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.xml
index a2c835439e..956b46f824 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.xml
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.xml
@@ -36,7 +36,7 @@
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java
index 1d4393dd87..c2d629dc8c 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java
@@ -7,6 +7,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderPriceInfoVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
+import com.yxt.anrui.riskcenter.api.loansolutions.SolutionDetailsDto;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDto;
import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetail;
@@ -17,6 +18,7 @@ import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -670,7 +672,7 @@ public class LoanSolutionsService extends MybatisBaseService 0) {
- return rb.setMsg("抵顶首年保险费不能超过保险费用");
- }
- }
- } else {
- loanTotal = loanTotal.add(new BigDecimal(BigInteger.ZERO));
- loanSolutions.setPremiumCb(0);
- }
+ loanSolutions.setPremiumCb(dto.isPremiumCb() ? 1 : 0);
+ loanSolutions.setPremium(StringUtils.isNotBlank(dto.getPremium()) ? new BigDecimal(dto.getPremium()) : BigDecimal.ZERO);
//是否勾选购置税
- if (dto.isPurchaseTaxCb()) {
- //购置税
- String purchaseTax = dto.getPurchaseTax();
- loanTotal = loanTotal.add(new BigDecimal(purchaseTax));
- loanSolutions.setPurchaseTax(new BigDecimal(purchaseTax));
- loanSolutions.setPurchaseTaxCb(1);
- if (StringUtils.isNotBlank(dto.getOffsetPurchasetax())) {
- if (new BigDecimal(dto.getOffsetPurchasetax()).compareTo(new BigDecimal(purchaseTax)) > 0) {
- return rb.setMsg("抵顶购置税不能超过购置税");
- }
- }
- } else {
- loanTotal = loanTotal.add(new BigDecimal(BigInteger.ZERO));
- loanSolutions.setPurchaseTaxCb(0);
- }
- loanSolutions.setLoanTotal(loanTotal);
- //产品贷款金额
- BigDecimal loanAmount = new BigDecimal(BigInteger.ZERO);
- BigDecimal downPayAmount = new BigDecimal(BigInteger.ZERO);
- //首付金额填写、首付款比例计算。首付款比例 = 首付金额/融资总额*100
- if (StringUtils.isNotBlank(dto.getDownPayAmount())) {
- //首付金额
- downPayAmount = downPayAmount.add(new BigDecimal(dto.getDownPayAmount()));
- //首付款比例
- String downPayRatio = "";
- BigDecimal downPayRatio1 = downPayAmount.divide(loanTotal, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
- downPayRatio = downPayRatio1.toString() + "%";
- //产品贷款金额 = 融资项目总额-首付金额
- loanAmount = loanTotal.subtract(downPayAmount);
- loanSolutions.setDownPayAmount(downPayAmount);
- loanSolutions.setDownPayRatio(downPayRatio);
- } else {
- loanAmount = loanTotal;
- loanSolutions.setDownPayAmount(BigDecimal.ZERO);
- loanSolutions.setDownPayRatio("0");
- }
- loanSolutions.setLoanAmount(loanAmount);
-
+ loanSolutions.setPurchaseTaxCb(dto.isPurchaseTaxCb() ? 1 : 0);
+ loanSolutions.setPurchaseTax(StringUtils.isNotBlank(dto.getPurchaseTax()) ? new BigDecimal(dto.getPurchaseTax()) : BigDecimal.ZERO);
+ //项目融资总额
+ String loanTotal = dto.getLoanTotal();
+ loanSolutions.setLoanTotal(StringUtils.isNotBlank(loanTotal) ? new BigDecimal(loanTotal) : BigDecimal.ZERO);
+ //首付比例
+ String downPayRatio = dto.getDownPayRatio();
+ loanSolutions.setDownPayRatio(downPayRatio);
+ //首付金额
+ String downPayAmount = dto.getDownPayAmount();
+ loanSolutions.setDownPayAmount(StringUtils.isNotBlank(downPayAmount) ? new BigDecimal(downPayAmount) : BigDecimal.ZERO);
+ //贷款金额
+ String loanAmount = dto.getLoanAmount();
+ loanSolutions.setLoanAmount(StringUtils.isNotBlank(loanAmount) ? new BigDecimal(loanAmount) : BigDecimal.ZERO);
+ //贷款保证金比例
+ String bondRatio = dto.getBondRatio();
+ loanSolutions.setBondRatio(bondRatio);
+ //期数
loanSolutions.setLoanPeriod(loanPeriod);
- //贷款保证金填写、贷款保证金比例计算。贷款保证金比例 = 贷款保证金/贷款金额*100
- if (StringUtils.isNotBlank(dto.getBondAmount())) {
- //贷款保证金
- BigDecimal bondAmount = new BigDecimal(dto.getBondAmount());
- //贷款保证金比例
- String bondRatio = "";
- BigDecimal bondRatio1 = bondAmount.divide(loanAmount, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
- bondRatio = bondRatio1.toString() + "%";
- loanSolutions.setBondAmount(bondAmount);
- loanSolutions.setBondRatio(bondRatio);
- } else {
- loanSolutions.setBondAmount(BigDecimal.ZERO);
- loanSolutions.setBondRatio("0");
- }
+ //保证金金额
+ String bondAmount = dto.getBondAmount();
+ loanSolutions.setBondAmount(StringUtils.isNotBlank(bondAmount) ? new BigDecimal(bondAmount) : BigDecimal.ZERO);
//厂家贴息
String factoryDiscount = dto.getFactoryDiscount();
- if (StringUtils.isNotBlank(factoryDiscount)) {
- loanSolutions.setFactoryDiscount(new BigDecimal(factoryDiscount));
- } else {
- loanSolutions.setFactoryDiscount(new BigDecimal(BigInteger.ZERO));
- }
- //厂家贴息用途
- String factoryDiscountUse = dto.getFactoryDiscountUse();
- if (StringUtils.isNotBlank(factoryDiscountUse)) {
- loanSolutions.setFactoryDiscountUse(factoryDiscountUse);
- }
-
+ loanSolutions.setFactoryDiscount(StringUtils.isNotBlank(factoryDiscount) ? new BigDecimal(factoryDiscount) : BigDecimal.ZERO);
+ String discountCar = dto.getDiscountCar();
+ loanSolutions.setDiscountCar(StringUtils.isNotBlank(discountCar) ? new BigDecimal(discountCar) : BigDecimal.ZERO);
//年利率
String policyYearRatio = dto.getPolicyYearRatio();
loanSolutions.setPolicyYearRatio(policyYearRatio);
//月还金额
String loanPayMoney = dto.getLoanPayMoney();
- BigDecimal monthlyRepay1 = new BigDecimal(BigInteger.ZERO);
- if (StringUtils.isNotBlank(loanPayMoney)) {
- loanSolutions.setLoanPayMoney(new BigDecimal(loanPayMoney));
- monthlyRepay1 = monthlyRepay1.add(new BigDecimal(loanPayMoney));
- } else {
- loanSolutions.setLoanPayMoney(BigDecimal.ZERO);
- }
+ loanSolutions.setLoanPayMoney(StringUtils.isNotBlank(loanPayMoney) ? new BigDecimal(loanPayMoney) : BigDecimal.ZERO);
//利息总额
- BigDecimal interest = new BigDecimal(BigInteger.ZERO);
String loanInterest = dto.getLoanInterest();
- if (StringUtils.isNotBlank(loanInterest)) {
- loanSolutions.setLoanInterest(new BigDecimal(loanInterest));
- interest = interest.add(new BigDecimal(loanInterest));
- } else {
- loanSolutions.setLoanInterest(BigDecimal.ZERO);
- }
- BigDecimal otherPolicyAmount1 = new BigDecimal(BigInteger.ZERO);
- int ii = 0;
- //=================================其它融
- //勾选其它融
+ loanSolutions.setLoanInterest(StringUtils.isNotBlank(loanInterest) ? new BigDecimal(loanInterest) : BigDecimal.ZERO);
LoanSolutionsOtherpolicy loanSolutionsOtherpolicy = new LoanSolutionsOtherpolicy();
if (dto.isOtherPolicyState()) {
- //其它融名称
- if (StringUtils.isNotBlank(dto.getOtherPolicyName())) {
- loanSolutionsOtherpolicy.setOtherPolicyName(dto.getOtherPolicyName());
- }
+ BeanUtil.copyProperties(dto, loanSolutionsOtherpolicy, "sid");
//贷款金额
String otherPolicyAmount = dto.getOtherPolicyAmount();
- if (StringUtils.isNotBlank(otherPolicyAmount)) {
- otherPolicyAmount1 = otherPolicyAmount1.add(new BigDecimal(otherPolicyAmount));
- }
- loanSolutionsOtherpolicy.setOtherPolicyAmount(otherPolicyAmount1);
- String otherPolicyPeriod = dto.getOtherPolicyPeriod();
- if (StringUtils.isNotBlank(otherPolicyPeriod)) {
- loanSolutionsOtherpolicy.setOtherPolicyPeriod(otherPolicyPeriod);
- ii = ii + Integer.valueOf(otherPolicyPeriod);
- }
+ loanSolutionsOtherpolicy.setOtherPolicyAmount(StringUtils.isNotBlank(otherPolicyAmount) ? new BigDecimal(otherPolicyAmount) : BigDecimal.ZERO);
//其它融月还
String otherPolicyMonthlyRepay = dto.getOtherPolicyMonthlyRepay();
- if (StringUtils.isNotBlank(otherPolicyMonthlyRepay)) {
- loanSolutionsOtherpolicy.setOtherPolicyMonthlyRepay(new BigDecimal(otherPolicyMonthlyRepay));
- monthlyRepay1 = monthlyRepay1.add(new BigDecimal(otherPolicyMonthlyRepay));
- } else {
- loanSolutionsOtherpolicy.setOtherPolicyMonthlyRepay(BigDecimal.ZERO);
- }
+ loanSolutionsOtherpolicy.setOtherPolicyMonthlyRepay(StringUtils.isNotBlank(otherPolicyMonthlyRepay) ? new BigDecimal(otherPolicyMonthlyRepay) : BigDecimal.ZERO);
//其它融利息总额
String otherPolicyInterest = dto.getOtherPolicyInterest();
- if (StringUtils.isNotBlank(otherPolicyInterest)) {
- loanSolutionsOtherpolicy.setOtherPolicyInterest(new BigDecimal(otherPolicyInterest));
- interest = interest.add(new BigDecimal(otherPolicyInterest));
- } else {
- loanSolutionsOtherpolicy.setOtherPolicyInterest(BigDecimal.ZERO);
- }
- //方案汇总==========================================
- //融资首付 = 首付金额-其它融贷款金额
- BigDecimal loanDownPay = new BigDecimal(BigInteger.ZERO);
- loanDownPay = loanDownPay.add(downPayAmount).subtract(otherPolicyAmount1);
- loanSolutionsOtherpolicy.setLoanDownPay(loanDownPay);
- //总贷款金额 = 主方案贷款金额+其它融贷款金额
- BigDecimal loanAmountTotal = new BigDecimal(BigInteger.ZERO);
- loanAmountTotal = loanAmountTotal.add(loanAmount).add(otherPolicyAmount1);
- loanSolutionsOtherpolicy.setLoanAmountTotal(loanAmountTotal);
- //期数 = 其它融期数拼接剩余期数(6/18)
- int i = Integer.valueOf(loanPeriod) - Integer.valueOf(otherPolicyPeriod);
- String period = otherPolicyPeriod + "/" + i;
- loanSolutionsOtherpolicy.setPeriod(period);
- //月还金额 = 总月还/贷款月还
- String monthlyRepay = "";
- if (StringUtils.isNotBlank(dto.getMonthlyRepay())) {
- if (loanPeriod.equals(otherPolicyPeriod)) {
- monthlyRepay = monthlyRepay1.toString() + "/-";
- } else {
- monthlyRepay = monthlyRepay1.toString() + "/" + dto.getLoanPayMoney();
- }
-
- } else {
- monthlyRepay = monthlyRepay1.toString() + "/-";
- }
- //实际首付比例
- String downPayAmountsRatio = "";
- BigDecimal downPayAmountsRatio1 = loanDownPay.divide(loanTotal, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
- downPayAmountsRatio = downPayAmountsRatio1.toString() + "%";
- loanSolutionsOtherpolicy.setDownPayAmountsRatio(downPayAmountsRatio);
-
-
- //预计首期还款日
- String returnTime = dto.getReturnTime();
- loanSolutionsOtherpolicy.setMonthlyRepay(monthlyRepay);
- loanSolutionsOtherpolicy.setReturnTime(returnTime);
- //利息总额
- loanSolutionsOtherpolicy.setInterest(interest);
+ loanSolutionsOtherpolicy.setOtherPolicyInterest(StringUtils.isNotBlank(otherPolicyInterest) ? new BigDecimal(otherPolicyInterest) : BigDecimal.ZERO);
loanSolutions.setOtherPolicyState(1);
- loanSolutionsOtherpolicy.setOtherPolicyYearRatio(dto.getOtherPolicyYearRatio());
+ String loanDownPay = dto.getLoanDownPay();
+ loanSolutionsOtherpolicy.setLoanDownPay(StringUtils.isNotBlank(loanDownPay) ? new BigDecimal(loanDownPay) : BigDecimal.ZERO);
} else {
- //不勾选其它融
- //方案汇总
- //融资首付 = 首付金额-其它融贷款金额
- BigDecimal loanDownPay = new BigDecimal(BigInteger.ZERO);
- loanDownPay = loanDownPay.add(downPayAmount).subtract(otherPolicyAmount1);
- loanSolutionsOtherpolicy.setLoanDownPay(loanDownPay);
- //总贷款金额 = 主方案贷款金额+其它融贷款金额
- BigDecimal loanAmountTotal = new BigDecimal(BigInteger.ZERO);
- loanAmountTotal = loanAmountTotal.add(loanAmount).add(otherPolicyAmount1);
- loanSolutionsOtherpolicy.setLoanAmountTotal(loanAmountTotal);
- //实际首付比例
- String downPayAmountsRatio = "";
- BigDecimal downPayAmountsRatio1 = loanDownPay.divide(loanTotal, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
- downPayAmountsRatio = downPayAmountsRatio1.toString() + "%";
- loanSolutionsOtherpolicy.setDownPayAmountsRatio(downPayAmountsRatio);
- //期数 = 其它融期数拼接剩余期数(6/18)
- int i = Integer.valueOf(loanPeriod) - ii;
- String period = ii + "/" + i;
- loanSolutionsOtherpolicy.setPeriod(period);
- //月还金额 = 总月还/贷款月还
- String monthlyRepay = monthlyRepay1.toString();
- //预计首期还款日
- String returnTime = dto.getReturnTime();
- loanSolutionsOtherpolicy.setMonthlyRepay(monthlyRepay);
- loanSolutionsOtherpolicy.setReturnTime(returnTime);
- //利息总额
- loanSolutionsOtherpolicy.setInterest(interest);
+ BeanUtil.copyProperties(dto, loanSolutionsOtherpolicy, "sid");
+ String loanDownPay = dto.getLoanDownPay();
+ loanSolutionsOtherpolicy.setLoanDownPay(StringUtils.isNotBlank(loanDownPay) ? new BigDecimal(loanDownPay) : BigDecimal.ZERO);
loanSolutions.setOtherPolicyState(0);
}
baseMapper.insert(loanSolutions);
loanSolutionsOtherpolicy.setSolutionsSid(loanSolutions.getSid());
loanSolutionsOtherpolicyService.insert(loanSolutionsOtherpolicy);
- //=========================应收明细
+ /***********************应收明细************************************/
LoanSolutionsDetail loanSolutionsDetail = new LoanSolutionsDetail();
- //应收合计 = 融资首付+贷款保证金+保险保证金+落户保证金+服务费+代收意外险+补车价+上牌费+运管费+其它费用
- BigDecimal receivableTotal = new BigDecimal(BigInteger.ZERO);
- //融资首付 = 首付金额-其它融贷款金额
- BigDecimal downPayAmounts = new BigDecimal(BigInteger.ZERO);
- downPayAmounts = downPayAmounts.add(downPayAmount).subtract(otherPolicyAmount1);
- loanSolutionsDetail.setDownPayAmounts(downPayAmounts);
- receivableTotal = receivableTotal.add(downPayAmounts);
+ BeanUtil.copyProperties(dto, loanSolutionsDetail, "sid");
+ //融资首付
+ String downPayAmounts = dto.getDownPayAmounts();
+ loanSolutionsDetail.setDownPayAmounts(StringUtils.isNotBlank(downPayAmounts) ? new BigDecimal(downPayAmounts) : BigDecimal.ZERO);
//贷款保证金
- if (StringUtils.isNotBlank(dto.getBondAmount())) {
- receivableTotal = receivableTotal.add(new BigDecimal(dto.getBondAmount()));
- loanSolutionsDetail.setBondAmounts(new BigDecimal(dto.getBondAmount()));
- } else {
- loanSolutionsDetail.setBondAmounts(BigDecimal.ZERO);
- }
+ String bondAmounts = dto.getBondAmounts();
+ loanSolutionsDetail.setBondAmounts(StringUtils.isNotBlank(bondAmounts) ? new BigDecimal(bondAmounts) : BigDecimal.ZERO);
//保险保证金
String depositPremium = dto.getDepositPremium();
- if (StringUtils.isNotBlank(depositPremium)) {
- receivableTotal = receivableTotal.add(new BigDecimal(depositPremium));
- loanSolutionsDetail.setDepositPremium(new BigDecimal(depositPremium));
- } else {
- loanSolutionsDetail.setDepositPremium(BigDecimal.ZERO);
- }
+ loanSolutionsDetail.setDepositPremium(StringUtils.isNotBlank(depositPremium) ? new BigDecimal(depositPremium) : BigDecimal.ZERO);
//落户保证金
String depositSettle = dto.getDepositSettle();
- if (StringUtils.isNotBlank(depositSettle)) {
- receivableTotal = receivableTotal.add(new BigDecimal(depositSettle));
- loanSolutionsDetail.setDepositSettle(new BigDecimal(depositSettle));
- } else {
- loanSolutionsDetail.setDepositSettle(BigDecimal.ZERO);
- }
+ loanSolutionsDetail.setDepositSettle(StringUtils.isNotBlank(depositSettle) ? new BigDecimal(depositSettle) : BigDecimal.ZERO);
//服务费
String serviceAmount = dto.getServiceAmount();
- if (StringUtils.isNotBlank(serviceAmount)) {
- receivableTotal = receivableTotal.add(new BigDecimal(serviceAmount));
- loanSolutionsDetail.setServiceAmount(new BigDecimal(serviceAmount));
- } else {
- loanSolutionsDetail.setServiceAmount(BigDecimal.ZERO);
- }
+ loanSolutionsDetail.setServiceAmount(StringUtils.isNotBlank(serviceAmount) ? new BigDecimal(serviceAmount) : BigDecimal.ZERO);
//代收意外险
String proxyAccidentPremium = dto.getProxyAccidentPremium();
- if (StringUtils.isNotBlank(proxyAccidentPremium)) {
- receivableTotal = receivableTotal.add(new BigDecimal(proxyAccidentPremium));
- loanSolutionsDetail.setProxyAccidentPremium(new BigDecimal(proxyAccidentPremium));
- } else {
- loanSolutionsDetail.setProxyAccidentPremium(BigDecimal.ZERO);
- }
+ loanSolutionsDetail.setProxyAccidentPremium(StringUtils.isNotBlank(proxyAccidentPremium) ? new BigDecimal(proxyAccidentPremium) : BigDecimal.ZERO);
//上牌费
String registerAmount = dto.getRegisterAmount();
- if (StringUtils.isNotBlank(registerAmount)) {
- receivableTotal = receivableTotal.add(new BigDecimal(registerAmount));
- loanSolutionsDetail.setRegisterAmount(new BigDecimal(registerAmount));
- } else {
- loanSolutionsDetail.setRegisterAmount(BigDecimal.ZERO);
- }
+ loanSolutionsDetail.setRegisterAmount(StringUtils.isNotBlank(registerAmount) ? new BigDecimal(registerAmount) : BigDecimal.ZERO);
//运管费
String operationAmount = dto.getOperationAmount();
- if (StringUtils.isNotBlank(operationAmount)) {
- receivableTotal = receivableTotal.add(new BigDecimal(operationAmount));
- loanSolutionsDetail.setOperationAmount(new BigDecimal(operationAmount));
-
- } else {
- loanSolutionsDetail.setOperationAmount(BigDecimal.ZERO);
- }
+ loanSolutionsDetail.setOperationAmount(StringUtils.isNotBlank(operationAmount) ? new BigDecimal(operationAmount) : BigDecimal.ZERO);
//补车价
String vehOtherPrice = dto.getVehOtherPrice();
- if (StringUtils.isNotBlank(vehOtherPrice)) {
- receivableTotal = receivableTotal.add(new BigDecimal(vehOtherPrice));
- loanSolutionsDetail.setVehOtherPrice(new BigDecimal(vehOtherPrice));
- } else {
- loanSolutionsDetail.setVehOtherPrice(BigDecimal.ZERO);
- }
+ loanSolutionsDetail.setVehOtherPrice(StringUtils.isNotBlank(vehOtherPrice) ? new BigDecimal(vehOtherPrice) : BigDecimal.ZERO);
//其它费用
String otherAmount = dto.getOtherAmount();
- if (StringUtils.isNotBlank(otherAmount)) {
- receivableTotal = receivableTotal.add(new BigDecimal(otherAmount));
- loanSolutionsDetail.setOtherAmount(new BigDecimal(otherAmount));
- } else {
- loanSolutionsDetail.setOtherAmount(BigDecimal.ZERO);
- }
- //其它费用说明
- String otherAmountRemark = dto.getOtherAmountRemark();
- loanSolutionsDetail.setOtherAmountRemark(otherAmountRemark);
- //办理方式选择
- String dealWay = dto.getDealWay();
- loanSolutionsDetail.setDealWay(dealWay);
- String dealWayKey = dto.getDealWayKey();
- loanSolutionsDetail.setDealWayKey(dealWayKey);
+ loanSolutionsDetail.setOtherAmount(StringUtils.isNotBlank(otherAmount) ? new BigDecimal(otherAmount) : BigDecimal.ZERO);
//代收首年保险费
String proxyPremium = dto.getProxyPremium();
- if (StringUtils.isNotBlank(proxyPremium)) {
- receivableTotal = receivableTotal.add(new BigDecimal(proxyPremium));
- loanSolutionsDetail.setProxyPremium(new BigDecimal(proxyPremium));
- } else {
- loanSolutionsDetail.setProxyPremium(BigDecimal.ZERO);
- }
+ loanSolutionsDetail.setProxyPremium(StringUtils.isNotBlank(proxyPremium) ? new BigDecimal(proxyPremium) : BigDecimal.ZERO);
//代收购置费
String proxyPurchasetax = dto.getProxyPurchasetax();
- if (StringUtils.isNotBlank(proxyPurchasetax)) {
- receivableTotal = receivableTotal.add(new BigDecimal(proxyPurchasetax));
- loanSolutionsDetail.setProxyPurchasetax(new BigDecimal(proxyPurchasetax));
- } else {
- loanSolutionsDetail.setProxyPurchasetax(BigDecimal.ZERO);
- }
- //抵顶费用合计 = 抵顶首年保险费+抵顶购置税
- BigDecimal offsetTotal = new BigDecimal(BigInteger.ZERO);
+ loanSolutionsDetail.setProxyPurchasetax(StringUtils.isNotBlank(proxyPurchasetax) ? new BigDecimal(proxyPurchasetax) : BigDecimal.ZERO);
//抵顶首年保险费
String offsetPremium = dto.getOffsetPremium();
- if (dto.isPremiumCb()) {
- if (StringUtils.isNotBlank(offsetPremium)) {
- offsetTotal = offsetTotal.add(new BigDecimal(offsetPremium));
- loanSolutionsDetail.setOffsetPremium(new BigDecimal(offsetPremium));
- } else {
- loanSolutionsDetail.setOffsetPremium(BigDecimal.ZERO);
- }
- }
- if (dto.isPurchaseTaxCb()) {
- //抵顶购置税
- String offsetPurchasetax = dto.getOffsetPurchasetax();
- if (StringUtils.isNotBlank(offsetPurchasetax)) {
- offsetTotal = offsetTotal.add(new BigDecimal(offsetPurchasetax));
- loanSolutionsDetail.setOffsetPurchasetax(new BigDecimal(offsetPurchasetax));
- } else {
- loanSolutionsDetail.setOffsetPurchasetax(BigDecimal.ZERO);
- }
- }
- //实收合计 = 应收合计-抵顶合计
- BigDecimal realTotal = receivableTotal.subtract(offsetTotal);
+ loanSolutionsDetail.setOffsetPremium(StringUtils.isNotBlank(offsetPremium) ? new BigDecimal(offsetPremium) : BigDecimal.ZERO);
+ String proxyTotal = dto.getProxyTotal();
+ loanSolutionsDetail.setProxyTotal(StringUtils.isNotBlank(proxyTotal) ? new BigDecimal(proxyTotal) : BigDecimal.ZERO);
+ String offsetTotal = dto.getOffsetTotal();
+ loanSolutionsDetail.setOffsetTotal(StringUtils.isNotBlank(offsetTotal) ? new BigDecimal(offsetTotal) : BigDecimal.ZERO);
+ //应收合计
+ String receivableTotal = dto.getReceivableTotal();
+ loanSolutionsDetail.setReceivableTotal(StringUtils.isNotBlank(receivableTotal) ? new BigDecimal(receivableTotal) : BigDecimal.ZERO);
+ //实收合计
+ String realTotal = dto.getRealTotal();
+ loanSolutionsDetail.setRealTotal(StringUtils.isNotBlank(realTotal) ? new BigDecimal(realTotal) : BigDecimal.ZERO);
//车辆总价
String vehTotalPrice = dto.getVehTotalPrice();
+ loanSolutionsDetail.setVehTotalPrice(StringUtils.isNotBlank(vehTotalPrice) ? new BigDecimal(vehTotalPrice) : BigDecimal.ZERO);
//名义留购价
String nominalPrice = dto.getNominalPrice();
- loanSolutionsDetail.setRealTotal(realTotal);
- loanSolutionsDetail.setReceivableTotal(receivableTotal);
- loanSolutionsDetail.setOffsetTotal(offsetTotal);
- if (StringUtils.isNotBlank(vehTotalPrice)) {
- loanSolutionsDetail.setVehTotalPrice(new BigDecimal(vehTotalPrice));
- } else {
- loanSolutionsDetail.setVehTotalPrice(BigDecimal.ZERO);
- }
- if (StringUtils.isNotBlank(nominalPrice)) {
- loanSolutionsDetail.setNominalPrice(new BigDecimal(nominalPrice));
- } else {
- loanSolutionsDetail.setNominalPrice(BigDecimal.ZERO);
- }
+ loanSolutionsDetail.setNominalPrice(StringUtils.isNotBlank(nominalPrice) ? new BigDecimal(nominalPrice) : BigDecimal.ZERO);
loanSolutionsDetail.setSolutionsSid(loanSolutions.getSid());
loanSolutionsDetailService.insert(loanSolutionsDetail);
return rb.success();
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateMapper.xml
index 44025395cf..cb4d841977 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateMapper.xml
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateMapper.xml
@@ -24,7 +24,7 @@
${ew.sqlSegment}
- order by id desc
+ order by lote.id desc
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateService.java
index 7c6930b2b0..ad600d3d16 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateService.java
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateService.java
@@ -24,6 +24,7 @@ import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
+import com.yxt.anrui.riskcenter.api.loansolutions.SolutionDetailsDto;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDto;
import com.yxt.anrui.riskcenter.api.loantemplate.*;
@@ -139,9 +140,10 @@ public class LoanTemplateService extends MybatisBaseService rb = ResultBean.fireFail();
String sid = dto.getSid();
if (StringUtils.isBlank(sid)) {
+ //ToDo:billNo
//新增
LoanTemplate loanTemplate = new LoanTemplate();
- BeanUtil.copyProperties(dto, loanTemplate, sid);
+ BeanUtil.copyProperties(dto, loanTemplate, "sid");
loanTemplate.setCreateBySid(dto.getUserSid());
//查询申请人
ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
@@ -173,10 +175,10 @@ public class LoanTemplateService extends MybatisBaseService v.replaceAll(fileUploadComponent.getUrlPrefix(), "")).collect(Collectors.toList());
String files = String.join(",", fileList);
loanTemplateTrailer.setVehTrailerCertificateFile(files);
+ }else{
+ loanTemplateTrailer.setVehTrailerCertificateFile("");
}
loanTemplateTrailerService.insert(loanTemplateTrailer);
}
diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateFeign.java
new file mode 100644
index 0000000000..c198eb28e6
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateFeign.java
@@ -0,0 +1,31 @@
+package com.yxt.anrui.terminal.api.risk.loantemplate;
+
+import com.yxt.anrui.terminal.api.supplychain.vehicleApply.VehicleApplyFeignFallback;
+import com.yxt.anrui.terminal.api.supplychain.vehicleApply.VehicleApplyVo;
+import com.yxt.common.core.result.ResultBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2023/8/8
+ **/
+@Api(tags = "移动端金融定制审批")
+@FeignClient(
+ contextId = "terminal-Template",
+ name = "anrui-terminal",
+ path = "/risk/v1/Template",
+ fallback = TemplateFeignFallback.class)
+public interface TemplateFeign {
+
+ @ApiOperation("方案详情")
+ @GetMapping("/getTemplateApply/{sid}")
+ @ResponseBody
+ ResultBean getTemplateApply(@PathVariable("sid") String sid);
+
+}
diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateFeignFallback.java
new file mode 100644
index 0000000000..82544faaf4
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateFeignFallback.java
@@ -0,0 +1,12 @@
+package com.yxt.anrui.terminal.api.risk.loantemplate;
+
+import org.springframework.stereotype.Component;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2023/8/8
+ **/
+@Component
+public class TemplateFeignFallback {
+}
diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateVo.java
new file mode 100644
index 0000000000..3a3b8e44a9
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateVo.java
@@ -0,0 +1,14 @@
+package com.yxt.anrui.terminal.api.risk.loantemplate;
+
+import com.yxt.common.core.vo.Vo;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2023/8/8
+ **/
+@Data
+public class TemplateVo implements Vo {
+ private static final long serialVersionUID = 5875529565501843924L;
+}