diff --git a/WebContent/Accounting/LoanSimulation_change/LCRentChangeInfo.jsp b/WebContent/Accounting/LoanSimulation_change/LCRentChangeInfo.jsp index d4cfe4c05..891fc54b4 100644 --- a/WebContent/Accounting/LoanSimulation_change/LCRentChangeInfo.jsp +++ b/WebContent/Accounting/LoanSimulation_change/LCRentChangeInfo.jsp @@ -17,13 +17,14 @@ String taskno = CurPage.getParameter("TaskNo"); String settleMethod=""; String rentOrRate=""; + BizObject condition=null; if(plannumber==null){ - BizObject condition=JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LC_CALC_CONDITION_TEMP","flowunid=:flowunid").setParameter("flowunid", flowunid).getSingleResult(false); + condition=JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LC_CALC_CONDITION_TEMP","flowunid=:flowunid").setParameter("flowunid", flowunid).getSingleResult(false); plannumber=condition.getAttribute("payment_number").getString(); settleMethod=condition.getAttribute("SETTLE_METHOD").getString(); rentOrRate=condition.getAttribute("RENT_OR_RATE").getString(); }else{ - BizObject condition=JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LC_CALC_CONDITION_TEMP","flowunid=:flowunid and payment_number=:plannumber").setParameter("flowunid", flowunid).setParameter("plannumber", plannumber).getSingleResult(false); + condition=JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LC_CALC_CONDITION_TEMP","flowunid=:flowunid and payment_number=:plannumber").setParameter("flowunid", flowunid).setParameter("plannumber", plannumber).getSingleResult(false); settleMethod=condition.getAttribute("SETTLE_METHOD").getString(); rentOrRate=condition.getAttribute("RENT_OR_RATE").getString(); } @@ -120,12 +121,14 @@ $(function(){ function saveRecord(sPostEvents) { //检查是否进行过变更 - var result = AsControl.RunJavaMethod("com.tenwa.reckon.executor.CreateTransactionExecutor","checkIsRentChange","flowunid=<%=flowunid%>,plannumber=<%=plannumber%>"); + as_save("myiframe0","run()"); + +<%-- var result = AsControl.RunJavaMethod("com.tenwa.reckon.executor.CreateTransactionExecutor","checkIsRentChange","flowunid=<%=flowunid%>,plannumber=<%=plannumber%>"); if(result == 'true'){ as_save("myiframe0","run()"); }else{ alert('请先撤销变更,再进行变更操作!!!'); - } + } --%> } function cancelChange(){ diff --git a/WebContent/Accounting/LoanSimulation_change/LoanBasicInfo.jsp b/WebContent/Accounting/LoanSimulation_change/LoanBasicInfo.jsp index f6aa04d43..70bbf8320 100644 --- a/WebContent/Accounting/LoanSimulation_change/LoanBasicInfo.jsp +++ b/WebContent/Accounting/LoanSimulation_change/LoanBasicInfo.jsp @@ -14,6 +14,7 @@ String plannumber=CurPage.getParameter("plannumber"); String ishistory=CurPage.getParameter("IsHistory"); String nodeNo=CurPage.getParameter("NodeNo"); + String FlowNo=CurPage.getParameter("FlowNo");//流程名称 String taskno = CurPage.getParameter("TaskNo"); if(null!=ishistory&&ishistory.equals("true")){ doTemp.setDataQueryClass("com.tenwa.lease.flow.flowarchive.calcarchive.CalcCondtionInfoArachiveShow");//如果是历史则新显示历史数据 @@ -63,14 +64,18 @@ dwTemp.replaceColumn("knowing_config", "", CurPage.getObjectWindowOutput()); String sButtons[][] = { - {"true","","Button","保存","保存所有修改","as_save(0)","","","",""}, + {"ContractOnhireCarChangeFlow".equals(FlowNo)?"false":"true","","Button","保存","保存所有修改","as_save(0)","","","",""}, }; %><%@ include file="/Frame/resources/include/ui/include_info.jspf"%> <%@ include file="/Frame/resources/include/include_end.jspf"%> \ No newline at end of file diff --git a/WebContent/Tenwa/Lease/Flow/Contract/ContractEnd/ContractEndApplyList.jsp b/WebContent/Tenwa/Lease/Flow/Contract/ContractEnd/ContractEndApplyList.jsp index 9ac3e9276..9e94cc142 100644 --- a/WebContent/Tenwa/Lease/Flow/Contract/ContractEnd/ContractEndApplyList.jsp +++ b/WebContent/Tenwa/Lease/Flow/Contract/ContractEnd/ContractEndApplyList.jsp @@ -16,8 +16,9 @@ var product_id=sReturn[2]; var contract_number = sReturn[3]; var project_name = sReturn[4]; + var customertype = sReturn[5]; var sParams = "ApplyType=<%=sApplyType%>,CurUserID=<%=CurUser.getUserID()%>"; - sParams =sParams+",ProjectId="+project_id+",FlowKey="+contract_number+",ProductId="+product_id+",ContractId="+contract_id+",ProjectName="+project_name+",ApplyType=<%=sApplyType%>"; + sParams =sParams+",customertype="+customertype+",ProjectId="+project_id+",FlowKey="+contract_number+",ProductId="+product_id+",ContractId="+contract_id+",ProjectName="+project_name+",ApplyType=<%=sApplyType%>"; var sReturnInfo = RunJavaMethodTrans("com.tenwa.flow.action.comm.BaseFlowStartAction","initFLow",sParams); if(typeof(sReturnInfo)=="undefined" || sReturnInfo=="" || sReturnInfo=="_CANCEL_") return; var sReturnInfos=sReturnInfo.split("@"); diff --git a/WebContent/WEB-INF/etc/app_config.properties b/WebContent/WEB-INF/etc/app_config.properties index 6ca4bf7ac..81cc204f7 100644 --- a/WebContent/WEB-INF/etc/app_config.properties +++ b/WebContent/WEB-INF/etc/app_config.properties @@ -70,4 +70,5 @@ base.filter.user.role.id=none base.business.type=1 base.company.doc.name=\u627F\u79DF\u4EBA\u8EAB\u4EFD\u8BC1\uFF08\u6B63\u53CD\u9762\uFF09@\u627F\u79DF\u4EBA\u8EAB\u4EFD\u8BC1\uFF08\u6B63\u53CD\u9762\uFF09 -base.person.doc.name=\u627F\u79DF\u4EBA\u8EAB\u4EFD\u8BC1\uFF08\u6B63\u53CD\u9762\uFF09@\u627F\u79DF\u4EBA\u8EAB\u4EFD\u8BC1\uFF08\u6B63\u53CD\u9762\uFF09 \ No newline at end of file +base.person.doc.name=\u5171\u540C\u627F\u79DF\u4EBA\u8EAB\u4EFD\u8BC1\uFF08\u6B63\u53CD\u9762\uFF09@\u5171\u540C\u627F\u79DF\u4EBA\u8EAB\u4EFD\u8BC1\uFF08\u6B63\u53CD\u9762\uFF09,\u62C5\u4FDD\u4EBA\u8EAB\u4EFD\u8BC1\uFF08\u6B63\u53CD\u9762\uFF09@\u62C5\u4FDD\u4EBA\u8EAB\u4EFD\u8BC1\uFF08\u6B63\u53CD\u9762\uFF09 + 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(); } diff --git a/config/collect_config.properties b/config/collect_config.properties index d5837ab5e..2dc335c20 100644 --- a/config/collect_config.properties +++ b/config/collect_config.properties @@ -5,11 +5,10 @@ #ce shi huan jing url dai shou collect si yao su bank feiyasuo com.tenwa.yangdm.collect.serverUrl=http://59.41.103.98:333/gzdsf/ProcessServlet com.tenwa.yangdm.bank.serverUrl=http://59.41.103.98:9110/gzdsf/ProcessServlet - #--------------------------------------------------------------------------------------------- #clearFile downUrl -com.tenwa.yangdm.bank.clearRequestUrl=http://59.41.103.98:333/gzdsf/GetSettFile.do +com.tenwa.yangdm.bank.clearRequestUrl=http://59.41.103.98:9110/gzdsf/GetSettFile.do #com.tenwa.yangdm.merchantId=000191400207649 #test shang hu dai ma com.tenwa.yangdm.merchantId=001053110000001 diff --git a/config/quartz.properties b/config/quartz.properties index cf427d91d..3de8cf1d8 100644 --- a/config/quartz.properties +++ b/config/quartz.properties @@ -25,7 +25,7 @@ c3p0.preferredTestQuery=select 1 org.quartz.scheduler.skipUpdateCheck=true #QuartzScheduler -org.quartz.scheduler.instanceName=liuyifan +org.quartz.scheduler.instanceName=QuartzScheduler org.quartz.scheduler.instanceId=AUTO org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool org.quartz.threadPool.threadCount=50