Browse Source

金融方案优化

master
dimengzhe 1 year ago
parent
commit
5a9afd3ad1
  1. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/PolicyVo.java
  2. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutions.java
  3. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssQuery.java
  4. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/calculate/CalculateQuery.java
  5. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutionsotherpolicy/LoanSolutionsOtherpolicy.java
  6. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml
  7. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.java
  8. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.xml
  9. 23
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java
  10. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionQuery.java

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/PolicyVo.java

@ -47,5 +47,7 @@ public class PolicyVo implements Vo {
private String bankShortName;
private String guaranteeTypeKey;
@ApiModelProperty("01固定,02敞口")
private String bondTypeKey;
}

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

@ -67,6 +67,8 @@ public class LoanSolutions extends BaseEntity {
private BigDecimal bondAmount;
@ApiModelProperty("厂家贴息")
private BigDecimal factoryDiscount;
@ApiModelProperty("实际贴息")
private BigDecimal actualDiscount;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUse;
@ApiModelProperty("厂家贴息用途")

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssQuery.java

@ -115,4 +115,5 @@ public class SolutionssQuery implements Query {
private String nominalPrice;
private String modelSid;
private String saleOrderSid;
}

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

@ -13,6 +13,7 @@ import javax.validation.constraints.NotBlank;
@Data
public class CalculateQuery {
private String salesOrderSid;
@ApiModelProperty("是否打包:1是0否")
private String isPack;
@ApiModelProperty("产品政策sid")

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutionsotherpolicy/LoanSolutionsOtherpolicy.java

@ -84,6 +84,8 @@ public class LoanSolutionsOtherpolicy extends BaseEntity {
private String downPayAmountsRatio;
@ApiModelProperty("其他融贴息")
private BigDecimal otherDiscount;
@ApiModelProperty("实际贴息")
private BigDecimal otherActualDiscount;

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml

@ -140,6 +140,7 @@
a.depositSettle,
a.nominalPrice,
a.vehAccidentAmount,
a.bondTypeKey,
a.id from ( select lfp.policyName name,
lfp.sid,
lfp.bankShortName,
@ -157,6 +158,7 @@
lfp.depositSettle,
lfp.nominalPrice,
lfp.vehAccidentAmount,
lfp.bondTypeKey,
lfp.id
from loan_fin_policy lfp
where lfp.filingState = 1
@ -191,7 +193,8 @@
lfp.depositSettle,
lfp.nominalPrice,
lfp.vehAccidentAmount,
lfp.id
lfp.id,
lfp.bondTypeKey
from loan_fin_policy lfp
where lfp.filingState = 1
and isPack = #{isPack}

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.java

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.biz.loansolutions;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -31,6 +32,10 @@ public interface LoanSolutionsMapper extends BaseMapper<LoanSolutions> {
LoanSolutions selectByApplySid(String saleOrderSid);
LoanSolutions selectByBusSid(String busSid);
BusSalesOrderPrice selectByPriceSid(String busSid);
/* IPage<LoanSolutionsVo> selectPageVo(IPage<LoanSolutions> page, @Param(Constants.WRAPPER) Wrapper<LoanSolutions> qw);

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.xml

@ -71,4 +71,12 @@
from loan_solutions
where salesOrderSid = #{saleOrderSid} and isDelete = 0
</select>
<select id="selectByBusSid" resultType="com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions">
select * from loan_solutions where salesOrderSid = #{busSid} and isDelete = 0
</select>
<select id="selectByPriceSid" resultType="com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice">
select * from anrui_buscenter.bus_sales_order_price where salesOrderSid = #{busSid}
</select>
</mapper>

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

@ -8,6 +8,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.OrderSolutionVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderPriceInfoVo;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModel;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
@ -1208,6 +1209,18 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
if (StringUtils.isBlank(policySid)) {
return rb.setMsg("请先选择产品政策");
}
String busSid = query.getSalesOrderSid();
LoanSolutions loanSolutions = baseMapper.selectByBusSid(busSid);
boolean isOrder = false;
BigDecimal orderPrice = BigDecimal.ZERO;
if(loanSolutions != null && loanSolutions.getSaleOrderState() == 0){//销售订单
isOrder = true;
BusSalesOrderPrice busSalesOrderPrice = baseMapper.selectByPriceSid(busSid);
if(busSalesOrderPrice == null){
return rb.setMsg("请先录入价格信息");
}
orderPrice = busSalesOrderPrice.getSingleFinalPrice();
}
CalculateVo calculateVo = new CalculateVo();
//计算的初始化
BigDecimal loanTotal = BigDecimal.ZERO;//融资项目总额
@ -1222,6 +1235,7 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
BigDecimal interstAll = BigDecimal.ZERO;
BigDecimal yueAll = BigDecimal.ZERO;
/***************相关计算及字段*****************/
BigDecimal AmountAll = BigDecimal.ZERO;
//主车发票价
String mainVehicleAmount = query.getMainVehicleAmount();
@ -1250,10 +1264,18 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
if (StringUtils.isNotBlank(mainVehicleAmount)) {
//主车发票价
loanTotal = loanTotal.add(new BigDecimal(mainVehicleAmount));
AmountAll = AmountAll.add(new BigDecimal(mainVehicleAmount));
}
if (accessoriesAmountCb) {//包含配件
if (StringUtils.isNotBlank(accessoriesAmount)) {
loanTotal = loanTotal.add(new BigDecimal(accessoriesAmount));
AmountAll = AmountAll.add(new BigDecimal(accessoriesAmount));
}
}
if(isOrder){
//判断成交价与主车发票价和配件之和
if(AmountAll.compareTo(orderPrice)<0){
return rb.setMsg("主车发票价与配件之和不能小于订单成交价");
}
}
if (trailerAmountCb) {//包含挂车
@ -2431,6 +2453,7 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
}
CalculateQuery calculateQuery = new CalculateQuery();
BeanUtil.copyProperties(query, calculateQuery);
calculateQuery.setSalesOrderSid(query.getSaleOrderSid());
ResultBean<CalculateVo> resultBean = calculate(calculateQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());

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

@ -114,4 +114,7 @@ public class AppSolutionQuery implements Query {
private String offsetPurchasetax;
@ApiModelProperty("名义留购价")
private String nominalPrice;
private String saleOrderSid;
private String modelSid;
}

Loading…
Cancel
Save