diff --git a/calc/com/tenwa/reckon/executor/rentTerminate/RentTerminateExe.java b/calc/com/tenwa/reckon/executor/rentTerminate/RentTerminateExe.java index aa4de28e5..27199924e 100644 --- a/calc/com/tenwa/reckon/executor/rentTerminate/RentTerminateExe.java +++ b/calc/com/tenwa/reckon/executor/rentTerminate/RentTerminateExe.java @@ -56,6 +56,11 @@ public class RentTerminateExe { corpusMoney = corpusOverage.subtract(endCorpus).setScale(Scale.RENT_SCALE, BigDecimal.ROUND_HALF_UP); } BigDecimal yearRate =endInterest.divide(endCorpus,Scale.RATE_SCALE, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(1200)).setScale(Scale.GENERAL_RATE, BigDecimal.ROUND_HALF_UP) ; + String table = tcb.getRentPlan_tb(); + BizObject oldbm = null; + if("jbo.app.tenwa.calc.LC_RENT_PLAN_TEMP".equals(table)){ + oldbm = bm.createQuery("flowunid=:flowunid and plan_list='1'").setParameter("flowunid", tcb.getDocId()).getSingleResult(false); + } if(new BigDecimal(bo.getAttribute("REPURCHASE_RATIO").getString()).compareTo(new BigDecimal(100))==0){ //删除原先的租金计划 bm.createQuery("delete from O where flowunid=:flowunid and plan_list>=:rentlist").setParameter("flowunid",tcb.getDocId()).setParameter("rentlist", rent_list).executeUpdate(); @@ -86,6 +91,12 @@ public class RentTerminateExe { rentNew.setAttributeValue("interest", "0"); rentNew.setAttributeValue("corpus", endCorpus); rentNew.setAttributeValue("ALL_REMAIN_CORPUS", corpusMoney); + if(oldbm!=null){ + rentNew.setAttributeValue("project_id", oldbm.getAttribute("project_id").getString()); + rentNew.setAttributeValue("project_plan_number", oldbm.getAttribute("project_plan_number").getString()); + rentNew.setAttributeValue("contract_id", oldbm.getAttribute("contract_id").getString()); + rentNew.setAttributeValue("contract_plan_number",oldbm.getAttribute("contract_plan_number").getString()); + } bm.saveObject(rentNew);