部分结清为全部结清时最终还款计算其它应收和其它应退

This commit is contained in:
zzk 2022-04-24 14:15:20 +08:00
parent 819cd2cf21
commit 453e4ee8f1
2 changed files with 63 additions and 8 deletions

View File

@ -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");

View File

@ -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;