From 365e5c1810d7fd11fdd7df3d1bedc1ef66446823 Mon Sep 17 00:00:00 2001 From: tangfutang <3218982385@qq.com> Date: Sun, 24 Apr 2022 16:28:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=86=E6=AE=B5=E8=9E=8D?= =?UTF-8?q?=E7=9A=84=E7=A7=9F=E8=B5=81=E6=9C=9F=E6=AC=A1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tenwa/reckon/executor/CreateTransactionExecutor.java | 9 ++++++++- .../reckon/executor/SegmentedFinancingExecutor.java | 9 +++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java b/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java index 9f4895bd6..068202683 100644 --- a/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java +++ b/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java @@ -313,14 +313,20 @@ public class CreateTransactionExecutor implements Transaction { public String carRunOnhire(com.amarsoft.awe.util.Transaction Sqlca) throws Exception { JBOTransaction tx=null; BizObjectManager Bm=JBOFactory.getBizObjectManager(LC_CALC_CONDITION.CLASS_NAME, Sqlca); + BizObjectManager lprrM=JBOFactory.getBizObjectManager(LC_PAY_RENT_PLAN.CLASS_NAME, Sqlca); BizObject boLCC = Bm.createQuery("contract_id='" + contractId + "'").getSingleResult(true); BizObjectManager bmLCI=JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME, Sqlca); BizObject boLCI = bmLCI.createQuery("id='" + contractId + "'").getSingleResult(false); + + List lprrs = lprrM.createQuery(" payment_number=:payment_number ").setParameter("payment_number", this.plannumber ).getResultList(false); + //获取期次 if(boLCC != null) { String settleMethod = boLCC.getAttribute("SETTLE_METHOD").getString(); String defaultDueDay = ProductParamUtil.getProductParameterValue(productId, "PRD0301", settleMethod, "DefaultDueDay"); - int incomeNumber = boLCC.getAttribute("INCOME_NUMBER").getInt(); +// int incomeNumber = boLCC.getAttribute("INCOME_NUMBER").getInt(); + int incomeNumber = lprrs.size() ; + //期初-期末 String periodType = boLCC.getAttribute("PERIOD_TYPE").getString(); String incomeIntervalMonth = boLCC.getAttribute("INCOME_INTERVAL_MONTH").getInt() + ""; @@ -358,6 +364,7 @@ public class CreateTransactionExecutor implements Transaction { } boLCC.setAttributeValue("start_date", startDate); boLCC.setAttributeValue("lease_amt_date", startDate); + boLCC.setAttributeValue("INCOME_NUMBER", incomeNumber); if(planDateList.size()>0)boLCC.setAttributeValue("first_plan_date", planDateList.get(0)); if(planDateList.size()>1)boLCC.setAttributeValue("second_plan_date", planDateList.get(1)); Bm.saveObject(boLCC); diff --git a/calc/com/tenwa/reckon/executor/SegmentedFinancingExecutor.java b/calc/com/tenwa/reckon/executor/SegmentedFinancingExecutor.java index 684e7864f..30bfd0fdf 100644 --- a/calc/com/tenwa/reckon/executor/SegmentedFinancingExecutor.java +++ b/calc/com/tenwa/reckon/executor/SegmentedFinancingExecutor.java @@ -43,6 +43,7 @@ public class SegmentedFinancingExecutor extends FundRentPlanExecutor { List overCorpuss = new ArrayList<>(); PlanDateServiceImpl pdsi = new PlanDateServiceImpl( tx ); ConditionBean cb = tcb.getCb(); + BigDecimal maxIncomeNumber = BigDecimal.ZERO; for ( BizObject bo : bos ) { // 分段号 String subsectionNumber = bo.getAttribute( "SUBSECTION_NUMBER" ).getString(); @@ -54,6 +55,10 @@ public class SegmentedFinancingExecutor extends FundRentPlanExecutor { BigDecimal preRate = rate.divide( incomeNumberYear, 20, 4 ); // 期次 BigDecimal incomeNumber = new BigDecimal( bo.getAttribute( "INCOME_NUMBER" ).getString() ); + + if(incomeNumber.compareTo(maxIncomeNumber) > 0 ) { + maxIncomeNumber = incomeNumber; + } cb.setIncomeNumber( incomeNumber.intValue() ); List planDateList = pdsi.getPlanDateList( cb, null ); if ( planDateList.size() > dates.size() ) { @@ -179,6 +184,10 @@ public class SegmentedFinancingExecutor extends FundRentPlanExecutor { } } } + //将分段融的最大值赋值给测算期次 + cb.setIncomeNumber( maxIncomeNumber.intValue() ); + //分段融目前没有配置还款间隔,默认为月付。租赁期限和租赁次数一致 + cb.setLeaseTerm( maxIncomeNumber.intValue() ); FundRentPlanBean fundRentPlanBean = new FundRentPlanBean(); fundRentPlanBean.setCorpusOverageBusinessList( overCorpuss ); fundRentPlanBean.setCorpusBusinessList( corpuss );