diff --git a/WebContent/Tenwa/Lease/Flow/Comm/LCContractTerminate/LCContractTerminateInfo.jsp b/WebContent/Tenwa/Lease/Flow/Comm/LCContractTerminate/LCContractTerminateInfo.jsp index 14103ff70..4fc63255e 100644 --- a/WebContent/Tenwa/Lease/Flow/Comm/LCContractTerminate/LCContractTerminateInfo.jsp +++ b/WebContent/Tenwa/Lease/Flow/Comm/LCContractTerminate/LCContractTerminateInfo.jsp @@ -66,8 +66,9 @@ if(result.result != "true"){ alert(result.msg); setItemValue(0,getRow(),"PAYDAY_ADJUST",""); - }else{ - var terminateInfo = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","getTerminateInfo","contractId=<%=contractId%>,paymentnumber=<%=paymentnumber%>,paydayAdjust="+paydayAdjust); + }else{ + var terminateInfo = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","getTerminateInfo","contractId=<%=contractId%>,paymentnumber=<%=paymentnumber%>,paydayAdjust="+paydayAdjust); + var rentPlanDate = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","rentPlanDate","contractId=<%=contractId%>,paydayAdjust="+paydayAdjust); var remaincorpus = terminateInfo.remaincorpus; var remaininterest = terminateInfo.remaininterest; var overduerent = terminateInfo.overduerent; @@ -94,8 +95,8 @@ setItemValue(0,getRow(),"FIST_CORPUS","0"); setItemValue(0,getRow(),"HANDLING_CHARGE",Number(remaincorpus*0.05).toFixed(2)); var dateRate=Number("<%=yearrate%>")/100;//获取利率 - var sDate1 = getItemValue(0,getRow(),"PAYDAY_DATE");//获取提出日期 - var idays = datedifference(sDate1,paydayAdjust);//获取约定终止日和提出日期相差天数 +// var sDate1 = getItemValue(0,getRow(),"PAYDAY_DATE");//获取提出日期 + var idays = datedifference(rentPlanDate,paydayAdjust);//获取约定终止日和提出日期相差天数 var REPAYMENT=((Number(remaincorpus)*dateRate)/360)*Number(idays);//计算还款日息差 setItemValue(0,getRow(),"REPAYMENT_INTEREST",REPAYMENT); setItemValue(0,getRow(),"AGREED_DATEPENALTY","0"); diff --git a/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java b/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java index 739ffcc15..374e9abb7 100644 --- a/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java +++ b/calc/com/tenwa/reckon/executor/CreateTransactionExecutor.java @@ -967,6 +967,7 @@ public class CreateTransactionExecutor implements Transaction { fromCondtion.put("id",contractId); Map otherProperty = new HashMap(); otherProperty.put("FlowUnid", flowunid); + otherProperty.put("HAD_MONEY", "0.00"); // otherProperty.put("ID", id); LeaseFlowBaseService service=new LeaseFlowBaseServiceImp(); service.copyEbankInfo(tx, fromCondtion, null,otherProperty, ServiceOperatorEnum.FormalToTemp); diff --git a/calc/com/tenwa/reckon/executor/RentCalHelper.java b/calc/com/tenwa/reckon/executor/RentCalHelper.java index a8c9dabcc..99f0281af 100644 --- a/calc/com/tenwa/reckon/executor/RentCalHelper.java +++ b/calc/com/tenwa/reckon/executor/RentCalHelper.java @@ -151,7 +151,7 @@ public class RentCalHelper { tx=JBOFactory.createJBOTransaction(); BizObjectManager bm = JBOFactory.getBizObjectManager(LC_CALC_CONDITION.CLASS_NAME); Conn conn = new Conn(tx); - String sql = "select sum(case when DATE_FORMAT(t.plandate,'%Y/%m/%d') > DATE_FORMAT('"+this.paydayAdjust+"','%Y/%m/%d') then t.remaincorpus else 0 end ) remaincorpus," + String sql = "select sum(case when DATE_FORMAT(t.plandate,'%Y/%m/%d') >= DATE_FORMAT('"+this.paydayAdjust+"','%Y/%m/%d') then t.remaincorpus else 0 end ) remaincorpus," + " 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.penalty else 0 end ) remainfpenalty," @@ -320,6 +320,27 @@ public class RentCalHelper { return JSONEncoder.encode(jsonObject); } + public String rentPlanDate(){ + JBOTransaction tx; + try { + tx = JBOFactory.createJBOTransaction(); + String sql = "SELECT CASE WHEN COUNT(*) > 0 THEN MAX(PLAN_DATE) ELSE 'null' END date FROM lc_rent_plan WHERE DATE_FORMAT(PLAN_DATE, '%Y/%m/%d') <= DATE_FORMAT('"+this.paydayAdjust+"', '%Y/%m/%d') AND contract_id =?"; + Conn conn = new Conn(tx); + List> dates = conn.executeQuery(sql, this.contractId); + Map map = dates.get(0); + if("null".equals(map.get("date"))){ + BizObjectManager lccMange = JBOFactory.getBizObjectManager(LC_CALC_CONDITION.CLASS_NAME); + BizObject lcc = lccMange.createQuery("contract_id=:contractid").setParameter("contractid", this.contractId).getSingleResult(false); + return lcc==null?"error":lcc.getAttribute("START_DATE").getString(); + }else{ + return map.get("date"); + } + } catch (Exception e) { + e.printStackTrace(); + } + return "error"; + + } public String getContractId() { return contractId; diff --git a/src_tenwa/com/tenwa/flow/fund/copyebank/AdvanceCopyEbankTempToFormal.java b/src_tenwa/com/tenwa/flow/fund/copyebank/AdvanceCopyEbankTempToFormal.java index fce58dbd9..d244ec4cb 100644 --- a/src_tenwa/com/tenwa/flow/fund/copyebank/AdvanceCopyEbankTempToFormal.java +++ b/src_tenwa/com/tenwa/flow/fund/copyebank/AdvanceCopyEbankTempToFormal.java @@ -1,14 +1,17 @@ package com.tenwa.flow.fund.copyebank; +import java.math.BigDecimal; import java.util.HashMap; import java.util.List; import java.util.Map; +import jbo.app.tenwa.calc.LC_EBANK; import jbo.app.tenwa.calc.LC_EBANK_TEMP; import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.BizObjectManager; import com.amarsoft.are.jbo.JBOFactory; +import com.amarsoft.awe.dw.ui.page.body.imp.Integer; import com.amarsoft.awe.util.SqlObject; import com.amarsoft.awe.util.Transaction; import com.amarsoft.biz.bizlet.Bizlet; @@ -31,16 +34,29 @@ public class AdvanceCopyEbankTempToFormal extends BaseBussiness{ Sqlca.executeSQL(so); Map fromCondtion = new HashMap(); Map toCondition = new HashMap(); + Map otherProperty = new HashMap(); LeaseFlowBaseService service=new LeaseFlowBaseServiceImp(); BizObjectManager letManage = JBOFactory.getBizObjectManager(LC_EBANK_TEMP.CLASS_NAME,Sqlca); List lets = letManage.createQuery("flowunid=:flowunid").setParameter("flowunid", sFlowUnid).getResultList(false); for (BizObject let : lets) { + BizObjectManager leManage = JBOFactory.getBizObjectManager(LC_EBANK.CLASS_NAME,Sqlca); + BizObject le = leManage.createQuery(" EBANK_SN=:ebanksn ").setParameter("ebanksn", let.getAttribute("EBANK_SN").getString()).getSingleResult(false); fromCondtion.clear(); fromCondtion.put("FLOWUNID", sFlowUnid); fromCondtion.put("EBANK_SN", let.getAttribute("EBANK_SN").getString()); toCondition.clear(); toCondition.put("EBANK_SN", let.getAttribute("EBANK_SN").getString()); - service.copyEbankInfo(Sqlca, fromCondtion, toCondition, null, ServiceOperatorEnum.TempToFormal); + otherProperty.clear(); + String had_money = null; + if(le.getAttribute("HAD_MONEY").getString()==null||le.getAttribute("HAD_MONEY").getString()==""){ + had_money = let.getAttribute("HAD_MONEY").getString(); + }else{ + BigDecimal tempHanMoney = new BigDecimal(let.getAttribute("HAD_MONEY").getString()); + BigDecimal HanMoney = new BigDecimal(le.getAttribute("HAD_MONEY").getString()); + had_money =tempHanMoney.add(HanMoney).toString(); + } + otherProperty.put("HAD_MONEY", had_money); + service.copyEbankInfo(Sqlca, fromCondtion, toCondition, otherProperty, ServiceOperatorEnum.TempToFormal); } String sMessage="true"; return sMessage;