|
|
@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.baomidou.mybatisplus.extension.api.R; |
|
|
|
import com.google.common.util.concurrent.ThreadFactoryBuilder; |
|
|
|
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.bushandover.BusHandover; |
|
|
|
import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItems; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; |
|
|
@ -23,12 +25,17 @@ import com.yxt.anrui.buscenter.api.busvehicledatahandover.BusDataListPdfVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busvehicledatahandover.BusVehicleDataHandoverPdfVo; |
|
|
|
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; |
|
|
|
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserInfoVo; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBank; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVo; |
|
|
@ -41,6 +48,7 @@ import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherp |
|
|
|
import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformation; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformationQuery; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformationVo; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanfinbank.LoanFinBankService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanfinotherPolicy.LoanFinOtherPolicyService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanfinpolicy.LoanFinPolicyService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService; |
|
|
@ -85,6 +93,12 @@ import java.util.stream.Collectors; |
|
|
|
@Service |
|
|
|
public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepaymentScheduleMapper, LoanRepaymentSchedule> { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private LoanFinBankService loanFinBankService; |
|
|
|
@Autowired |
|
|
|
private BasePurchaseSystemFeign basePurchaseSystemFeign; |
|
|
|
@Autowired |
|
|
|
private FinKingDeeFeign finKingDeeFeign; |
|
|
|
@Autowired |
|
|
|
private SysUserFeign sysUserFeign; |
|
|
|
@Autowired |
|
|
@ -282,6 +296,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme |
|
|
|
ResultBean<String> rb = ResultBean.fireFail(); |
|
|
|
LoanRepaymentSchedule loanRepaymentSchedule = baseMapper.selectByContractSid(dto.getSalesOrderSid()); |
|
|
|
String orderSid = ""; |
|
|
|
String scheduleSid = ""; |
|
|
|
BusSalesOrderLoancontractDetailsVo loancontract = busSalesOrderLoancontractFeign.fetchDetailsBySid(dto.getSalesOrderSid()).getData(); |
|
|
|
if (null != loancontract) { |
|
|
|
if (StringUtils.isNotBlank(loancontract.getSalesOrderSid())) { |
|
|
@ -315,6 +330,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme |
|
|
|
} |
|
|
|
} |
|
|
|
if (null != loanRepaymentSchedule) { |
|
|
|
scheduleSid = loanRepaymentSchedule.getSid(); |
|
|
|
BeanUtil.copyProperties(dto, loanRepaymentSchedule, "id", "sid"); |
|
|
|
loanRepaymentSchedule.setLoanContractSid(dto.getSalesOrderSid()); |
|
|
|
loanRepaymentSchedule.setSalesOrderSid(orderSid); |
|
|
@ -658,6 +674,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme |
|
|
|
|
|
|
|
} else { |
|
|
|
LoanRepaymentSchedule entity = new LoanRepaymentSchedule(); |
|
|
|
scheduleSid = entity.getSid(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
entity.setLoanContractSid(dto.getSalesOrderSid()); |
|
|
|
entity.setSalesOrderSid(orderSid); |
|
|
@ -1040,14 +1057,16 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// 使用多线程推送站内信发送短信
|
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(scheduleSid)) { |
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
LoanRepaymentSchedule schedule = fetchBySid(entity.getSid()); |
|
|
|
LoanRepaymentSchedule schedule = fetchBySid(scheduleSid); |
|
|
|
// 使用多线程推送站内信发送短信
|
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
if (null != schedule) { |
|
|
@ -1149,6 +1168,11 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme |
|
|
|
messageFeign.pushNoUriMessage(pushMessageQuery); |
|
|
|
} |
|
|
|
}); |
|
|
|
//推送还款计划总凭证
|
|
|
|
Future future2 = pool.submit(() -> { |
|
|
|
pushScheduleVoucher(schedule); |
|
|
|
}); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
@ -1170,6 +1194,288 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme |
|
|
|
return rb.success().setData(returnPath); |
|
|
|
} |
|
|
|
|
|
|
|
public void pushScheduleVoucher(LoanRepaymentSchedule schedule) { |
|
|
|
String salesOrderSid = schedule.getSalesOrderSid(); |
|
|
|
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(salesOrderSid).getData(); |
|
|
|
String loanContractSid = schedule.getLoanContractSid(); |
|
|
|
List<BusSalesOrderVehicle> vehicles = busSalesOrderVehicleFeign.selectListByOrderSidAndXdConSid(salesOrderSid, loanContractSid).getData(); |
|
|
|
String bankName = ""; |
|
|
|
String otherBankName = ""; |
|
|
|
String isOtherPolicy = schedule.getIsOtherPolicy(); |
|
|
|
String sameBank = schedule.getSameBank(); |
|
|
|
BigDecimal amountMain = new BigDecimal("0.00"); |
|
|
|
BigDecimal amountOther = new BigDecimal("0.00"); |
|
|
|
if (isOtherPolicy.equals("0")) { |
|
|
|
int mainPeriod = Integer.parseInt(schedule.getMainPeriod()); |
|
|
|
int midPeriod = mainPeriod - 2; |
|
|
|
BigDecimal mainFirstRepay = schedule.getMainFirstRepay(); |
|
|
|
BigDecimal mainMidRepay = schedule.getMainMidRepay(); |
|
|
|
BigDecimal mainLastRepay = schedule.getMainLastRepay(); |
|
|
|
amountMain = mainMidRepay.multiply(new BigDecimal(midPeriod)).add(mainFirstRepay).add(mainLastRepay); |
|
|
|
} else if (isOtherPolicy.equals("1")) { |
|
|
|
if (isOtherPolicy.equals("1")) { |
|
|
|
if (sameBank.equals("0")) { |
|
|
|
LoanSolutions loanSolutions = loanSolutionsService.selectBySaleOrderSid(salesOrderSid); |
|
|
|
//查看是否有其他融
|
|
|
|
LoanSolutionsOtherpolicy otherpolicy = loanSolutionsOtherpolicyService.selectByLoanSid(loanSolutions.getSid()); |
|
|
|
if (null != otherpolicy) { |
|
|
|
if (StringUtils.isNotBlank(otherpolicy.getOtherPolicyPeriod())) { |
|
|
|
String otherPolicySid = otherpolicy.getOtherPolicySid(); |
|
|
|
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.fetchBySid(otherPolicySid); |
|
|
|
if (loanFinOtherPolicy != null) { |
|
|
|
if (StringUtils.isNotBlank(loanFinOtherPolicy.getBankSid())) { |
|
|
|
String otherBankSid = loanFinOtherPolicy.getBankSid(); |
|
|
|
LoanFinBank loanFinBank = loanFinBankService.fetchBySid(otherBankSid); |
|
|
|
if (null != loanFinBank) { |
|
|
|
otherBankName = loanFinBank.getBankShortName(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
int mainPeriod = Integer.parseInt(schedule.getMainPeriod()); |
|
|
|
int midPeriod = mainPeriod - 2; |
|
|
|
BigDecimal mainFirstRepay = schedule.getMainFirstRepay(); |
|
|
|
BigDecimal mainMidRepay = schedule.getMainMidRepay(); |
|
|
|
BigDecimal mainLastRepay = schedule.getMainLastRepay(); |
|
|
|
amountMain = mainMidRepay.multiply(new BigDecimal(midPeriod)).add(mainFirstRepay).add(mainLastRepay); |
|
|
|
int otherPeriod = Integer.parseInt(schedule.getOtherPeriod()); |
|
|
|
int midOtherPeriod = otherPeriod - 2; |
|
|
|
BigDecimal otherFirstRepay = schedule.getOtherFirstRepay(); |
|
|
|
BigDecimal otherMidRepay = schedule.getOtherMidRepay(); |
|
|
|
BigDecimal otherLastRepay = schedule.getOtherLastRepay(); |
|
|
|
amountOther = otherMidRepay.multiply(new BigDecimal(midOtherPeriod)).add(otherFirstRepay).add(otherLastRepay); |
|
|
|
} |
|
|
|
if (sameBank.equals("1")) { |
|
|
|
int mainPeriod = Integer.parseInt(schedule.getMainPeriod()); |
|
|
|
int midPeriod = mainPeriod - 2; |
|
|
|
BigDecimal mainFirstRepay = schedule.getMainFirstRepay(); |
|
|
|
BigDecimal mainMidRepay = schedule.getMainMidRepay(); |
|
|
|
BigDecimal mainLastRepay = schedule.getMainLastRepay(); |
|
|
|
amountMain = mainMidRepay.multiply(new BigDecimal(midPeriod)).add(mainFirstRepay).add(mainLastRepay); |
|
|
|
int otherPeriod = Integer.parseInt(schedule.getOtherPeriod()); |
|
|
|
int midOtherPeriod = otherPeriod - 2; |
|
|
|
BigDecimal otherFirstRepay = schedule.getOtherFirstRepay(); |
|
|
|
BigDecimal otherMidRepay = schedule.getOtherMidRepay(); |
|
|
|
BigDecimal otherLastRepay = schedule.getOtherLastRepay(); |
|
|
|
amountOther = otherMidRepay.multiply(new BigDecimal(midOtherPeriod)).add(otherFirstRepay).add(otherLastRepay); |
|
|
|
amountMain = amountMain.add(amountOther); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
LoanFinBank loanFinBank = loanFinBankService.selBankByOrderSid(salesOrderSid); |
|
|
|
if (null != loanFinBank) { |
|
|
|
bankName = loanFinBank.getBankShortName(); |
|
|
|
} |
|
|
|
if (null != salesOrder) { |
|
|
|
if (!vehicles.isEmpty()) { |
|
|
|
for (BusSalesOrderVehicle busSalesOrderVehicle : vehicles) { |
|
|
|
if (isOtherPolicy.equals("0")) { |
|
|
|
GeneralVoucher generalVoucher = new GeneralVoucher(); |
|
|
|
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>(); |
|
|
|
String useOrgSid = salesOrder.getUseOrgSid(); |
|
|
|
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); |
|
|
|
if (null != organizationVo) { |
|
|
|
generalVoucher.setUseOrgCode(organizationVo.getOrgCode()); |
|
|
|
} |
|
|
|
String deptSid = salesOrder.getOrgSid(); |
|
|
|
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); |
|
|
|
if (StringUtils.isNotBlank(bankName)) { |
|
|
|
voucherDetail.setBankName(bankName); |
|
|
|
} |
|
|
|
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData(); |
|
|
|
if (null != organizationDeptVo) { |
|
|
|
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode()); |
|
|
|
} |
|
|
|
// String busVinSid = vehicle.getSid();
|
|
|
|
// BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
|
|
|
|
if (null != busSalesOrderVehicle) { |
|
|
|
String customerNumber = ""; |
|
|
|
//判断财务系统是否有客户
|
|
|
|
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); |
|
|
|
String linkNo = ""; |
|
|
|
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).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 (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { |
|
|
|
String vinNo = busSalesOrderVehicle.getLinkNo(); |
|
|
|
if (vinNo.length() > 8) { |
|
|
|
linkNo = vinNo.substring(vinNo.length() - 8); |
|
|
|
} else { |
|
|
|
linkNo = busSalesOrderVehicle.getLinkNo(); |
|
|
|
} |
|
|
|
if (null != borrowerDetailsVo) { |
|
|
|
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo); |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (null != borrowerDetailsVo) { |
|
|
|
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo()); |
|
|
|
} |
|
|
|
} |
|
|
|
// bdCustomers.add(bdCustomer);
|
|
|
|
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); |
|
|
|
if (resultBean.getSuccess()) { |
|
|
|
customerNumber = bdCustomer.getFNumber(); |
|
|
|
} |
|
|
|
} else { |
|
|
|
customerNumber = busSalesOrderVehicle.getTemporaryNo(); |
|
|
|
} |
|
|
|
voucherDetail.setCustomerCode(customerNumber); |
|
|
|
} |
|
|
|
voucherDetail.setAmount(amountMain); |
|
|
|
voucherDetails.add(voucherDetail); |
|
|
|
generalVoucher.setVoucherDetails(voucherDetails); |
|
|
|
finKingDeeFeign.saveScheduleVoucher(generalVoucher); |
|
|
|
} |
|
|
|
if (isOtherPolicy.equals("1")) { |
|
|
|
if (sameBank.equals("0")) { |
|
|
|
for (int i = 0; i <= 1; i++) { |
|
|
|
GeneralVoucher generalVoucher = new GeneralVoucher(); |
|
|
|
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>(); |
|
|
|
String useOrgSid = salesOrder.getUseOrgSid(); |
|
|
|
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); |
|
|
|
if (null != organizationVo) { |
|
|
|
generalVoucher.setUseOrgCode(organizationVo.getOrgCode()); |
|
|
|
} |
|
|
|
String deptSid = salesOrder.getOrgSid(); |
|
|
|
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); |
|
|
|
if (i == 0) { |
|
|
|
if (StringUtils.isNotBlank(bankName)) { |
|
|
|
voucherDetail.setBankName(bankName); |
|
|
|
} |
|
|
|
} else if (i == 1) { |
|
|
|
if (StringUtils.isNotBlank(otherBankName)) { |
|
|
|
voucherDetail.setBankName(otherBankName); |
|
|
|
} |
|
|
|
} |
|
|
|
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData(); |
|
|
|
if (null != organizationDeptVo) { |
|
|
|
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode()); |
|
|
|
} |
|
|
|
// String busVinSid = vehicle.getSid();
|
|
|
|
// BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
|
|
|
|
if (null != busSalesOrderVehicle) { |
|
|
|
String customerNumber = ""; |
|
|
|
//判断财务系统是否有客户
|
|
|
|
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); |
|
|
|
String linkNo = ""; |
|
|
|
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).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 (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { |
|
|
|
String vinNo = busSalesOrderVehicle.getLinkNo(); |
|
|
|
if (vinNo.length() > 8) { |
|
|
|
linkNo = vinNo.substring(vinNo.length() - 8); |
|
|
|
} else { |
|
|
|
linkNo = busSalesOrderVehicle.getLinkNo(); |
|
|
|
} |
|
|
|
if (null != borrowerDetailsVo) { |
|
|
|
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo); |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (null != borrowerDetailsVo) { |
|
|
|
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo()); |
|
|
|
} |
|
|
|
} |
|
|
|
// bdCustomers.add(bdCustomer);
|
|
|
|
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); |
|
|
|
if (resultBean.getSuccess()) { |
|
|
|
customerNumber = bdCustomer.getFNumber(); |
|
|
|
} |
|
|
|
} else { |
|
|
|
customerNumber = busSalesOrderVehicle.getTemporaryNo(); |
|
|
|
} |
|
|
|
voucherDetail.setCustomerCode(customerNumber); |
|
|
|
} |
|
|
|
if (i == 0) { |
|
|
|
voucherDetail.setAmount(amountMain); |
|
|
|
} else if (i == 1) { |
|
|
|
voucherDetail.setAmount(amountOther); |
|
|
|
} |
|
|
|
voucherDetails.add(voucherDetail); |
|
|
|
generalVoucher.setVoucherDetails(voucherDetails); |
|
|
|
finKingDeeFeign.saveScheduleVoucher(generalVoucher); |
|
|
|
} |
|
|
|
} |
|
|
|
if (sameBank.equals("1")) { |
|
|
|
GeneralVoucher generalVoucher = new GeneralVoucher(); |
|
|
|
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>(); |
|
|
|
String useOrgSid = salesOrder.getUseOrgSid(); |
|
|
|
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); |
|
|
|
if (null != organizationVo) { |
|
|
|
generalVoucher.setUseOrgCode(organizationVo.getOrgCode()); |
|
|
|
} |
|
|
|
String deptSid = salesOrder.getOrgSid(); |
|
|
|
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); |
|
|
|
if (StringUtils.isNotBlank(bankName)) { |
|
|
|
voucherDetail.setBankName(bankName); |
|
|
|
} |
|
|
|
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData(); |
|
|
|
if (null != organizationDeptVo) { |
|
|
|
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode()); |
|
|
|
} |
|
|
|
// String busVinSid = vehicle.getSid();
|
|
|
|
// BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
|
|
|
|
if (null != busSalesOrderVehicle) { |
|
|
|
String customerNumber = ""; |
|
|
|
//判断财务系统是否有客户
|
|
|
|
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); |
|
|
|
String linkNo = ""; |
|
|
|
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).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 (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { |
|
|
|
String vinNo = busSalesOrderVehicle.getLinkNo(); |
|
|
|
if (vinNo.length() > 8) { |
|
|
|
linkNo = vinNo.substring(vinNo.length() - 8); |
|
|
|
} else { |
|
|
|
linkNo = busSalesOrderVehicle.getLinkNo(); |
|
|
|
} |
|
|
|
if (null != borrowerDetailsVo) { |
|
|
|
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo); |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (null != borrowerDetailsVo) { |
|
|
|
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo()); |
|
|
|
} |
|
|
|
} |
|
|
|
// bdCustomers.add(bdCustomer);
|
|
|
|
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); |
|
|
|
if (resultBean.getSuccess()) { |
|
|
|
customerNumber = bdCustomer.getFNumber(); |
|
|
|
} |
|
|
|
} else { |
|
|
|
customerNumber = busSalesOrderVehicle.getTemporaryNo(); |
|
|
|
} |
|
|
|
voucherDetail.setCustomerCode(customerNumber); |
|
|
|
} |
|
|
|
voucherDetail.setAmount(amountMain); |
|
|
|
voucherDetails.add(voucherDetail); |
|
|
|
generalVoucher.setVoucherDetails(voucherDetails); |
|
|
|
finKingDeeFeign.saveScheduleVoucher(generalVoucher); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 根据首期还款日+主产品期数推算主产品月还日期 |
|
|
|
* |
|
|
|