From f5f79a9a1ec4aaa5a9da536aa1495f7ef05b3a39 Mon Sep 17 00:00:00 2001 From: jianghongdong Date: Thu, 2 Aug 2018 11:35:06 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=EF=BC=8C=E9=98=B2=E6=AD=A2?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=B8=8D=E5=88=B0=E4=B8=BAnull=E7=9A=84?= =?UTF-8?q?=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src_tenwa/com/tenwa/lease/app/quartzmession/AutoBuckle.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src_tenwa/com/tenwa/lease/app/quartzmession/AutoBuckle.java b/src_tenwa/com/tenwa/lease/app/quartzmession/AutoBuckle.java index aa7d2f7e0..e3d255eaa 100644 --- a/src_tenwa/com/tenwa/lease/app/quartzmession/AutoBuckle.java +++ b/src_tenwa/com/tenwa/lease/app/quartzmession/AutoBuckle.java @@ -26,7 +26,7 @@ public class AutoBuckle implements Job{ try { tx = JBOFactory.createJBOTransaction(); //and (O.rent<>'' or O.rent<>'0' or O.rent<>'0.0') - List bos = JBOFactory.getBizObjectManager(VI_LC_AUDIT_RENT_PLAN.CLASS_NAME, tx).createQuery("O.COLLECT_STATUS IN ('未收款', '部分收款') and O.PLAN_DATE <= '"+plan_date+"' and O.BATCH_STATUS<>'process' ").getResultList(true); + List bos = JBOFactory.getBizObjectManager(VI_LC_AUDIT_RENT_PLAN.CLASS_NAME, tx).createQuery("O.COLLECT_STATUS IN ('未收款', '部分收款') and O.PLAN_DATE <= '"+plan_date+"' and (O.BATCH_STATUS<>'process' or O.BATCH_STATUS is null)").getResultList(true); StringBuffer ids = new StringBuffer(); if(bos.size()>0){ for (BizObject bo : bos) { From 6ba77ab5787d9c8062f18aa3d18d0c6995440823 Mon Sep 17 00:00:00 2001 From: tangfutang Date: Thu, 2 Aug 2018 14:33:32 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=90=88=E5=90=8C?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Lessee/Person/CustomerCompanyTempInfo.jsp | 8 ++--- .../LBContractTemplateList.jsp | 8 +++-- .../LBContractTemplate/contract_template.jsp | 34 +++++++++++++++++++ .../LBGuaranteePerUnitList.jsp | 2 +- 4 files changed, 44 insertions(+), 8 deletions(-) diff --git a/WebContent/Tenwa/Customer/Lessee/Person/CustomerCompanyTempInfo.jsp b/WebContent/Tenwa/Customer/Lessee/Person/CustomerCompanyTempInfo.jsp index 5a1e65c51..0321c1ca1 100644 --- a/WebContent/Tenwa/Customer/Lessee/Person/CustomerCompanyTempInfo.jsp +++ b/WebContent/Tenwa/Customer/Lessee/Person/CustomerCompanyTempInfo.jsp @@ -11,7 +11,7 @@ if(sPrevUrl == null) sPrevUrl = ""; String sTempletNo = "CustomerCompanyTempInfo";//--模板号-- - if("01".equals(customertype)&&"合同制作流程".equals(flowName)){ + if("01".equals(customertype)&&("合同制作流程".equals(flowName)||"合同变更流程".equals(flowName)||"合同撤销流程(汽车)".equals(flowName))){ sTempletNo = "MakingCustomerCompanyTempInfo";//--模板号-- } ASObjectModel doTemp = new ASObjectModel(sTempletNo); @@ -30,13 +30,13 @@ <%@ include file="/Frame/resources/include/include_end.jspf"%> \ No newline at end of file diff --git a/calc/com/tenwa/reckon/bean/ConditionBean.java b/calc/com/tenwa/reckon/bean/ConditionBean.java index 01dbe2f42..e134cda8b 100644 --- a/calc/com/tenwa/reckon/bean/ConditionBean.java +++ b/calc/com/tenwa/reckon/bean/ConditionBean.java @@ -31,6 +31,8 @@ public class ConditionBean implements Cloneable{ private String custId;//客户编号 private String plannumber;//方案编号 + private int oldIncomeNumber;//原还款总期次 + private Boolean deferStr=false;//是否展期 //*********************************************************************************【授信条件开始:】 private String equipAmt;//设备款 @@ -1716,4 +1718,17 @@ public class ConditionBean implements Cloneable{ public void setFinalPaymentMethod(String finalPaymentMethod) { this.finalPaymentMethod = finalPaymentMethod; } + public int getOldIncomeNumber() { + return oldIncomeNumber; + } + public void setOldIncomeNumber(int oldIncomeNumber) { + this.oldIncomeNumber = oldIncomeNumber; + } + public Boolean getDeferStr() { + return deferStr; + } + public void setDeferStr(Boolean deferStr) { + this.deferStr = deferStr; + } + } diff --git a/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java b/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java index f7e328ad6..7709ac373 100644 --- a/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java +++ b/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java @@ -532,6 +532,7 @@ public class CreateTransactionExecutor implements Transaction { AdjustBean ab = ObjectConvertUtils.converBizObjectToBean(AdjustBean.class, bo); RentChangeExe exe = new RentChangeExe(tx); ConditionBean csOld=bean.getCb().clone(); + csOld.setOldIncomeNumber(csOld.getIncomeNumber()); FundRentPlanBean rentPlan = exe.create(bean.getCb(), ab, bean); //设置新的 csOld.setIncomeNumber(ab.getAdjustList()); diff --git a/calc/com/tenwa/reckon/executor/FundRentPlanExecutor.java b/calc/com/tenwa/reckon/executor/FundRentPlanExecutor.java index 6132a9f68..e4a4ef784 100644 --- a/calc/com/tenwa/reckon/executor/FundRentPlanExecutor.java +++ b/calc/com/tenwa/reckon/executor/FundRentPlanExecutor.java @@ -159,7 +159,6 @@ public abstract class FundRentPlanExecutor { bm.createQuery(sql).executeUpdate(); } public abstract FundRentPlanBean create(TabCalBean tcb,Integer startList) throws Exception ; - public FundRentPlanBean createOnhire(TabCalBean tcb ) throws Exception { ConditionBean cb = tcb.getCb(); // 查询他的租金计划 @@ -212,6 +211,6 @@ public abstract class FundRentPlanExecutor { retainage = retainage.add(new BigDecimal(cb.getFactoryAccessories())); } cb.setShare(share); - cb.setRetainage(retainage); + //cb.setRetainage(retainage); } } diff --git a/calc/com/tenwa/reckon/executor/RentCalHelper.java b/calc/com/tenwa/reckon/executor/RentCalHelper.java index 159868883..2f48203a9 100644 --- a/calc/com/tenwa/reckon/executor/RentCalHelper.java +++ b/calc/com/tenwa/reckon/executor/RentCalHelper.java @@ -145,7 +145,7 @@ public class RentCalHelper { + " sum(case when DATE_FORMAT(t.plandate,'%Y/%m/%d') > DATE_FORMAT('"+this.paydayAdjust+"','%Y/%m/%d') then t.remaininterest else 0 end ) remaininterest, " +" sum(case when DATE_FORMAT(t.plandate,'%Y/%m/%d') > DATE_FORMAT('"+this.paydayAdjust+"','%Y/%m/%d') then t.corpus else 0 end ) remainfincorpus," +" sum(case when DATE_FORMAT( t.plandate,'%Y/%m/%d') > DATE_FORMAT('"+this.paydayAdjust+"','%Y/%m/%d') then t.interest else 0 end ) remainfininterest," - +" sum(case when DATE_FORMAT( t.plandate,'%Y/%m/%d') <= DATE_FORMAT('"+this.paydayAdjust+"','%Y/%m/%d') then t.overduerent else 0 end ) overduerent,sum(case when t.cou< t.planlist and t.planlist-t.cou<=12-t.cou then t.rent else 0 end) fist_rent," + +" sum(case when DATE_FORMAT( t.plandate,'%Y/%m/%d') < DATE_FORMAT('"+this.paydayAdjust+"','%Y/%m/%d') then t.overduerent else 0 end ) overduerent,sum(case when t.cou< t.planlist and t.planlist-t.cou<=12-t.cou then t.rent else 0 end) fist_rent," + " sum(case when t.cou< t.planlist and t.planlist-t.cou>12-t.cou then t.corpus else 0 end) fist_corpus," + " max( case when DATE_FORMAT(t.plandate, '%Y/%m/%d') < DATE_FORMAT('"+this.paydayAdjust+"','%Y/%m/%d') then t.plandate else '0' end) plandate" + " from (" @@ -156,7 +156,7 @@ public class RentCalHelper { + " t1.corpus," + " t1.interest," + " t1.plandate," - + " t1.planlist,IFNULL(t2.cou,0) cou" + + " t1.planlist,IFNULL(t2.planlist,0) cou" + " from (" + " select cfrp.plan_date plandate," + " cfrp.plan_list planlist," @@ -174,7 +174,7 @@ public class RentCalHelper { + " ,sum(cfri.interest ) sumincomeinterest," + " sum( cfri.rent ) sumincomerent," + " min(cfri.contract_id) contractid," - + " cfri.plan_list planlist,count(1) cou" + + " cfri.plan_list planlist " + " from LC_RENT_INCOME cfri " + " where cfri.contract_id = ? and payment_number=?" + " group by cfri.plan_list" diff --git a/calc/com/tenwa/reckon/executor/rentChange/RentChangeExe.java b/calc/com/tenwa/reckon/executor/rentChange/RentChangeExe.java index 65e347906..db643af8b 100644 --- a/calc/com/tenwa/reckon/executor/rentChange/RentChangeExe.java +++ b/calc/com/tenwa/reckon/executor/rentChange/RentChangeExe.java @@ -72,9 +72,12 @@ public class RentChangeExe { FundRentPlanBean frpb = this.before(cb, ab, tcb); FundRentPlanExecutor executor = this.getPmtExe(cb); // 得到正常pmt租金测算后的租金计划 - frpb = executor.create(tcb,startList); - - + if(ab.getAdjustList()>cb.getOldIncomeNumber()){ + cb.setDeferStr(true); + frpb = executor.create(tcb,startList); + }else{ + frpb = executor.createOnhire(tcb); + } //重置起租日 String start_date=""; if(ab.getPaydayAdjust()==null||ab.getPaydayAdjust().equals("")){ @@ -85,7 +88,7 @@ public class RentChangeExe { if(ab.getStartList()==1){ start_date=cb.getStartDate(); }else{ - start_date=frpb.getPlanDateList().get(ab.getStartList()-2).toString(); + start_date=ab.getPaydayAdjust(); } } cb.setStartDate(start_date); diff --git a/calc/com/tenwa/reckon/help/RentalServiceImpl.java b/calc/com/tenwa/reckon/help/RentalServiceImpl.java index 168abe415..4eb613d5a 100644 --- a/calc/com/tenwa/reckon/help/RentalServiceImpl.java +++ b/calc/com/tenwa/reckon/help/RentalServiceImpl.java @@ -73,7 +73,11 @@ public class RentalServiceImpl { }else{ BigDecimal finalPayment = new BigDecimal(cb.getFinalPayment()); if(finalPayment.compareTo(BigDecimal.ZERO) != 0) { - rent = new BigDecimal(RentTools.getPMT(preRate, cb.getIncomeNumber() + "", cleanLeaseMoney, finalPayment.toString(), cb.getPeriodType())).toString(); + if(cb.getDeferStr()){ + rent = new BigDecimal(RentTools.getPMT(preRate, cb.getIncomeNumber() + "", cleanLeaseMoney, "0", cb.getPeriodType())).toString(); + }else{ + rent = new BigDecimal(RentTools.getPMT(preRate, cb.getIncomeNumber() + "", cleanLeaseMoney, finalPayment.toString(), cb.getPeriodType())).toString(); + } } else { rent = new BigDecimal(RentTools.getPMT(preRate, cb.getIncomeNumber() + "", cleanLeaseMoney, cb.getEquipEndValue(), cb.getPeriodType())).toString(); }