|
|
@ -1246,6 +1246,7 @@ 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(); |
|
|
@ -1528,6 +1529,766 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public List<LoanVoucherPdf> returnVoucherPdf(LoanRepaymentSchedule schedule) { |
|
|
|
List<LoanVoucherPdf> pdfs = new ArrayList<>(); |
|
|
|
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")) { |
|
|
|
LoanVoucherPdf pdf = new LoanVoucherPdf(); |
|
|
|
if (null != schedule.getCreateTime()) { |
|
|
|
pdf.setCreateTime(DateUtil.formatDate(schedule.getCreateTime())); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(schedule.getLoanContractNo())) { |
|
|
|
pdf.setLoanContractNo(schedule.getLoanContractNo()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(salesOrder.getOrgName())) { |
|
|
|
pdf.setSalesDept(salesOrder.getOrgName()); |
|
|
|
} |
|
|
|
pdf.setBankName(bankName); |
|
|
|
if (StringUtils.isNotBlank(salesOrder.getCustomerName())) { |
|
|
|
pdf.setCustomer(salesOrder.getCustomerName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(schedule.getBorrowerName())) { |
|
|
|
pdf.setBorrowerName(schedule.getBorrowerName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { |
|
|
|
pdf.setVinNo(busSalesOrderVehicle.getLinkNo()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(schedule.getMainPeriod())) { |
|
|
|
pdf.setPeriod(schedule.getMainPeriod()); |
|
|
|
} |
|
|
|
if (null != schedule.getMainRepayDate()) { |
|
|
|
pdf.setDueDate(DateUtil.formatDate(schedule.getMainRepayDate())); |
|
|
|
} |
|
|
|
if (null != schedule.getMainFirstRepay()) { |
|
|
|
pdf.setFMoney(schedule.getMainFirstRepay().toString()); |
|
|
|
} |
|
|
|
if (null != schedule.getMainMidRepay()) { |
|
|
|
pdf.setMMoney(schedule.getMainMidRepay().toString()); |
|
|
|
} |
|
|
|
if (null != schedule.getMainLastRepay()) { |
|
|
|
pdf.setLMoney(schedule.getMainLastRepay().toString()); |
|
|
|
} |
|
|
|
pdf.setAmount(amountMain.toString()); |
|
|
|
pdfs.add(pdf); |
|
|
|
} |
|
|
|
if (isOtherPolicy.equals("1")) { |
|
|
|
if (sameBank.equals("0")) { |
|
|
|
for (int i = 0; i <= 1; i++) { |
|
|
|
LoanVoucherPdf pdf = new LoanVoucherPdf(); |
|
|
|
if (null != schedule.getCreateTime()) { |
|
|
|
pdf.setCreateTime(DateUtil.formatDate(schedule.getCreateTime())); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(schedule.getLoanContractNo())) { |
|
|
|
pdf.setLoanContractNo(schedule.getLoanContractNo()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(salesOrder.getOrgName())) { |
|
|
|
pdf.setSalesDept(salesOrder.getOrgName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(salesOrder.getCustomerName())) { |
|
|
|
pdf.setCustomer(salesOrder.getCustomerName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(schedule.getBorrowerName())) { |
|
|
|
pdf.setBorrowerName(schedule.getBorrowerName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { |
|
|
|
pdf.setVinNo(busSalesOrderVehicle.getLinkNo()); |
|
|
|
} |
|
|
|
if (i == 0) { |
|
|
|
if (StringUtils.isNotBlank(bankName)) { |
|
|
|
pdf.setBankName(bankName); |
|
|
|
} |
|
|
|
pdf.setAmount(amountMain.toString()); |
|
|
|
if (StringUtils.isNotBlank(schedule.getMainPeriod())) { |
|
|
|
pdf.setPeriod(schedule.getMainPeriod()); |
|
|
|
} |
|
|
|
if (null != schedule.getMainRepayDate()) { |
|
|
|
pdf.setDueDate(DateUtil.formatDate(schedule.getMainRepayDate())); |
|
|
|
} |
|
|
|
if (null != schedule.getMainFirstRepay()) { |
|
|
|
pdf.setFMoney(schedule.getMainFirstRepay().toString()); |
|
|
|
} |
|
|
|
if (null != schedule.getMainMidRepay()) { |
|
|
|
pdf.setMMoney(schedule.getMainMidRepay().toString()); |
|
|
|
} |
|
|
|
if (null != schedule.getMainLastRepay()) { |
|
|
|
pdf.setLMoney(schedule.getMainLastRepay().toString()); |
|
|
|
} |
|
|
|
} else if (i == 1) { |
|
|
|
if (StringUtils.isNotBlank(otherBankName)) { |
|
|
|
pdf.setBankName(otherBankName); |
|
|
|
} |
|
|
|
pdf.setAmount(amountOther.toString()); |
|
|
|
if (StringUtils.isNotBlank(schedule.getMainPeriod())) { |
|
|
|
pdf.setPeriod(schedule.getMainPeriod()); |
|
|
|
} |
|
|
|
if (null != schedule.getOtherRepayDate()) { |
|
|
|
pdf.setDueDate(DateUtil.formatDate(schedule.getOtherRepayDate())); |
|
|
|
} |
|
|
|
if (null != schedule.getOtherFirstRepay()) { |
|
|
|
pdf.setFMoney(schedule.getOtherFirstRepay().toString()); |
|
|
|
} |
|
|
|
if (null != schedule.getOtherMidRepay()) { |
|
|
|
pdf.setMMoney(schedule.getOtherMidRepay().toString()); |
|
|
|
} |
|
|
|
if (null != schedule.getOtherLastRepay()) { |
|
|
|
pdf.setLMoney(schedule.getOtherLastRepay().toString()); |
|
|
|
} |
|
|
|
} |
|
|
|
pdfs.add(pdf); |
|
|
|
} |
|
|
|
} |
|
|
|
if (sameBank.equals("1")) { |
|
|
|
LoanVoucherPdf pdf = new LoanVoucherPdf(); |
|
|
|
if (null != schedule.getCreateTime()) { |
|
|
|
pdf.setCreateTime(DateUtil.formatDate(schedule.getCreateTime())); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(schedule.getLoanContractNo())) { |
|
|
|
pdf.setLoanContractNo(schedule.getLoanContractNo()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(salesOrder.getOrgName())) { |
|
|
|
pdf.setSalesDept(salesOrder.getOrgName()); |
|
|
|
} |
|
|
|
pdf.setBankName(bankName); |
|
|
|
if (StringUtils.isNotBlank(salesOrder.getCustomerName())) { |
|
|
|
pdf.setCustomer(salesOrder.getCustomerName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(schedule.getBorrowerName())) { |
|
|
|
pdf.setBorrowerName(schedule.getBorrowerName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { |
|
|
|
pdf.setVinNo(busSalesOrderVehicle.getLinkNo()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(schedule.getMainPeriod()) && StringUtils.isNotBlank(schedule.getOtherPeriod())) { |
|
|
|
pdf.setPeriod(schedule.getMainPeriod() + "/" + schedule.getOtherPeriod()); |
|
|
|
} |
|
|
|
if (null != schedule.getMainRepayDate()) { |
|
|
|
pdf.setDueDate(DateUtil.formatDate(schedule.getMainRepayDate())); |
|
|
|
} |
|
|
|
if (null != schedule.getMainFirstRepay() && null != schedule.getOtherFirstRepay()) { |
|
|
|
pdf.setFMoney(schedule.getMainFirstRepay().toString() + "/" + schedule.getOtherFirstRepay()); |
|
|
|
} |
|
|
|
if (null != schedule.getMainMidRepay() && null != schedule.getOtherMidRepay()) { |
|
|
|
pdf.setMMoney(schedule.getMainMidRepay().toString() + "/" + schedule.getOtherMidRepay()); |
|
|
|
} |
|
|
|
if (null != schedule.getMainLastRepay() && null != schedule.getOtherLastRepay()) { |
|
|
|
pdf.setLMoney(schedule.getMainLastRepay().toString() + "/" + schedule.getOtherLastRepay()); |
|
|
|
} |
|
|
|
pdf.setAmount(amountMain.toString()); |
|
|
|
pdfs.add(pdf); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return pdfs; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String returnVoucherFilePath(List<LoanVoucherPdf> pdfVos, String page) { |
|
|
|
String path = ""; |
|
|
|
if (!pdfVos.isEmpty()) { |
|
|
|
Map<String, Object> dataMap = new HashMap<String, Object>(); |
|
|
|
for (LoanVoucherPdf pdfVo : pdfVos) { |
|
|
|
if (null != pdfVo) { |
|
|
|
if (pdfVo.getTemplate().equals("1")) { |
|
|
|
dataMap.put("createTime1", pdfVo.getCreateTime()); |
|
|
|
dataMap.put("loanContractNo1", pdfVo.getLoanContractNo()); |
|
|
|
dataMap.put("salesDept1", pdfVo.getSalesDept()); |
|
|
|
dataMap.put("bankName1", pdfVo.getBankName()); |
|
|
|
dataMap.put("customer1", pdfVo.getCustomer()); |
|
|
|
dataMap.put("borrowerName1", pdfVo.getBorrowerName()); |
|
|
|
dataMap.put("vinNo1", pdfVo.getVinNo()); |
|
|
|
dataMap.put("period1", pdfVo.getPeriod()); |
|
|
|
dataMap.put("amount1", pdfVo.getAmount()); |
|
|
|
dataMap.put("dueDate1", pdfVo.getDueDate()); |
|
|
|
dataMap.put("fMoney1", pdfVo.getFMoney()); |
|
|
|
dataMap.put("mMoney1", pdfVo.getMMoney()); |
|
|
|
dataMap.put("lMoney1", pdfVo.getLMoney()); |
|
|
|
} else if (pdfVo.getTemplate().equals("2")) { |
|
|
|
dataMap.put("createTime2", pdfVo.getCreateTime()); |
|
|
|
dataMap.put("loanContractNo2", pdfVo.getLoanContractNo()); |
|
|
|
dataMap.put("salesDept2", pdfVo.getSalesDept()); |
|
|
|
dataMap.put("bankName2", pdfVo.getBankName()); |
|
|
|
dataMap.put("customer2", pdfVo.getCustomer()); |
|
|
|
dataMap.put("borrowerName2", pdfVo.getBorrowerName()); |
|
|
|
dataMap.put("vinNo2", pdfVo.getVinNo()); |
|
|
|
dataMap.put("period2", pdfVo.getPeriod()); |
|
|
|
dataMap.put("amount2", pdfVo.getAmount()); |
|
|
|
dataMap.put("dueDate2", pdfVo.getDueDate()); |
|
|
|
dataMap.put("fMoney2", pdfVo.getFMoney()); |
|
|
|
dataMap.put("mMoney2", pdfVo.getMMoney()); |
|
|
|
dataMap.put("lMoney2", pdfVo.getLMoney()); |
|
|
|
; |
|
|
|
} else if (pdfVo.getTemplate().equals("3")) { |
|
|
|
dataMap.put("createTime3", pdfVo.getCreateTime()); |
|
|
|
dataMap.put("loanContractNo3", pdfVo.getLoanContractNo()); |
|
|
|
dataMap.put("salesDept3", pdfVo.getSalesDept()); |
|
|
|
dataMap.put("bankName3", pdfVo.getBankName()); |
|
|
|
dataMap.put("customer3", pdfVo.getCustomer()); |
|
|
|
dataMap.put("borrowerName3", pdfVo.getBorrowerName()); |
|
|
|
dataMap.put("vinNo3", pdfVo.getVinNo()); |
|
|
|
dataMap.put("period3", pdfVo.getPeriod()); |
|
|
|
dataMap.put("amount3", pdfVo.getAmount()); |
|
|
|
dataMap.put("dueDate3", pdfVo.getDueDate()); |
|
|
|
dataMap.put("fMoney3", pdfVo.getFMoney()); |
|
|
|
dataMap.put("mMoney3", pdfVo.getMMoney()); |
|
|
|
dataMap.put("lMoney3", pdfVo.getLMoney()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
String targetPath = docPdfComponent.getUploadTemplateUrl(); |
|
|
|
try { |
|
|
|
String resourceAsStreamPath = ""; |
|
|
|
if (page.equals("1")) { |
|
|
|
resourceAsStreamPath = "ftl/vouchers/repayment1.ftl"; |
|
|
|
} else if (page.equals("2")) { |
|
|
|
resourceAsStreamPath = "ftl/vouchers/repayment2.ftl"; |
|
|
|
} else if (page.equals("3")) { |
|
|
|
resourceAsStreamPath = "ftl/vouchers/repayment3.ftl"; |
|
|
|
} |
|
|
|
//获取模板
|
|
|
|
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(resourceAsStreamPath); |
|
|
|
//生成word文件名
|
|
|
|
String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); |
|
|
|
long seconds = System.currentTimeMillis(); |
|
|
|
String typeName = dateStr + seconds + ".doc"; |
|
|
|
File file = new File(targetPath + "templateVouchers" + seconds + ".ftl"); |
|
|
|
File dir = new File(targetPath); |
|
|
|
WordConvertUtils.inputStreamToFile(inputStream, file); |
|
|
|
WordConvertUtils.creatWord1(dataMap, file, targetPath, typeName, dir); |
|
|
|
//新生成的word路径
|
|
|
|
String wordPath = targetPath + typeName; |
|
|
|
String pdfName = "还款计划表凭证" + dateStr + seconds + ".pdf"; |
|
|
|
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName); |
|
|
|
path = targetPath + pdfName; |
|
|
|
} catch (NoClassDefFoundError e) { |
|
|
|
e.printStackTrace(); |
|
|
|
path = targetPath; |
|
|
|
} |
|
|
|
return path; |
|
|
|
} |
|
|
|
return path; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<String> createRepaymentVoucher(String[] sids) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
List<LoanVoucherPdf> pdfs = new ArrayList<>(); |
|
|
|
List<File> fileList1 = new ArrayList<>(); |
|
|
|
String filePath = "/template/"; |
|
|
|
List<File> fileList2 = new ArrayList<>(); |
|
|
|
String finalPath = ""; |
|
|
|
List<File> delFile = new ArrayList<>(); |
|
|
|
for (String sid : sids) { |
|
|
|
LoanRepaymentSchedule repaymentSchedule = baseMapper.selectByContractSid(sid); |
|
|
|
if (null != repaymentSchedule) { |
|
|
|
List<LoanVoucherPdf> pdfList = returnVoucherPdf(repaymentSchedule); |
|
|
|
if (!pdfList.isEmpty()) { |
|
|
|
int num = 0; |
|
|
|
int c = pdfList.size() % 3; |
|
|
|
if (c == 0) { |
|
|
|
num = pdfList.size() / 3; |
|
|
|
} else { |
|
|
|
num = (pdfList.size() / 3) + 1; |
|
|
|
} |
|
|
|
if (pdfList.size() == 1) { |
|
|
|
for (LoanVoucherPdf pdf : pdfList) { |
|
|
|
pdf.setTemplate("1"); |
|
|
|
pdf.setPage("1"); |
|
|
|
} |
|
|
|
String s = returnVoucherFilePath(pdfList, "1"); |
|
|
|
File file1 = new File(s); |
|
|
|
fileList1.add(file1); |
|
|
|
} else if (pdfList.size() == 2) { |
|
|
|
for (int i = 0; i < pdfList.size(); i++) { |
|
|
|
LoanVoucherPdf pdf = pdfList.get(i); |
|
|
|
if (i == 0) { |
|
|
|
pdf.setTemplate("1"); |
|
|
|
} else if (i == 1) { |
|
|
|
pdf.setTemplate("2"); |
|
|
|
} |
|
|
|
pdf.setPage("1"); |
|
|
|
} |
|
|
|
String s = returnVoucherFilePath(pdfList, "2"); |
|
|
|
File file1 = new File(s); |
|
|
|
fileList1.add(file1); |
|
|
|
} else if (pdfList.size() >= 3) { |
|
|
|
for (int i = 0; i < num; i++) { |
|
|
|
List<LoanVoucherPdf> newPdfList = new ArrayList<>(); |
|
|
|
if (i == num - 1) { |
|
|
|
String page = ""; |
|
|
|
if (c == 1) { |
|
|
|
page = "1"; |
|
|
|
} else if (c == 2) { |
|
|
|
page = "2"; |
|
|
|
} |
|
|
|
if (pdfList.size() > (num - 1) * 3) { |
|
|
|
LoanVoucherPdf a = pdfList.get((num - 1) * 3); |
|
|
|
if (a != null) { |
|
|
|
a.setTemplate("1"); |
|
|
|
a.setPage(page); |
|
|
|
newPdfList.add(a); |
|
|
|
} |
|
|
|
} |
|
|
|
if (pdfList.size() > (num - 1) * 3 + 1) { |
|
|
|
LoanVoucherPdf a1 = pdfList.get((num - 1) * 3 + 1); |
|
|
|
if (a1 != null) { |
|
|
|
a1.setTemplate("2"); |
|
|
|
a1.setPage(page); |
|
|
|
newPdfList.add(a1); |
|
|
|
} |
|
|
|
} |
|
|
|
if (pdfList.size() > (num - 1) * 3 + 2) { |
|
|
|
LoanVoucherPdf a2 = pdfList.get((num - 1) * 3 + 2); |
|
|
|
if (a2 != null) { |
|
|
|
a2.setTemplate("3"); |
|
|
|
a2.setPage(page); |
|
|
|
newPdfList.add(a2); |
|
|
|
} |
|
|
|
} |
|
|
|
String s = returnVoucherFilePath(newPdfList, page); |
|
|
|
File file1 = new File(s); |
|
|
|
fileList1.add(file1); |
|
|
|
} else if (i == 0) { |
|
|
|
LoanVoucherPdf a = pdfList.get(i); |
|
|
|
LoanVoucherPdf a1 = pdfList.get(i + 1); |
|
|
|
LoanVoucherPdf a2 = pdfList.get(i + 2); |
|
|
|
if (a != null) { |
|
|
|
a.setTemplate("1"); |
|
|
|
a.setPage("3"); |
|
|
|
newPdfList.add(a); |
|
|
|
} |
|
|
|
if (a1 != null) { |
|
|
|
a1.setTemplate("2"); |
|
|
|
a1.setPage("3"); |
|
|
|
newPdfList.add(a1); |
|
|
|
} |
|
|
|
if (a2 != null) { |
|
|
|
a2.setTemplate("3"); |
|
|
|
a2.setPage("3"); |
|
|
|
newPdfList.add(a2); |
|
|
|
} |
|
|
|
String s = returnVoucherFilePath(newPdfList, "3"); |
|
|
|
File file1 = new File(s); |
|
|
|
fileList1.add(file1); |
|
|
|
} else { |
|
|
|
LoanVoucherPdf a = pdfList.get(i * 3); |
|
|
|
LoanVoucherPdf a1 = pdfList.get(i * 3 + 1); |
|
|
|
LoanVoucherPdf a2 = pdfList.get(i * 3 + 2); |
|
|
|
if (a != null) { |
|
|
|
a.setTemplate("1"); |
|
|
|
a.setPage("3"); |
|
|
|
newPdfList.add(a); |
|
|
|
} |
|
|
|
if (a1 != null) { |
|
|
|
a1.setTemplate("2"); |
|
|
|
a1.setPage("3"); |
|
|
|
newPdfList.add(a1); |
|
|
|
} |
|
|
|
if (a2 != null) { |
|
|
|
a2.setTemplate("3"); |
|
|
|
a2.setPage("3"); |
|
|
|
newPdfList.add(a2); |
|
|
|
} |
|
|
|
String s = returnVoucherFilePath(newPdfList, "3"); |
|
|
|
File file1 = new File(s); |
|
|
|
fileList1.add(file1); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
if (fileList1.size() == 1) { |
|
|
|
for (File file : fileList1) { |
|
|
|
fileList2.add(file); |
|
|
|
delFile.add(file); |
|
|
|
} |
|
|
|
} else if (fileList1.size() > 1) { |
|
|
|
String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); |
|
|
|
long seconds = System.currentTimeMillis(); |
|
|
|
String targetPath = docPdfComponent.getUploadTemplateUrl(); |
|
|
|
try { |
|
|
|
File file = WordConvertUtils.mulFile2One(fileList1, targetPath + dateStr + seconds + "还款计划凭证.pdf"); |
|
|
|
if (null != file) { |
|
|
|
fileList2.add(file); |
|
|
|
delFile.add(file); |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} else { |
|
|
|
return rb.setMsg("所选数据中包含未生成还款计划数据,无法下载"); |
|
|
|
} |
|
|
|
} |
|
|
|
if (!fileList2.isEmpty()) { |
|
|
|
String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); |
|
|
|
long seconds = System.currentTimeMillis(); |
|
|
|
String targetPath = docPdfComponent.getUploadTemplateUrl(); |
|
|
|
try { |
|
|
|
File file = WordConvertUtils.mulFile2One(fileList2, targetPath + dateStr + seconds + "还款计划凭证.pdf"); |
|
|
|
System.out.println("==============================="); |
|
|
|
System.out.println(file.getAbsolutePath()); |
|
|
|
System.out.println("==============================="); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
if (fileList2.size() > 0) { |
|
|
|
finalPath = filePath + dateStr + seconds + "还款计划凭证.pdf"; |
|
|
|
} |
|
|
|
if (!delFile.isEmpty()) { |
|
|
|
for (File file : delFile) { |
|
|
|
file.delete(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success().setData(finalPath); |
|
|
|
} |
|
|
|
|
|
|
|
//合并推送凭证
|
|
|
|
public void pushScheduleVoucher2(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) { |
|
|
|
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()); |
|
|
|
} |
|
|
|
if (isOtherPolicy.equals("0")) { |
|
|
|
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); |
|
|
|
|
|
|
|
} |
|
|
|
if (isOtherPolicy.equals("1")) { |
|
|
|
if (sameBank.equals("0")) { |
|
|
|
for (int i = 0; i <= 1; i++) { |
|
|
|
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); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
if (sameBank.equals("1")) { |
|
|
|
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); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 根据首期还款日+主产品期数推算主产品月还日期 |
|
|
|
* |
|
|
@ -2470,4 +3231,6 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme |
|
|
|
List<LoanRepaymentHistory> repaymentHistories = baseMapper.selHistoryBySid(sid); |
|
|
|
return rb.success().setData(repaymentHistories); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|