Browse Source

Merge remote-tracking branch 'origin/master'

master
God 2 years ago
parent
commit
f94456550b
  1. 243
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java
  2. 14
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/capitalcreditresult/OtherReceivableBillCreditResultService.java

243
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java

@ -294,7 +294,7 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale
// BusSalesOrderLoancontract busSalesOrderLoancontract = fetchBySid(loanContractSid);
if (busSalesOrderBorrower != null) {
//根据销售订单的贷款人sid查询车辆表中的数据
List<BusSalesOrderVehicle> busSalesOrderVehicleList = busSalesOrderVehicleService.selectByBorrowSid2(borrowSid,saleOrderSid);
List<BusSalesOrderVehicle> busSalesOrderVehicleList = busSalesOrderVehicleService.selectByBorrowSid2(borrowSid, saleOrderSid);
//这是生成业务系统融资放款应收的逻辑:
// 融资放款=融资项目总额-融资首付-[贷款保证金]-[厂家贴息],根据选择的产品政策来判断,若贷款保证金为固定的,需要减去,若为敞口的,不需要减;差额放款需要减厂家贴息,全额放款不需要。差额放款的厂家贴息金额存入“其他应收”字段中,
//计算融资放款的金额以及厂家贴息金额
@ -302,11 +302,11 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale
if (resultBean.getData() != null) {
PushVo pushVo = resultBean.getData();
busSalesOrderVehicleList.removeAll(Collections.singleton(null));
if(!busSalesOrderVehicleList.isEmpty()){
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){
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = baseMapper.selectByBusVinSId("融资放款", busSalesOrderVehicle.getSid());
if (finUncollectedReceivablesDetailed == null) {
UnCollectionDto unCollectionDto = new UnCollectionDto();
unCollectionDto.setContractNo(busSalesOrder.getContractNo());
//客户名称
@ -364,129 +364,132 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale
//-----------获取其他应收单对象----------------
CapitalCreditResult creditResult = new CapitalCreditResult();
//根据销售订单的贷款人sid查询车辆表中的数据
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByBorrowSid(borrowerDetailsVo.getSid());
if (null != busSalesOrderVehicle) {
String customerNumber = "";
//判断财务系统是否有客户
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
if (!aBoolean) {
List<BdCustomer> bdCustomers = new ArrayList<>();
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getLinkNo());
List<BusSalesOrderVehicle> busSalesOrderVehicleList = busSalesOrderVehicleService.selectByBorrowSid2(borrowerSid, saleOrderSid);
if (!busSalesOrderVehicleList.isEmpty()) {
for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicleList) {
String customerNumber = "";
//判断财务系统是否有客户
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
if (!aBoolean) {
List<BdCustomer> bdCustomers = new ArrayList<>();
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getLinkNo());
} else {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo());
}
bdCustomers.add(bdCustomer);
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomers(bdCustomers);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
}
} else {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo());
}
bdCustomers.add(bdCustomer);
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomers(bdCustomers);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
}
} else {
customerNumber = busSalesOrderVehicle.getTemporaryNo();
}
creditResult.setCommUnit(customerNumber);
SysOrganizationVo sysOrganizationVo1 = sysOrganizationFeign.fetchBySid(salesOrder.getUseOrgSid()).getData();
creditResult.setCollectionOrg(sysOrganizationVo1.getOrgCode());
creditResult.setBussDate(DateUtil.formatDate(new Date()));
List<CapitalCreditResult.CapitalCreditResultDetailDto> collectionDetailDtoListOne = new ArrayList<>();
SysOrganizationVo sysOrganizationVo2 = sysOrganizationFeign.fetchBySid(salesOrder.getOrgSid()).getData();
//这是生成业务系统融资放款应收的逻辑:
// 融资放款=融资项目总额-融资首付-[贷款保证金]-[厂家贴息],根据选择的产品政策来判断,若贷款保证金为固定的,需要减去,若为敞口的,不需要减;差额放款需要减厂家贴息,全额放款不需要。差额放款的厂家贴息金额存入“其他应收”字段中,
//计算融资放款的金额以及厂家贴息金额
ResultBean<PushVo> resultBean = loanSolutionsFeign.selectMoney(saleOrderSid);
if (null != resultBean.getData()) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney("-" + resultBean.getData().getMoney());
creditResultDetailDto.setUseTo(CwSystemYT.RONGZI_FANGKUAN.getType());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
SolutionsDetailsVo solutions = loanSolutionsFeign.selectDetails(saleOrderSid).getData();
if (null != solutions) {
//贷款保证金
if (StringUtils.isNotBlank(solutions.getBondAmounts()) && !("0").equals(solutions.getBondAmounts())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getBondAmounts());
creditResultDetailDto.setUseTo(CwSystemYT.BOND_AMOUNTS.getType());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//保险保证金
if (StringUtils.isNotBlank(solutions.getDepositPremium()) && !("0").equals(solutions.getDepositPremium())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getDepositPremium());
creditResultDetailDto.setUseTo(CwSystemYT.DEPOSIT_PREMIUM.getType());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//落户保证金
if (StringUtils.isNotBlank(solutions.getDepositSettle()) && !("0").equals(solutions.getDepositSettle())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getDepositSettle());
creditResultDetailDto.setUseTo(CwSystemYT.DEPOSIT_SETTLE.getType());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//服务费
if (StringUtils.isNotBlank(solutions.getServiceAmount()) && !("0").equals(solutions.getServiceAmount())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.SERVICE_AMOUNT_DANBAO.getType());
creditResultDetailDto.setExTaxMoney(solutions.getServiceAmount());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//代收意外险
if (StringUtils.isNotBlank(solutions.getProxyAccidentPremium()) && !("0").equals(solutions.getProxyAccidentPremium())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getType());
creditResultDetailDto.setExTaxMoney(solutions.getProxyAccidentPremium());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//上牌费、运管费
if ((StringUtils.isNotBlank(solutions.getRegisterAmount()) && !("0").equals(solutions.getRegisterAmount())) ||
(StringUtils.isNotBlank(solutions.getOperationAmount()) && !("0").equals(solutions.getOperationAmount()))) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
BigDecimal registerAmount = new BigDecimal(solutions.getRegisterAmount());
BigDecimal opertionAmount = new BigDecimal(solutions.getOperationAmount());
BigDecimal add = registerAmount.add(opertionAmount);
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.SHANGPAI_YUNGUAN.getType());
creditResultDetailDto.setExTaxMoney(add.toString());
collectionDetailDtoListOne.add(creditResultDetailDto);
customerNumber = busSalesOrderVehicle.getTemporaryNo();
}
//其它费用
if (StringUtils.isNotBlank(solutions.getOtherAmount()) && !("0").equals(solutions.getOtherAmount())) {
creditResult.setCommUnit(customerNumber);
SysOrganizationVo sysOrganizationVo1 = sysOrganizationFeign.fetchBySid(salesOrder.getUseOrgSid()).getData();
creditResult.setCollectionOrg(sysOrganizationVo1.getOrgCode());
creditResult.setBussDate(DateUtil.formatDate(new Date()));
List<CapitalCreditResult.CapitalCreditResultDetailDto> collectionDetailDtoListOne = new ArrayList<>();
SysOrganizationVo sysOrganizationVo2 = sysOrganizationFeign.fetchBySid(salesOrder.getOrgSid()).getData();
//这是生成业务系统融资放款应收的逻辑:
// 融资放款=融资项目总额-融资首付-[贷款保证金]-[厂家贴息],根据选择的产品政策来判断,若贷款保证金为固定的,需要减去,若为敞口的,不需要减;差额放款需要减厂家贴息,全额放款不需要。差额放款的厂家贴息金额存入“其他应收”字段中,
//计算融资放款的金额以及厂家贴息金额
ResultBean<PushVo> resultBean = loanSolutionsFeign.selectMoney(saleOrderSid);
if (null != resultBean.getData()) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getOtherAmount());
creditResultDetailDto.setUseTo(CwSystemYT.OTHER_AMOUNT.getType());
creditResultDetailDto.setExTaxMoney("-" + resultBean.getData().getMoney());
creditResultDetailDto.setUseTo(CwSystemYT.RONGZI_FANGKUAN.getType());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//补车价
if (StringUtils.isNotBlank(solutions.getVehOtherPrice()) && !("0").equals(solutions.getVehOtherPrice())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getVehOtherPrice());
creditResultDetailDto.setUseTo(CwSystemYT.VEH_OTHER_PRICE.getType());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//留购价
if (StringUtils.isNotBlank(solutions.getNominalPrice()) && !("0").equals(solutions.getNominalPrice())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getNominalPrice());
creditResultDetailDto.setUseTo(CwSystemYT.NOMINAL_PRICE.getType());
collectionDetailDtoListOne.add(creditResultDetailDto);
SolutionsDetailsVo solutions = loanSolutionsFeign.selectDetails(saleOrderSid).getData();
if (null != solutions) {
//贷款保证金
if (StringUtils.isNotBlank(solutions.getBondAmounts()) && !("0").equals(solutions.getBondAmounts())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getBondAmounts());
creditResultDetailDto.setUseTo(CwSystemYT.BOND_AMOUNTS.getType());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//保险保证金
if (StringUtils.isNotBlank(solutions.getDepositPremium()) && !("0").equals(solutions.getDepositPremium())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getDepositPremium());
creditResultDetailDto.setUseTo(CwSystemYT.DEPOSIT_PREMIUM.getType());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//落户保证金
if (StringUtils.isNotBlank(solutions.getDepositSettle()) && !("0").equals(solutions.getDepositSettle())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getDepositSettle());
creditResultDetailDto.setUseTo(CwSystemYT.DEPOSIT_SETTLE.getType());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//服务费
if (StringUtils.isNotBlank(solutions.getServiceAmount()) && !("0").equals(solutions.getServiceAmount())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.SERVICE_AMOUNT_DANBAO.getType());
creditResultDetailDto.setExTaxMoney(solutions.getServiceAmount());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//代收意外险
if (StringUtils.isNotBlank(solutions.getProxyAccidentPremium()) && !("0").equals(solutions.getProxyAccidentPremium())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getType());
creditResultDetailDto.setExTaxMoney(solutions.getProxyAccidentPremium());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//上牌费、运管费
if ((StringUtils.isNotBlank(solutions.getRegisterAmount()) && !("0").equals(solutions.getRegisterAmount())) ||
(StringUtils.isNotBlank(solutions.getOperationAmount()) && !("0").equals(solutions.getOperationAmount()))) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
BigDecimal registerAmount = new BigDecimal(solutions.getRegisterAmount());
BigDecimal opertionAmount = new BigDecimal(solutions.getOperationAmount());
BigDecimal add = registerAmount.add(opertionAmount);
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.SHANGPAI_YUNGUAN.getType());
creditResultDetailDto.setExTaxMoney(add.toString());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//其它费用
if (StringUtils.isNotBlank(solutions.getOtherAmount()) && !("0").equals(solutions.getOtherAmount())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getOtherAmount());
creditResultDetailDto.setUseTo(CwSystemYT.OTHER_AMOUNT.getType());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//补车价
if (StringUtils.isNotBlank(solutions.getVehOtherPrice()) && !("0").equals(solutions.getVehOtherPrice())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getVehOtherPrice());
creditResultDetailDto.setUseTo(CwSystemYT.VEH_OTHER_PRICE.getType());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//留购价
if (StringUtils.isNotBlank(solutions.getNominalPrice()) && !("0").equals(solutions.getNominalPrice())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getNominalPrice());
creditResultDetailDto.setUseTo(CwSystemYT.NOMINAL_PRICE.getType());
collectionDetailDtoListOne.add(creditResultDetailDto);
}
}
creditResult.setResultDetails(collectionDetailDtoListOne);
finKingDeeFeign.pushOtherReceivableBill(creditResult);
}
creditResult.setResultDetails(collectionDetailDtoListOne);
finKingDeeFeign.pushOtherReceivableBill(creditResult);
}
}
}
@ -513,7 +516,7 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale
public ResultBean<List<BusSalesOrderLoancontract>> fetchAllByOrderSidAndDkrSid(String saleOrderSid, String saleOrderBorrowerSid) {
ResultBean rb = ResultBean.fireFail();
List<BusSalesOrderLoancontract> busSalesOrderLoancontracts = baseMapper.fetchAllByOrderSidAndDkrSid(saleOrderSid,saleOrderBorrowerSid);
List<BusSalesOrderLoancontract> busSalesOrderLoancontracts = baseMapper.fetchAllByOrderSidAndDkrSid(saleOrderSid, saleOrderBorrowerSid);
return rb.success().setData(busSalesOrderLoancontracts);
}

14
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/capitalcreditresult/OtherReceivableBillCreditResultService.java

@ -72,13 +72,13 @@ public class OtherReceivableBillCreditResultService extends FinKingDeeService {
return rb.setMsg("其他应收单保存失败!");
}
log.info("其他应收单保存成功!");
// String submitKD = getSubmitKD(resultBean1.getData(),KingDeeBillId.AR_OTHERRECEIVABLE.getID());
// ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.AR_OTHERRECEIVABLE.getID(), submitKD, KingDeeBillUrl.SUBMIT_URL.getURL());
// if(!resultBean2.getSuccess()){
// log.info("其他应收单提交失败!");
// return rb.setMsg("其他应收单提交失败!");
// }
// log.info("其他应收单提交成功!");
String submitKD = getSubmitKD(resultBean1.getData(),KingDeeBillId.AR_OTHERRECEIVABLE.getID());
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.AR_OTHERRECEIVABLE.getID(), submitKD, KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("其他应收单提交失败!");
return rb.setMsg("其他应收单提交失败!");
}
log.info("其他应收单提交成功!");
} catch (Exception e) {
e.printStackTrace();
}

Loading…
Cancel
Save