607 lines
29 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="com.amarsoft.app.lc.workflow.action.GetFlowAction" %>
<%@ include file="/Frame/resources/include/include_begin_info.jspf"%><%
/*
Author: undefined 2017-06-26
Content: ʾÀýÏêÇéÒ³Ãæ
History Log:
*/
String flowunid = CurPage.getParameter("FlowUnid");
String RightType = CurPage.getParameter("RightType");//Ñ¡Ôñģʽ
String ishistory=CurPage.getParameter("IsHistory");
String nodeNo=CurPage.getParameter("NodeNo");
String contractId = CurPage.getParameter("ContractId");
BizObject condition=JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LC_CALC_CONDITION_TEMP","flowunid=:flowunid").setParameter("flowunid", flowunid).getSingleResult(false);
String paymentnumber=condition.getAttribute("payment_number").getString();
String yearrate=condition.getAttribute("YEAR_RATE").getString();
//String contractId=condition.getAttribute("contractid").getString();
String nominalPrice=condition.getAttribute("NOMINAL_PRICE").getString();
String cautionmoney = Sqlca.getString("select ifnull(round( sum(case lfi.FEE_TYPE when 'feetype2' then FACT_MONEY else 0 end)- sum(case lfi.FEE_TYPE when 'feetype2' then 0 else FACT_MONEY end ),2),0) as over_caution_monry from lc_fund_income lfi where lfi.CONTRACT_ID = '"+contractId+"' and lfi.FEE_TYPE in ('feetype2', 'feetype16', 'feetype17')");
String mayopemoney = Sqlca.getString("select sum(MAYOPE_MONEY) from LC_EBANK_TEMP where flowunid='"+flowunid+"'");
String settletype = "N";
if( CurPage.getParameter("settletype")!=null){
settletype = CurPage.getParameter("settletype");
}
BizObject flow=GetFlowAction.getFlowBussinessObject(flowunid);
String productId=flow.getAttribute("productId").getString();
String ratio = Sqlca.getString("select EarlySettleBreachRatio from PRD_SPECIFIC_LIBRARY where productid='"+productId+"'");
String CLEAN_LEASE_MONEY = Sqlca.getString("select CLEAN_LEASE_MONEY from lc_calc_condition where CONTRACT_ID='"+contractId+"'");
System.out.println(ratio+"===================");
String sTempletNo = "LCContractTerminate";//--Ä£°åºÅ--
ASObjectModel doTemp = new ASObjectModel(sTempletNo);
doTemp.setDefaultValue("PAYMENT_NUMBER", paymentnumber);
if(settletype.equals("N")){
doTemp.setHtmlEvent("PAYDAY_ADJUST","onchange","getTerminateInfo");
}else if(settletype.equals("Y")){
doTemp.setHtmlEvent("PAYDAY_ADJUST","onchange","getTimeInfo");
}
doTemp.setHtmlEvent("ADJUST_TYPE","onchange","changeInfo");
doTemp.setHtmlEvent("OTHER_IN","onchange","changeContract");
doTemp.setHtmlEvent("REPURCHASE_RATIO","onchange","getRepurchaseMoney");
doTemp.setHtmlEvent("SETTLE_METHOD","onchange","setEquipmentRatioCharge");
/*
* »ñÈ¡ºÏͬ½ð¶î
*/
String PAYMENT_NUMBER = "";
String START_DATE = "";
String YEAR_RATE = "";
if(condition!=null){
PAYMENT_NUMBER = condition.getAttribute("PAYMENT_NUMBER").getString();
START_DATE = condition.getAttribute("START_DATE").getString();
YEAR_RATE = condition.getAttribute("YEAR_RATE").getString();
}else{
BizObject condition2=JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LC_CONTRACT_CONDITION","CONTRACT_ID=:CONTRACT_ID").setParameter("CONTRACT_ID", contractId).getSingleResult(false);
PAYMENT_NUMBER = condition2.getAttribute("PAYMENT_NUMBER").getString();
START_DATE = condition2.getAttribute("START_DATE").getString();
YEAR_RATE = condition2.getAttribute("YEAR_RATE").getString();
}
ASObjectWindow dwTemp = new ASObjectWindow(CurPage, doTemp,request);
dwTemp.Style = "2";//freeform
if((null!=RightType&&RightType.equals("ReadOnly"))||(null!=ishistory&&ishistory.equals("true"))){
dwTemp.ReadOnly = "-2";//Ö»¶Áģʽ
isShowButton=false;
}else{
isShowButton=true;
}
dwTemp.genHTMLObjectWindow(flowunid);
String sButtons[][] = {
{"true","","Button","Ìáǰ½áÇå","Ìáǰ½áÇå","saveRecord()","","","","btn_icon_settle"},
{"true","","Button","³·Ïú½áÇå","³·Ïú½áÇå","cancelChange()","","","","btn_icon_delete"}
};
sButtonPosition = "south";
%><%@ include file="/Frame/resources/include/ui/include_info.jspf"%>
<script type="text/javascript">
function getRepurchaseMoney(){
var ratio=getItemValue(0,0,"REPURCHASE_RATIO");
var corpus=getItemValue(0,0,"CORPUS_OVERAGE");
if(ratio&&corpus){
setItemValue(0,0,"REPURCHASE_MONEY",Number(ratio*corpus/100).toFixed(6));
}
}
function getTerminateInfo(){
var payday_date = getItemValue(0,getRow(),"PAYDAY_DATE");
var adjusttype = getItemValue(0,0,"ADJUST_TYPE");
if(adjusttype.length==0){
alert("ÇëÏÈÑ¡Ôñ±ä¸üÀàÐÍ£¡£¡£¡");
setItemValue(0,getRow(),"PAYDAY_ADJUST","");
return;
}
//¼ì²éÔ¼¶¨ÖÕÖ¹ÈÕÊÇ·ñºÏ·¨
var paydayAdjust = getItemValue(0,getRow(),"PAYDAY_ADJUST");
var result = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","checkPaydayAdjust","contractId=<%=contractId%>,paymentnumber=<%=paymentnumber%>,paydayAdjust="+paydayAdjust);
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);
var rentPlanDate = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","rentPlanDate","contractId=<%=contractId%>,paydayAdjust="+paydayAdjust);
var remaincorpus = terminateInfo.remaincorpus;
var remaincorpusbreak = terminateInfo.remaincorpusbreak;
var remaininterest = terminateInfo.remaininterest;
var overduerent = terminateInfo.overduerent;
var remainfpenalty = terminateInfo.remainfpenalty;
var surplusinterest = terminateInfo.remaininterest;
var sumpenalty = terminateInfo.sumpenalty;
//ÓâÆÚÀûÏ¢ÔÝʱ¸³ÖµÎª0FIST_RENT
// setItemValue(0,getRow(),"DUN_PENALTY","0");
setItemValue(0,getRow(),"DUN_PENALTY",sumpenalty);
// setItemValue(0,getRow(),"AGREED_PENALTY","0");
//Òѵ½ÆÚ×â½ð
setItemValue(0,getRow(),"DUN_RENT",overduerent);
//δµ½ÆÚ±¾½ð
setItemValue(0,getRow(),"CORPUS_OVERAGE",remaincorpus);
//δµ½ÆÚÀûÏ¢
setItemValue(0,getRow(),"INTEREST_HANDLING_CHARGE",remaininterest);
//É̶¨ÀûϢĬÈϵÈÓÚδµ½ÆÚÀûÏ¢
setItemValue(0,getRow(),"AGREED_INTEREST",remaininterest);
//»Ø¹º±ÈÀý ĬÈÏ100
setItemValue(0,getRow(),"REPURCHASE_RATIO","100");
//»Ø¹º±¾½ð
setItemValue(0,getRow(),"REPURCHASE_MONEY",remaincorpus);
//setItemValue(0,getRow(),"FIST_RENT",terminateInfo.fist_rent);
// setItemValue(0,getRow(),"FIST_CORPUS","0");
var ratio=0;
if("<%=ratio%>"==""||"<%=ratio%>"==null||"<%=ratio%>"=="null"){
ratio = 0.05;
}else{
ratio = (Number("<%=ratio%>")/100).toFixed(2);
}
setItemValue(0,getRow(),"HANDLING_CHARGE",Math.round(Number(remaincorpus*ratio)*100)/100);
var dateRate=Number("<%=yearrate%>")/100;//»ñÈ¡ÀûÂÊ
// 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");
// setItemValue(0,getRow(),"SDNOMINAL_PRICE","0");
// setItemValue(0,getRow(),"SDHANDLING_CHARGE","0");
setItemValue(0,getRow(),"OTHER_OUT","<%=cautionmoney%>");
setItemValue(0,getRow(),"SURPLUSINTEREST",surplusinterest);
setItemValue(0,getRow(),"NOMINAL_PRICE","<%=nominalPrice%>");
var otherIn = getItemValue(0,getRow(),"OTHER_IN");
setItemValue(0,getRow(),otherIn==""?"0.00":otherIn);
//¼ÆËãºÏͬծȯ×ܼÆ
// setItemValue(0,getRow(),"CONTRACT_TOTAL",getContractBondTotal());
if(adjusttype=="02"){
var fessMoney = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","getLcCarDispose","contractId=<%=contractId%>");
if(fessMoney.length>0){
var fessMoneys = fessMoney.split("@");
setItemValue(0,getRow(),"COLLECT_FEES",fessMoneys[0]);
setItemValue(0,getRow(),"DISPOSE_MONEY",fessMoneys[1]);
}else{
setItemValue(0,getRow(),"COLLECT_FEES","0.00");
setItemValue(0,getRow(),"DISPOSE_MONEY","0.00");
}
setItemValue(0,getRow(),"GUARANTEEMONEY","<%=cautionmoney%>");
setItemValue(0,getRow(),"CONTRACT_TOTAL",parseFloat(getItemValue(0,getRow(),"DUN_RENT"))+parseFloat(getItemValue(0,getRow(),"COLLECT_FEES"))+parseFloat(remaincorpus));
}else{
var HandlingCharge = getItemValue(0, 0, "HANDLING_CHARGE");
//setItemValue(0,getRow(),"OTHER_IN","0.00");
//setItemValue(0,getRow(),"CONTRACT_TOTAL",Number(overduerent)+Number(sumpenalty)+Number(remaincorpus)+Number(terminateInfo.fist_rent)+Number(HandlingCharge)+Number(getItemValue(0,getRow(),"OTHER_IN"))+Number(getItemValue(0,getRow(),"NOMINAL_PRICE"))-Number(getItemValue(0,getRow(),"OTHER_OUT")).toFixed(2)+REPAYMENT);
setItemValue(0,getRow(),"CONTRACT_TOTAL",Number(overduerent)+Number(sumpenalty)+Number(remaincorpus)+Number(HandlingCharge)+Number(getItemValue(0,getRow(),"OTHER_IN"))+Number(getItemValue(0,getRow(),"NOMINAL_PRICE"))-Number(getItemValue(0,getRow(),"OTHER_OUT")).toFixed(2)+REPAYMENT);
}
}
setItemValue(0,0,"PAYDAY_DATE",payday_date);
}
//¼ÆËãծȯ×ܼÆ
function getContractBondTotal(){
var dunrent = getItemValue(0,getRow(),"DUN_RENT");
var dunPenalty = getItemValue(0,getRow(),"DUN_PENALTY");
var corpusOverage = getItemValue(0,getRow(),"CORPUS_OVERAGE");
//var fistRent = getItemValue(0,getRow(),"FIST_RENT");
var handlingCharge = getItemValue(0,getRow(),"HANDLING_CHARGE");
var otherin = getItemValue(0,getRow(),"OTHER_IN");
var otherout = getItemValue(0,getRow(),"OTHER_OUT");
var nominalPrice=getItemValue(0,getRow(),"NOMINAL_PRICE");
return Number(dunrent ? dunrent : 0 ) + Number(dunPenalty ? dunPenalty : 0 ) + Number(corpusOverage ? corpusOverage : 0 )
+ Number(handlingCharge ? handlingCharge : 0 ) + Number(otherin ? otherin : 0 )
- Number(otherout ? otherout : 0 ) + Number(nominalPrice ? nominalPrice : 0 ) ;
}
//¼ÆËãծȯ×ܼÆ
function updateContractBondTotal(){
var SETTLE_METHOD = getItemValue(0,0,"SETTLE_METHOD");
if(SETTLE_METHOD != "SETTLE_METHOD02"){
var dunrent = getItemValue(0,getRow(),"DUN_RENT");
var agreedPenalty = getItemValue(0,getRow(),"AGREED_PENALTY");
var corpusOverage = getItemValue(0,getRow(),"CORPUS_OVERAGE");
//var fistCorpus = getItemValue(0,getRow(),"FIST_CORPUS");
var sdhandlingCharge = getItemValue(0,getRow(),"SDHANDLING_CHARGE");
var otherin = getItemValue(0,getRow(),"OTHER_IN");
var otherout = getItemValue(0,getRow(),"OTHER_OUT");
var sdnominalPrice=getItemValue(0,getRow(),"SDNOMINAL_PRICE");
var agreeddatepenalty=getItemValue(0,getRow(),"AGREED_DATEPENALTY");
return (Number(dunrent ? dunrent : 0 ) + Number(agreedPenalty ? agreedPenalty : 0 ) + Number(corpusOverage ? corpusOverage : 0 )
+ Number(sdhandlingCharge ? sdhandlingCharge : 0 ) + Number(otherin ? otherin : 0 )
- Number(otherout ? otherout : 0 ) + Number(sdnominalPrice ? sdnominalPrice : 0 ) +Number(agreeddatepenalty ? agreeddatepenalty : 0 )).toFixed(2);
}else{
// »ñȡδµ½ÆÚ±¾½ð
var PREMATURE_MONEY = getItemValue(0,getRow(),"PREMATURE_MONEY");
// »ñÈ¡·£Ï¢
var DUN_RENT = getItemValue(0,getRow(),"DUN_RENT");
// »ñÈ¡É̶¨»¹¿îÈÕÏ¢²î
var AGREED_DATEPENALTY = getItemValue(0,getRow(),"AGREED_DATEPENALTY");
// »ñÈ¡É̶¨ÓâÆÚ·£Ï¢
var AGREED_PENALTY = getItemValue(0,getRow(),"AGREED_PENALTY");
// »ñÈ¡É̶¨Î¥Ô¼½ð
var SDHANDLING_CHARGE = getItemValue(0,getRow(),"SDHANDLING_CHARGE");
var MAXIMUM_TOTAL = (Number(PREMATURE_MONEY ? PREMATURE_MONEY : 0 )+Number(DUN_RENT ? DUN_RENT : 0 ) + Number(AGREED_DATEPENALTY ? AGREED_DATEPENALTY : 0 )
+Number(AGREED_PENALTY ? AGREED_PENALTY : 0 )+Number(SDHANDLING_CHARGE ? SDHANDLING_CHARGE : 0 )).toFixed(2);
return MAXIMUM_TOTAL;
}
}
//¼ÆËãծȯ×ܼÆ
/* function getContractBondTotal(){
var dunrent = getItemValue(0,getRow(),"DUN_RENT");
var corpusoverage = getItemValue(0,getRow(),"CORPUS_OVERAGE");
var corpusinterest = 0;
var agreedinterest = getItemValue(0,getRow(),"AGREED_INTEREST");
var agreepenalty = getItemValue(0,getRow(),"AGREED_PENALTY");
var dunpenalty = getItemValue(0,getRow(),"DUN_PENALTY");
var otherin = getItemValue(0,getRow(),"OTHER_IN");
var otherout = getItemValue(0,getRow(),"OTHER_OUT");
return Number(otherin ? otherin : 0 ) - Number(otherout ? otherout : 0 ) + Number(dunrent ? dunrent : 0 )
+ Number(corpusoverage ? corpusoverage : 0 ) + Number(corpusinterest ? corpusinterest : 0 ) + Number(agreedinterest ? agreedinterest : 0 )
+ Number(agreepenalty ? agreepenalty : 0 ) + Number(dunpenalty ? dunpenalty : 0 ) ;
} */
function cancelChange(){
openDWDialog();
setTimeout(function(){
var message = AsControl.RunJavaMethodTrans("com.tenwa.reckon.executor.CreateTransactionExecutor","cancelRentChange","flowunid=<%=flowunid%>,plannumber=<%=paymentnumber%>,contractId=<%=contractId%>");
if(message == 'true'){
resetDWDialog("ÖÐ;ÖÕÖ¹³·Ïú³É¹¦£¡£¡£¡",true);
window.location.href=window.location.href;
}else{
resetDWDialog("δ½øÐйýÖÐ;ÖÕÖ¹µÄ²Ù×÷£¡ÇëÏȽøÐкÏͬÖÐ;ÖÕÖ¹£¡£¡£¡",true);
}
}, 500);
}
//Ìáǰ²¿·Ö½áÇåÔ¼¶¨ÖÕÖ¹ÈÕУÑé
function getTimeInfo(){
var paydayAdjust = getItemValue(0,getRow(),"PAYDAY_ADJUST");
var result = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","checkPaydayAdjust","contractId=<%=contractId%>,paymentnumber=<%=paymentnumber%>,paydayAdjust="+paydayAdjust);
if(result.result != "true"){
alert(result.msg);
setItemValue(0,getRow(),"PAYDAY_ADJUST","");
}
var ret = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","timeInfo","contractId=<%=contractId%>,flowunid=<%=flowunid%>,PAYDAY_ADJUST="+paydayAdjust);
if(ret != "true"){
alert("ÈÕÆÚ²»ÄÜÑ¡Ôñµ±Ç°Ô·ÝϸöÔÂÖ®ºóµÄÈÕÆÚ");
setItemValue(0,getRow(),"PAYDAY_ADJUST","");
}
}
//±£´æÊý¾Ý
function saveRecord(sPostEvents)
{
//УÑéÊÇ·ñÓб£Ö¤½ð´ú³¥
var isCompensation = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","isCompensation","contractId=<%=contractId%>");
if("false" == isCompensation){
alert("¸ÃºÏͬÓб£Ö¤½ð´ú³¥£¬ÎÞ·¨·¢ÆðÌáǰ½áÇ壡");
return ;
}
//УÑéÊÇ·ñÕýÔÚ¿¨¿ÛÖÐ
var isAutoBuckle = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","isAutoBuckle","contractId=<%=contractId%>");
if("false" == isAutoBuckle){
alert("¸ÃºÏͬÓÐÕýÔÚ¿¨¿ÛµÄ×â½ð£¬ÎÞ·¨·¢ÆðÌáǰ½áÇ壡");
return ;
}
//УÑéÊÇ·ñÓÐ×â½ðÕ¼ÓÃÇé¿ö
var isOccupyRent = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","isOccupyRent","paymentnumber=<%=paymentnumber%>");
if("false" == isOccupyRent){
alert("¸ÃºÏͬÓÐÕýÔÚÊÕ¿îµÄÐÅÏ¢£¬ÎÞ·¨·¢ÆðÌáǰ½áÇ壡");
return ;
}
//¼ì²éÊÇ·ñ½øÐйý±ä¸ü
var result = AsControl.RunJavaMethod("com.tenwa.reckon.executor.CreateTransactionExecutor","checkIsRentChange","flowunid=<%=flowunid%>,plannumber=<%=paymentnumber%>");
if(result == 'true'){
var adjusttype = getItemValue(0,0,"ADJUST_TYPE");
if("01"==adjusttype){
var maximumtotal = updateContractBondTotal();
if(maximumtotal=="" ||maximumtotal == null ){
maximumtotal = "0";
}
setItemValue(0,getRow(),"MAXIMUM_TOTAL",maximumtotal);
if(Number(maximumtotal)>Number(<%=mayopemoney%>)){
alert('×îÖÕ»¹¿î½ð¶î´óÓÚÍøÒøºËÏú½ð¶î£¡£¡£¡');
return;
}
//¸üÐÂlc_ebank_tempÖеÄÖµ
var mage = AsControl.RunJavaMethodTrans("com.tenwa.reckon.executor.CreateTransactionExecutor","updateEbank","flowunid=<%=flowunid%>,cleanLeasemoney="+maximumtotal);
if("Success"!=mage){
alert('Ìáǰ½áÇåʧ°Ü£¡£¡£¡');
return;
}
}else{
var contractTotal = getItemValue(0,0,"CONTRACT_TOTAL");
if(contractTotal==""||contractTotal==null){
contractTotal = "0";
}
var mayopemoney = <%=mayopemoney%>;
if(mayopemoney==""||mayopemoney==null){
mayopemoney = "0";
}
if(Number(contractTotal)>Number(mayopemoney)){
alert('×îÖÕ»¹¿î½ð¶î´óÓÚÍøÒøºËÏú½ð¶î£¡£¡£¡');
return;
}
//¸üÐÂlc_ebank_tempÖеÄÖµ
var mage = AsControl.RunJavaMethodTrans("com.tenwa.reckon.executor.CreateTransactionExecutor","updateEbank","flowunid=<%=flowunid%>,cleanLeasemoney="+contractTotal);
var returns = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","setEquipmentTerminateStatus","flowunid=<%=flowunid%>,IDS="+IDS);
if("Success"!=mage){
alert('Ìáǰ½áÇåʧ°Ü£¡£¡£¡');
return;
}
}
as_save("myiframe0","run()");
}else{
alert('ÇëÏȳ·Ïú±ä¸ü£¬ÔÙ½øÐбä¸ü²Ù×÷£¡£¡£¡');
}
}
function run()
{
var EQUIPMENT_RATIO=getItemValue(0,0,'PROPROTION_NUMBER');//×âÁÞÎï±ÈÖØ
var PAYDAY_ADJUST = getItemValue(0,0,'PAYDAY_ADJUST'); //Ô¼¶¨ÖÕÖ¹ÈÕ
var SETTLE_METHOD = getItemValue(0,0,"SETTLE_METHOD"); // ½áÇ巽ʽ
var ret = "";
if(SETTLE_METHOD == "SETTLE_METHOD02"){
ret = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","partSettlement","REPURCHASE_RATIO="+EQUIPMENT_RATIO+",flowunid=<%=flowunid%>,contractId=<%=contractId%>,START_DATE=<%=START_DATE%>,plannumber=<%=PAYMENT_NUMBER%>,calType=pay_process,PAYDAY_ADJUST="+PAYDAY_ADJUST+",SettleMethod="+SETTLE_METHOD);
}else{
AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","alterdata","flowunid=<%=flowunid%>");
AsControl.RunJavaMethod("com.tenwa.reckon.executor.CreateTransactionExecutor","runTerminate","flowunid=<%=flowunid%>,plannumber=<%=paymentnumber%>,productId=<%=productId%>,calType=pay_process,MAXIMUM_TOTAL=MAXIMUM_TOTAL,REPURCHASE_MONEY = REPURCHASE_MONEY");
ret = "²Ù×÷³É¹¦"
}
if(ret=="²Ù×÷³É¹¦"){
alert("Ìáǰ½áÇå²Ù×÷³É¹¦");
}else{
alert("Ìáǰ½áÇå²Ù×÷ʧ°Ü,ÇëÁªÏµ¹ÜÀíÔ±£¡");
}
}
jQuery(function(){
var settlemethod = getItemValue(0,getRow(),"SETTLE_METHOD");
if("N"==("<%=settletype%>")){
$("#A_div_1007").attr("style","display:none;");
$("#A_div_1008").attr("style","display:none;");
$("#A_div_1009").attr("style","display:none;");
$("#A_div_2096").attr("style","display:none;");
$("#A_div_2098").attr("style","display:none;");
}else if(settlemethod=="SETTLE_METHOD01") {
$("#A_div_1008").attr("style","display:none;");
$("#A_div_1009").attr("style","display:none;");
$("#A_div_2096").attr("style","display:none;");
$("#A_div_2098").attr("style","display:none;");
}
setItemValue(0,0,"flowunid","<%=flowunid%>");
var payday_date = getItemValue(0,getRow(),"PAYDAY_DATE");
if(""==payday_date || "undefined"==payday_date || null == payday_date){
setItemValue(0,0,"PAYDAY_DATE","<%=StringFunction.getToday()%>");
}
//ÉèÖÃÉ̶¨·£Ï¢´ø³öÓâÆÚ·£Ï¢
//setItemValue(0,0,"AGREED_PENALTY",getItemValue(0,0,'DUN_PENALTY'));
//ÅÐ¶ÏÆäËûÓ¦ÊÕºÍÆäËûÓ¦ÍËÊÇ·ñΪ¿Õ
var otherIn = getItemValue(0,getRow(),"OTHER_IN");
var otherOut = getItemValue(0,getRow(),"OTHER_OUT");
if(!otherIn && !otherOut){
//ÆäËûÓ¦ÊÕºÍÆäËûÓ¦ÍË
var result = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","getTerminateOtherInfoFinish","contractId=<%=contractId%>,paymentnumber=<%=paymentnumber%>");
for(var p in result){
if(result[p]!=null){
setItemValue(0,getRow(),p,result[p]);
}
}
}
changeInfo();
});
function changeInfo(){
var adjusttype = getItemValue(0,0,"ADJUST_TYPE");
if(adjusttype=="02"){
$("#A_div_1698").attr("style","display:block;");
$("#A_div_1896").attr("style","display:block;");
$("#A_div_2094").attr("style","display:block;");
$("#A_div_2712").attr("style","display:block;");
$("#A_div_1061").attr("style","display:none;");
$("#A_div_1062").attr("style","display:none;");
$("#A_div_1303").attr("style","display:none;");
$("#A_div_1302").attr("style","display:none;");
$("#A_div_1064").attr("style","display:none;");
$("#A_div_1065").attr("style","display:none;");
$("#A_div_2506").attr("style","display:none;");
}else{
$("#A_div_1698").attr("style","display:none;");
$("#A_div_1896").attr("style","display:none;");
$("#A_div_2094").attr("style","display:none;");
$("#A_div_2712").attr("style","display:none;");
$("#A_div_1061").attr("style","display:block;");
$("#A_div_1062").attr("style","display:block;");
$("#A_div_1303").attr("style","display:block;");
$("#A_div_1302").attr("style","display:block;");
$("#A_div_1064").attr("style","display:block;");
$("#A_div_1065").attr("style","display:block;");
$("#A_div_2506").attr("style","display:block;");
}
var ID = getItemValue(0,0,"ID");
if(typeof(ID) == "undefined" || ID.length == 0){
var paydayadjust = getItemValue(0,0,"PAYDAY_ADJUST");
if(!(typeof(paydayadjust) == "undefined" || paydayadjust.length == 0)){
getTerminateInfo();
}
}
}
function setEquipmentRatioCharge(){
var settlemethod = getItemValue(0,0,"SETTLE_METHOD");
var ADJUST_TYPE = getItemValue(0,0,"ADJUST_TYPE");
var PAYDAY_ADJUST = getItemValue(0,0,"PAYDAY_ADJUST");
if(ADJUST_TYPE.length==0){
alert("ÇëÏÈÑ¡Ôñ±ä¸üÀàÐÍ£¡£¡£¡");
setItemValue(0,getRow(),"ADJUST_TYPE","");
setItemValue(0,getRow(),"SETTLE_METHOD","");
return;
}
if(PAYDAY_ADJUST.length==0){
alert("ÇëÏÈÑ¡ÔñÔ¼¶¨ÖÕÖ¹ÈÕ£¡£¡£¡");
setItemValue(0,getRow(),"PAYDAY_ADJUST","");
setItemValue(0,getRow(),"SETTLE_METHOD","");
return;
}
setItemValue(0,0,"CLEAN_LEASE_MONEY","<%=CLEAN_LEASE_MONEY%>");
if(settlemethod=="SETTLE_METHOD02"){
$("#A_div_1008").attr("style","display:block;");
$("#A_div_1009").attr("style","display:block;");
$("#A_div_2096").attr("style","display:block;");
$("#A_div_2098").attr("style","display:block;");
settlemet();
}else if(settlemethod=="SETTLE_METHOD01") {
$("#A_div_1008").attr("style","display:none;");
$("#A_div_1009").attr("style","display:none;");
$("#A_div_2096").attr("style","display:none;");
$("#A_div_2098").attr("style","display:none;");
getTerminateInfo();
}
}
function settlemet(){
AsDialog.OpenSelector("selectEquipCarTermination","contractid,<%=contractId%>,flowunid,<%=flowunid%>","dialogWidth=" + parseInt(window.screen.width * 0.8) + "px dialogHeight=" + parseInt(window.screen.height * 0.6) + "px",function(sReturn){
if(!sReturn||sReturn=="_CANCEL_"||sReturn=="_NONE_"){
setItemValue(0,0,'SETTLE_METHOD',"");
}else{
var IDS= sReturn;
// »ñȡѡÖÐ×âÁÞÎï²ÎÈÚ±ÈÀý
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(YES_NO);
}
}
},"ÇëÑ¡Ôñ×âÁÞÎï");
}
/*
* Ìáǰ½áÇå½áÇå½ð¶î¼ÆËã
*/
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"));
var AGREED_DATEPENALTY = parseFloat(getItemValue(0,0,"AGREED_DATEPENALTY"));
if(AGREED_PENALTY>DUN_PENALTY){
$m.alert("¼õÃâ¼õÃâÓâÆÚÎ¥Ô¼½ð²»ÄÜ´óÓÚÓâÆÚÎ¥Ô¼½ð£¡", "warning");
setItemValue(0,getRow(),"AGREED_PENALTY","0");
}
var REPURCHASE_RATIO = parseFloat(getItemValue(0,0,"PROPROTION_NUMBER"));
var PAYDAY_ADJUST = getItemValue(0,0,"PAYDAY_ADJUST");
if(PAYDAY_ADJUST!="" && REPURCHASE_RATIO>0){
// ¼õÃâÓâÆÚÎ¥Ô¼½ð
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 NOMINAL_PRICE = getItemValue(0,0,"SDNOMINAL_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);
// ¸ù¾ÝÌáǰÖÕÖ¹ÈÕ¼ÆË㻹¿îÈÕÏ¢²î
var dateRate=Number("<%=yearrate%>")/100;//»ñÈ¡ÀûÂÊ
var rentPlanDate = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","rentPlanDate","contractId=<%=contractId%>,paydayAdjust="+PAYDAY_ADJUST);
var idays = datedifference(rentPlanDate,PAYDAY_ADJUST);//»ñȡԼ¶¨ÖÕÖ¹ÈÕºÍÌá³öÈÕÆÚÏà²îÌìÊý
var terminateInfo = AsControl.RunJavaMethod("com.tenwa.reckon.executor.RentCalHelper","getTerminateInfo","contractId=<%=contractId%>,paymentnumber=<%=paymentnumber%>,paydayAdjust="+PAYDAY_ADJUST);
result = result.split("@");
var CORPUS_OVERAGE = result[0];
var PREMATURE_MONEY = result[1];
var RESIDUE_MONEY = result[2];
var DUN_RENT = result[3];
var DUN_PENALTY = terminateInfo.sumpenalty;
// δµ½ÆÚ±¾½ð
setItemValue(0,getRow(),"CORPUS_OVERAGE",CORPUS_OVERAGE);
// ²¿·Ö½áÇå³µÁ¾Î´µ½ÆÚ±¾½ð
setItemValue(0,getRow(),"PREMATURE_MONEY",PREMATURE_MONEY);
// Ê£Óà³µÁ¾Î´µ½ÆÚ±¾½ð
setItemValue(0,getRow(),"RESIDUE_MONEY",RESIDUE_MONEY);
// ÓâÆÚ×â½ð
setItemValue(0,getRow(),"DUN_RENT",DUN_RENT);
// ÓâÆÚ·£Ï¢
setItemValue(0,getRow(),"DUN_PENALTY",DUN_PENALTY);
// Ó¦Í˽ð¶î
if(YES_NO=='Y'){
setItemValue(0,getRow(),"OTHER_OUT",<%=cautionmoney%>);
}else{
setItemValue(0,getRow(),"OTHER_OUT","0.00");
}
// Î¥Ô¼½ð
var ratio=0;
if("<%=ratio%>"==""||"<%=ratio%>"==null||"<%=ratio%>"=="null"){
ratio = 0.05;
}else{
ratio = (Number("<%=ratio%>")/100).toFixed(2);
}
var HANDLING_CHARGE = Math.round(Number(PREMATURE_MONEY*ratio)*100)/100;
setItemValue(0,getRow(),"HANDLING_CHARGE",HANDLING_CHARGE);
//¼ÆË㻹¿îÈÕÏ¢²î
var REPAYMENT=((Number(PREMATURE_MONEY)*dateRate)/360)*Number(idays);
setItemValue(0,0,'REPAYMENT_INTEREST',REPAYMENT);
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(SDNOMINAL_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");
setItemValue(0,getRow(),"DUN_PENALTY","0.00");
setItemValue(0,getRow(),"RECEIVABLE_MONEY02","0.00");
}else if(ADJUST_TYPE=="normal_terminate"){
setItemValue(0,getRow(),"PENALTY_MONEY","0.00");
setItemValue(0,getRow(),"OPEN_MONEY","0.00");
}else{
setItemValue(0,getRow(),"OPEN_MONEY","0.00");
}
}
}
function changeContract(){
getTerminateInfo();
// setItemValue(0,0,"CONTRACT_TOTAL",(Number(getItemValue(0,getRow(),"CONTRACT_TOTAL"))+Number(getItemValue(0,getRow(),"OTHER_IN"))).toFixed(2));
}
function datedifference(sDate1, sDate2) {
var dateSpan,
tempDate,
iDays;
sDate1 = Date.parse(sDate1);
sDate2 = Date.parse(sDate2);
dateSpan = sDate2 - sDate1;
dateSpan = Math.abs(dateSpan);
iDays = Math.floor(dateSpan / (24 * 3600 * 1000));
return iDays
};
</script>
<%@ include file="/Frame/resources/include/include_end.jspf"%>