|
|
@ -28,15 +28,22 @@ package com.yxt.anrui.buscenter.biz.bussalesorderloancontract; |
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorderloancontract.*; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.UnCollectionDto; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameter; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterQuery; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.PushVo; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
@ -47,6 +54,7 @@ import com.yxt.common.core.vo.PagerVo; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.Collections; |
|
|
|
import java.util.List; |
|
|
|
import java.util.stream.Collectors; |
|
|
@ -72,6 +80,12 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale |
|
|
|
private SysUserFeign sysUserFeign; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderVehicleService busSalesOrderVehicleService; |
|
|
|
@Autowired |
|
|
|
private LoanSolutionsFeign loanSolutionsFeign; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderService busSalesOrderService; |
|
|
|
@Autowired |
|
|
|
private FinUncollectedReceivablesDetailedFeign finUncollectedDetailedFeign; |
|
|
|
|
|
|
|
private QueryWrapper<BusSalesOrderLoancontract> createQueryWrapper(BusSalesOrderLoancontractQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
@ -238,4 +252,61 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale |
|
|
|
baseMapper.updateBankConAndBusNo(loanContractSid, bankContractNo); |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean pushLoanOrder(LoanContractPush loanContractPush) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String saleOrderSid = loanContractPush.getSaleOrderSid(); |
|
|
|
String loanContractSid = loanContractPush.getLoanContractSid(); |
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(saleOrderSid); |
|
|
|
//根据消贷合同查询贷款人
|
|
|
|
BusSalesOrderLoancontract busSalesOrderLoancontract = fetchBySid(loanContractSid); |
|
|
|
if(busSalesOrderLoancontract != null){ |
|
|
|
//根据销售订单的贷款人sid查询车辆表中的数据
|
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByBorrowSid(busSalesOrderLoancontract.getBorrowerSid()); |
|
|
|
//这是生成业务系统融资放款应收的逻辑:
|
|
|
|
// 融资放款=融资项目总额-融资首付-[贷款保证金]-[厂家贴息],根据选择的产品政策来判断,若贷款保证金为固定的,需要减去,若为敞口的,不需要减;差额放款需要减厂家贴息,全额放款不需要。差额放款的厂家贴息金额存入“其他应收”字段中,
|
|
|
|
//计算融资放款的金额以及厂家贴息金额
|
|
|
|
ResultBean<PushVo> resultBean = loanSolutionsFeign.selectMoney(saleOrderSid); |
|
|
|
if(resultBean.getData() != null){ |
|
|
|
PushVo pushVo = resultBean.getData(); |
|
|
|
UnCollectionDto unCollectionDto = new UnCollectionDto(); |
|
|
|
unCollectionDto.setContractNo(busSalesOrder.getContractNo()); |
|
|
|
// unCollectionDto.setContractSid(contractSid);
|
|
|
|
//客户名称
|
|
|
|
unCollectionDto.setCustomerName(busSalesOrder.getCustomerName()); |
|
|
|
//客户sid
|
|
|
|
unCollectionDto.setCustomerSid(busSalesOrder.getCustomerSid()); |
|
|
|
//客户类型
|
|
|
|
unCollectionDto.setCustomerClass(busSalesOrder.getCustomerClass()); |
|
|
|
//客户类型
|
|
|
|
unCollectionDto.setCustomerClassKey(busSalesOrder.getCustomerClassKey()); |
|
|
|
//客户头像
|
|
|
|
unCollectionDto.setCustomerImage(busSalesOrder.getCustomerPhoto()); |
|
|
|
unCollectionDto.setReceivablesName("融资放款"); |
|
|
|
unCollectionDto.setCustomerPhone(busSalesOrder.getMobile()); |
|
|
|
unCollectionDto.setUseOrgSid(busSalesOrder.getUseOrgSid()); |
|
|
|
unCollectionDto.setVinNo(busSalesOrderVehicle.getLinkNo()); |
|
|
|
unCollectionDto.setCurrentReceivableMoney(pushVo.getMoney()); |
|
|
|
unCollectionDto.setUserSid(busSalesOrder.getCreateBySid()); |
|
|
|
unCollectionDto.setReveivableMoney(pushVo.getMoney()); |
|
|
|
unCollectionDto.setBusVinSid(busSalesOrderVehicle.getSid()); |
|
|
|
unCollectionDto.setPayType(busSalesOrder.getPayType()); |
|
|
|
unCollectionDto.setPayTypeKey(busSalesOrder.getPayTypeKey()); |
|
|
|
unCollectionDto.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); |
|
|
|
unCollectionDto.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); |
|
|
|
unCollectionDto.setOrgSidPath(busSalesOrder.getOrgSidPath()); |
|
|
|
unCollectionDto.setStaffUserSid(busSalesOrder.getCreateBySid()); |
|
|
|
unCollectionDto.setStaffName(busSalesOrder.getStaffName()); |
|
|
|
unCollectionDto.setStaffDeptName(busSalesOrder.getOrgName()); |
|
|
|
unCollectionDto.setStaffDeptSid(busSalesOrder.getOrgSid()); |
|
|
|
unCollectionDto.setUseOrgName(busSalesOrder.getUseOrgName()); |
|
|
|
unCollectionDto.setKxState("01"); |
|
|
|
if (StringUtils.isNotBlank(pushVo.getOtherReceivableMoney())) { |
|
|
|
unCollectionDto.setOtherReceivableMoney(new BigDecimal(pushVo.getOtherReceivableMoney())); |
|
|
|
} |
|
|
|
finUncollectedDetailedFeign.saveUnCollection(unCollectionDto); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
} |