|
|
@ -1634,6 +1634,174 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<RskVoucher> pushAdvancesReturnVoucherNew(String sid, String paySid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
List<LoanBePadsincereVeh> records = loanBePadsincereVehService.selByMainSidAndPaySid(sid, paySid); |
|
|
|
FinPaymentrecord paymentrecord = finPaymentrecordFeign.fetchBySid(paySid).getData(); |
|
|
|
if (!records.isEmpty()) { |
|
|
|
RskPaymentVoucher paymentVoucher = new RskPaymentVoucher(); |
|
|
|
List<RskPaymentVoucher.PaymentVoucherDetail> voucherDetails = new ArrayList<>(); |
|
|
|
LoanBePadsincereVeh l = records.get(0); |
|
|
|
if (null != l) { |
|
|
|
String accountNumber = paymentrecord.getPayBankAccount(); |
|
|
|
paymentVoucher.setBankAccount(paymentrecord.getPayBankAccount()); |
|
|
|
String mainSid = l.getMainSid(); |
|
|
|
LoanBePadsincereApply loanBePadsincereApply = fetchBySid(mainSid); |
|
|
|
FinManufacturerBank manufacturerBank = finManufacturerBankFeign.selOneByBankNo(accountNumber, loanBePadsincereApply.getUseOrgSid()).getData(); |
|
|
|
if (null != manufacturerBank) { |
|
|
|
paymentVoucher.setPayTypeCode(manufacturerBank.getDueBankKey()); |
|
|
|
} |
|
|
|
String useOrgSid = loanBePadsincereApply.getUseOrgSid(); |
|
|
|
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); |
|
|
|
if (null != organizationVo) { |
|
|
|
paymentVoucher.setUseOrgCode(organizationVo.getOrgCode()); |
|
|
|
} |
|
|
|
} |
|
|
|
RskPaymentVoucher.PaymentVoucherDetail voucherDetail1 = new RskPaymentVoucher.PaymentVoucherDetail(); |
|
|
|
voucherDetail1.setType("贷方"); |
|
|
|
List<BigDecimal> result = new ArrayList<>(); |
|
|
|
records.stream().forEach(r -> { |
|
|
|
result.add(new BigDecimal(r.getPadMoney())); |
|
|
|
}); |
|
|
|
BigDecimal b = result.stream() |
|
|
|
// 使用reduce()聚合函数,实现累加器
|
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
voucherDetail1.setAmount(b); |
|
|
|
voucherDetail1.setDataTime(new DateTime()); |
|
|
|
voucherDetails.add(voucherDetail1); |
|
|
|
for (LoanBePadsincereVeh v : records) { |
|
|
|
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.selOneByBankNoAndBusVinSid(v.getBankContractNo(), v.getSaleVehSid()); |
|
|
|
if (null != planDetails) { |
|
|
|
String bankName = planDetails.getBankName(); |
|
|
|
String orgCode = ""; |
|
|
|
LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid()); |
|
|
|
if (null != schedule) { |
|
|
|
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) { |
|
|
|
orgCode = schedule.getCwDeptNo(); |
|
|
|
} |
|
|
|
} |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData(); |
|
|
|
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData(); |
|
|
|
String customerNumber = ""; |
|
|
|
if (null != salesOrder) { |
|
|
|
if (null != busSalesOrderVehicle) { |
|
|
|
//判断财务系统是否有客户
|
|
|
|
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(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if("0".equals(busSalesOrderVehicle.getRiskState().toString())){ |
|
|
|
if (StringUtils.isNotBlank(v.getBankBeMoney())) { |
|
|
|
BigDecimal beMoney = new BigDecimal(v.getBankBeMoney()); |
|
|
|
if (beMoney.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
RskPaymentVoucher.PaymentVoucherDetail voucherDetail = new RskPaymentVoucher.PaymentVoucherDetail(); |
|
|
|
voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER1.getCode()); |
|
|
|
voucherDetail.setType("借方"); |
|
|
|
if (StringUtils.isNotBlank(bankName)) { |
|
|
|
voucherDetail.setBankName(bankName); |
|
|
|
} |
|
|
|
voucherDetail.setDeptCode(orgCode); |
|
|
|
if (StringUtils.isNotBlank(customerNumber)) { |
|
|
|
voucherDetail.setCustomerCode(customerNumber); |
|
|
|
} |
|
|
|
voucherDetail.setAmount(beMoney); |
|
|
|
voucherDetails.add(voucherDetail); |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(v.getBankBeInter())) { |
|
|
|
BigDecimal beInter = new BigDecimal(v.getBankBeInter()); |
|
|
|
if (beInter.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
RskPaymentVoucher.PaymentVoucherDetail voucherDetail = new RskPaymentVoucher.PaymentVoucherDetail(); |
|
|
|
voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER2.getCode()); |
|
|
|
voucherDetail.setType("借方"); |
|
|
|
if (StringUtils.isNotBlank(bankName)) { |
|
|
|
voucherDetail.setBankName(bankName); |
|
|
|
} |
|
|
|
voucherDetail.setDeptCode(orgCode); |
|
|
|
if (StringUtils.isNotBlank(customerNumber)) { |
|
|
|
voucherDetail.setCustomerCode(customerNumber); |
|
|
|
} |
|
|
|
voucherDetail.setAmount(beInter); |
|
|
|
voucherDetails.add(voucherDetail); |
|
|
|
} |
|
|
|
} |
|
|
|
}else{ |
|
|
|
if (StringUtils.isNotBlank(v.getBankBeMoney())) { |
|
|
|
BigDecimal beMoney = new BigDecimal(v.getBankBeMoney()); |
|
|
|
if (beMoney.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
RskPaymentVoucher.PaymentVoucherDetail voucherDetail = new RskPaymentVoucher.PaymentVoucherDetail(); |
|
|
|
voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER3.getCode()); |
|
|
|
voucherDetail.setType("借方"); |
|
|
|
if (StringUtils.isNotBlank(bankName)) { |
|
|
|
voucherDetail.setBankName(bankName); |
|
|
|
} |
|
|
|
voucherDetail.setDeptCode(orgCode); |
|
|
|
if (StringUtils.isNotBlank(customerNumber)) { |
|
|
|
voucherDetail.setCustomerCode(customerNumber); |
|
|
|
} |
|
|
|
voucherDetail.setAmount(beMoney); |
|
|
|
voucherDetails.add(voucherDetail); |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(v.getBankBeInter())) { |
|
|
|
BigDecimal beInter = new BigDecimal(v.getBankBeInter()); |
|
|
|
if (beInter.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
RskPaymentVoucher.PaymentVoucherDetail voucherDetail = new RskPaymentVoucher.PaymentVoucherDetail(); |
|
|
|
voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER4.getCode()); |
|
|
|
voucherDetail.setType("借方"); |
|
|
|
if (StringUtils.isNotBlank(bankName)) { |
|
|
|
voucherDetail.setBankName(bankName); |
|
|
|
} |
|
|
|
voucherDetail.setDeptCode(orgCode); |
|
|
|
if (StringUtils.isNotBlank(customerNumber)) { |
|
|
|
voucherDetail.setCustomerCode(customerNumber); |
|
|
|
} |
|
|
|
voucherDetail.setAmount(beInter); |
|
|
|
voucherDetails.add(voucherDetail); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
paymentVoucher.setVoucherDetails(voucherDetails); |
|
|
|
RskVoucher rskVoucher = returnAdvancesVoucher(paymentVoucher); |
|
|
|
return rb.success().setData(rskVoucher); |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public RskVoucher returnAdvancesVoucher(RskPaymentVoucher voucher) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
@ -1657,6 +1825,17 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi |
|
|
|
} else if (voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER2.getCode())) { |
|
|
|
dto1.setSummary(voucherDetail.getBankName() + "垫款资方违约金"); |
|
|
|
dto1.setSubjectNo("1201.02.03"); |
|
|
|
}else { |
|
|
|
if(voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER3.getCode())){ |
|
|
|
dto1.setSummary(voucherDetail.getBankName() + "垫付" + voucherDetail.getCustomerName() + "月还款"); |
|
|
|
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(voucherDetail.getBankName(), "investorsCode").getData(); |
|
|
|
if (null != dictCommonVo) { |
|
|
|
dto1.setSubjectNo(dictCommonVo.getDictValue()); |
|
|
|
} |
|
|
|
}else if(voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER4.getCode())){ |
|
|
|
dto1.setSummary(voucherDetail.getBankName() + "垫款资方违约金"); |
|
|
|
dto1.setSubjectNo("1201.03.01"); |
|
|
|
} |
|
|
|
} |
|
|
|
dto1.setDimensionDept(voucherDetail.getDeptCode()); |
|
|
|
dto1.setDimensionCustom(voucherDetail.getCustomerCode()); |
|
|
|