diff --git a/WebContent/Tenwa/Lease/Flow/Comm/LCContractTerminate/LCContractTerminateInfo.jsp b/WebContent/Tenwa/Lease/Flow/Comm/LCContractTerminate/LCContractTerminateInfo.jsp index 042d12027..877f4e285 100644 --- a/WebContent/Tenwa/Lease/Flow/Comm/LCContractTerminate/LCContractTerminateInfo.jsp +++ b/WebContent/Tenwa/Lease/Flow/Comm/LCContractTerminate/LCContractTerminateInfo.jsp @@ -472,10 +472,11 @@ var PROPROTION_NUMBER = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","getReductionRatio","flowunid=<%=flowunid%>,IDS="+IDS); var NOMINAL_PRICE = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","getPrice","flowunid=<%=flowunid%>,IDS="+IDS); setItemValue(0,0,'PROPROTION_NUMBER',PROPROTION_NUMBER); + var YES_NO = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","getYesNo","flowunid=<%=flowunid%>,IDS="+IDS); // 留购价 setItemValue(0,0,'NOMINAL_PRICE',NOMINAL_PRICE); if(PAYDAY_ADJUST!=""){ - changeContractTotal(); + changeContractTotal(YES_NO); } } },"请选择租赁物"); @@ -484,7 +485,7 @@ /* * 提前结清结清金额计算 */ - function changeContractTotal(){ + function changeContractTotal(YES_NO){ var ADJUST_TYPE = getItemValue(0,0,"ADJUST_TYPE"); var AGREED_PENALTY = parseFloat(getItemValue(0,0,"AGREED_PENALTY")); var SDHANDLING_CHARGE = parseFloat(getItemValue(0,0,"SDHANDLING_CHARGE")); @@ -500,6 +501,8 @@ var AGREED_PENALTY = getItemValue(0,0,"AGREED_PENALTY"); // 其他应收 var OTHER_IN = getItemValue(0,0,"OTHER_IN"); + // 获取留购价款 + var NOMINAL_PRICE = getItemValue(0,0,"NOMINAL_PRICE"); var params = "contractId=<%=contractId%>,flowunid=<%=flowunid%>,YEAR_RATE=<%=YEAR_RATE%>,PAYDAY_ADJUST="+PAYDAY_ADJUST+",REPURCHASE_RATIO="+REPURCHASE_RATIO+",AGREED_PENALTY="+AGREED_PENALTY+",OTHER_IN="+OTHER_IN+",SDHANDLING_CHARGE="+SDHANDLING_CHARGE; var result = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","getSettlementMoney",params); // 根据提前终止日计算还款日息差 @@ -538,12 +541,30 @@ //计算还款日息差 var REPAYMENT=((Number(PREMATURE_MONEY)*dateRate)/360)*Number(idays); setItemValue(0,0,'REPAYMENT_INTEREST',REPAYMENT); - // 提前还款金额 - var CONTRACT_TOTAL = (Number(PREMATURE_MONEY)+Number(DUN_RENT)+Number(DUN_PENALTY)+Number(HANDLING_CHARGE)+Number(REPAYMENT)); - setItemValue(0,0,'CONTRACT_TOTAL',CONTRACT_TOTAL); - // 最终还款金额 - var MAXIMUM_TOTAL = (Number(PREMATURE_MONEY)+Number(DUN_RENT)+Number(AGREED_PENALTY)+SDHANDLING_CHARGE+AGREED_DATEPENALTY); - setItemValue(0,0,'MAXIMUM_TOTAL',MAXIMUM_TOTAL); + if(YES_NO=='Y'){ + //获取其它应收和其它应退 + var OTHER_OUT = getItemValue(0,0,"OTHER_OUT"); + var OTHER_IN = getItemValue(0,0,"OTHER_IN"); + if(OTHER_OUT == "" || OTHER_OUT == null){ + OTHER_OUT = "0.00" + } + if(OTHER_IN == "" || OTHER_IN == null){ + OTHER_IN = "0.00" + } + // 提前还款金额 + var CONTRACT_TOTAL = (Number(PREMATURE_MONEY)+Number(DUN_RENT)+Number(DUN_PENALTY)+Number(HANDLING_CHARGE)+Number(REPAYMENT)+Number(NOMINAL_PRICE)+Number(OTHER_IN)-Number(OTHER_OUT)); + setItemValue(0,0,'CONTRACT_TOTAL',CONTRACT_TOTAL); + // 最终还款金额 + var MAXIMUM_TOTAL = (Number(PREMATURE_MONEY)+Number(DUN_RENT)+Number(AGREED_PENALTY)+SDHANDLING_CHARGE+AGREED_DATEPENALTY+Number(NOMINAL_PRICE)+Number(OTHER_IN)-Number(OTHER_OUT)); + setItemValue(0,0,'MAXIMUM_TOTAL',MAXIMUM_TOTAL); + }else{ + // 提前还款金额 + var CONTRACT_TOTAL = (Number(PREMATURE_MONEY)+Number(DUN_RENT)+Number(DUN_PENALTY)+Number(HANDLING_CHARGE)+Number(REPAYMENT)+Number(NOMINAL_PRICE)); + setItemValue(0,0,'CONTRACT_TOTAL',CONTRACT_TOTAL); + // 最终还款金额 + var MAXIMUM_TOTAL = (Number(PREMATURE_MONEY)+Number(DUN_RENT)+Number(AGREED_PENALTY)+SDHANDLING_CHARGE+AGREED_DATEPENALTY+Number(NOMINAL_PRICE)); + setItemValue(0,0,'MAXIMUM_TOTAL',MAXIMUM_TOTAL); + } if(ADJUST_TYPE=="coerce_terminate"){ setItemValue(0,getRow(),"PENALTY_MONEY","0.00"); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/EarlyContract.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/EarlyContract.java index e6a61de7f..f2d83a4e3 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/EarlyContract.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/EarlyContract.java @@ -319,6 +319,40 @@ public class EarlyContract { return ""+NOMINAL_PRICE+""; } + + //判断本次部分结清是否选取完全部车辆 + public String getYesNo(JBOTransaction tx) { + Transaction Sqlca = null; + String YesNo = ""; + try { + Sqlca = Transaction.createTransaction(tx); + String idss=""; + if(IDS!=null && !"".equals(IDS)) { + String[] ids = IDS.split("@~"); + for (String id : ids) { + if("".equals(idss)) { + idss="'"+id+"'"; + }else { + idss+=",'"+id+"'"; + } + } + } + + YesNo = Sqlca.getString("select case when count(id)=0 then 'Y' else 'N' end from lb_equipment_car_temp lect where FLOWUNID = '"+flowunid+"' and id not in ("+idss+") and (TERMINATE_TYPE = '1' or TERMINATE_TYPE is null)"); + + }catch(Exception e) { + try { + Sqlca.rollback(); + } catch (JBOException e1) { + e1.printStackTrace(); + } + e.printStackTrace(); + } + return ""+YesNo+""; + } + + + //全部结清更新租赁物临时表 public void alterdata(JBOTransaction tx) { Transaction Sqlca = null;