646 lines
30 KiB
Plaintext
646 lines
30 KiB
Plaintext
<%@ 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">
|
||
|
||
var IDS = "";
|
||
var YES_NO = "";
|
||
|
||
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(){
|
||
debugger
|
||
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%>");
|
||
var returns = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","setEquipStatus","flowunid=<%=flowunid%>");
|
||
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);
|
||
if("Success"!=mage){
|
||
alert('Ìáǰ½áÇåʧ°Ü£¡£¡£¡');
|
||
return;
|
||
}
|
||
}
|
||
var SETTLE_METHOD = getItemValue(0,0,"SETTLE_METHOD");
|
||
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"));
|
||
var SDNOMINAL_PRICE = getItemValue(0,0,"SDNOMINAL_PRICE");
|
||
var PREMATURE_MONEY = getItemValue(0,0,"PREMATURE_MONEY");
|
||
var DUN_RENT = getItemValue(0,0,"DUN_RENT");
|
||
if(YES_NO=='Y'&&SETTLE_METHOD=="SETTLE_METHOD02"){
|
||
//»ñÈ¡ÆäËüÓ¦ÊÕºÍÆäËüÓ¦ÍË
|
||
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 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 if(YES_NO=='N'&&SETTLE_METHOD=="SETTLE_METHOD02"){
|
||
debugger
|
||
// ×îÖÕ»¹¿î½ð¶î
|
||
var MAXIMUM_TOTAL = (Number(PREMATURE_MONEY)+Number(DUN_RENT)+Number(AGREED_PENALTY)+SDHANDLING_CHARGE+AGREED_DATEPENALTY+Number(SDNOMINAL_PRICE));
|
||
setItemValue(0,0,'MAXIMUM_TOTAL',MAXIMUM_TOTAL);
|
||
}
|
||
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"){
|
||
var returns = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","setEquipmentTerminateStatus","flowunid=<%=flowunid%>,IDS="+IDS);
|
||
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");
|
||
var disposable = AsControl.RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.EarlyContract","getdisposable","flowunid=<%=flowunid%>");
|
||
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;");
|
||
if(disposable == "false"){
|
||
settlemet();
|
||
}else{
|
||
alert("´ËºÏͬÒÑ·¢Æð¹ýÌáǰ²¿·Ö½áÇå,ÏÖÖ»ÄÜ·¢ÆðÈ«²¿½áÇå");
|
||
setItemValue(0,getRow(),"SETTLE_METHOD","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();
|
||
}
|
||
}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{
|
||
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);
|
||
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(){
|
||
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 SDNOMINAL_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);
|
||
// Ó¦Í˽ð¶î
|
||
var OTHEROUT = <%=cautionmoney%>;
|
||
if(OTHEROUT == "" || OTHEROUT == null){
|
||
OTHEROUT = "0.00"
|
||
}
|
||
if(YES_NO=='Y'){
|
||
setItemValue(0,getRow(),"OTHER_OUT",OTHEROUT);
|
||
}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);
|
||
}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);
|
||
}
|
||
|
||
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"%> |