|
|
@ -41,6 +41,7 @@ import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeig |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesorderborrower.BusSalesOrderBorrowerService; |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.UnCollectionDto; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; |
|
|
@ -285,22 +286,29 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale |
|
|
|
public ResultBean pushLoanOrder(LoanContractPush loanContractPush) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String saleOrderSid = loanContractPush.getSaleOrderSid(); |
|
|
|
String loanContractSid = loanContractPush.getLoanContractSid(); |
|
|
|
// String loanContractSid = loanContractPush.getLoanContractSid();
|
|
|
|
String borrowSid = loanContractPush.getBorrowSid(); |
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(saleOrderSid); |
|
|
|
BusSalesOrderBorrower busSalesOrderBorrower = busSalesOrderBorrowerService.fetchBySid(borrowSid); |
|
|
|
//根据消贷合同查询贷款人
|
|
|
|
BusSalesOrderLoancontract busSalesOrderLoancontract = fetchBySid(loanContractSid); |
|
|
|
if (busSalesOrderLoancontract != null) { |
|
|
|
// BusSalesOrderLoancontract busSalesOrderLoancontract = fetchBySid(loanContractSid);
|
|
|
|
if (busSalesOrderBorrower != null) { |
|
|
|
//根据销售订单的贷款人sid查询车辆表中的数据
|
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByBorrowSid2(busSalesOrderLoancontract.getBorrowerSid(),loanContractSid); |
|
|
|
List<BusSalesOrderVehicle> busSalesOrderVehicleList = busSalesOrderVehicleService.selectByBorrowSid2(borrowSid,saleOrderSid); |
|
|
|
//这是生成业务系统融资放款应收的逻辑:
|
|
|
|
// 融资放款=融资项目总额-融资首付-[贷款保证金]-[厂家贴息],根据选择的产品政策来判断,若贷款保证金为固定的,需要减去,若为敞口的,不需要减;差额放款需要减厂家贴息,全额放款不需要。差额放款的厂家贴息金额存入“其他应收”字段中,
|
|
|
|
//计算融资放款的金额以及厂家贴息金额
|
|
|
|
ResultBean<PushVo> resultBean = loanSolutionsFeign.selectMoney(saleOrderSid); |
|
|
|
if (resultBean.getData() != null) { |
|
|
|
PushVo pushVo = resultBean.getData(); |
|
|
|
busSalesOrderVehicleList.removeAll(Collections.singleton(null)); |
|
|
|
if(!busSalesOrderVehicleList.isEmpty()){ |
|
|
|
for (int i = 0; i < busSalesOrderVehicleList.size(); i++) { |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleList.get(i); |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = baseMapper.selectByBusVinSId("融资放款",busSalesOrderVehicle.getSid()); |
|
|
|
if(finUncollectedReceivablesDetailed == null){ |
|
|
|
UnCollectionDto unCollectionDto = new UnCollectionDto(); |
|
|
|
unCollectionDto.setContractNo(busSalesOrder.getContractNo()); |
|
|
|
// unCollectionDto.setContractSid(contractSid);
|
|
|
|
//客户名称
|
|
|
|
unCollectionDto.setCustomerName(busSalesOrder.getCustomerName()); |
|
|
|
//客户sid
|
|
|
@ -335,6 +343,10 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale |
|
|
|
} |
|
|
|
finUncollectedDetailedFeign.saveUnCollection(unCollectionDto); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
@ -352,7 +364,7 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale |
|
|
|
//-----------获取其他应收单对象----------------
|
|
|
|
CapitalCreditResult creditResult = new CapitalCreditResult(); |
|
|
|
//根据销售订单的贷款人sid查询车辆表中的数据
|
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByBorrowSid2(borrowerDetailsVo.getSid(),loanOtherReceivablePush.getLoanContractSid()); |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByBorrowSid(borrowerDetailsVo.getSid()); |
|
|
|
if (null != busSalesOrderVehicle) { |
|
|
|
String customerNumber = ""; |
|
|
|
//判断财务系统是否有客户
|
|
|
|