apzl_leasing/WebContent/Tenwa/Lease/Flow/Comm/LCContractTerminate/TriditionLCContractTerminateInfo.jsp
2018-09-29 18:23:19 +08:00

179 lines
7.9 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 contractid = CurPage.getParameter("ContractId");
String RightType = CurPage.getParameter("RightType");//选择模式
String ishistory=CurPage.getParameter("IsHistory");
String nodeNo=CurPage.getParameter("NodeNo");
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 contractId=condition.getAttribute("contract_id").getString();
//获取项目违约金(只有传统的有)
String total_all = JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.LC_CALC_CONDITION","CONTRACT_ID=:contractid").setParameter("contractid", contractid).getSingleResult(false).getAttribute("TOTAL_ALL").getString();
BizObject flow=GetFlowAction.getFlowBussinessObject(flowunid);
String productId=flow.getAttribute("productId").getString();
String sTempletNo = "TriditionLCContractTerminate";//--模板号--
ASObjectModel doTemp = new ASObjectModel(sTempletNo);
doTemp.setDefaultValue("PAYMENT_NUMBER", paymentnumber);
doTemp.setHtmlEvent("PAYDAY_ADJUST","onchange","getTerminateInfo");
doTemp.setHtmlEvent("REPURCHASE_RATIO","onchange","getRepurchaseMoney");
doTemp.setHtmlEvent("HANDLING_CHARGE","onchange","changeContract");
doTemp.setHtmlEvent("AGREED_PENALTY","onchange","changeContract");
doTemp.setHtmlEvent("AGREED_INTEREST","onchange","changeContract");
doTemp.setHtmlEvent("COLLECT_FEES","onchange","changeContract");
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 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 remaincorpus = terminateInfo.remaincorpus;
var remaininterest = terminateInfo.remaininterest;
var overduerent = terminateInfo.overduerent;
var sumpenalty = terminateInfo.sumpenalty;
//逾期利息暂时赋值为0
setItemValue(0,getRow(),"DUN_PENALTY",sumpenalty);
setItemValue(0,getRow(),"AGREED_PENALTY",sumpenalty);
//已到期租金
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);
//商定利息默认等于未到期利息
setItemValue(0,getRow(),"AGREED_INTEREST",remaininterest);
//回购比例 默认100
setItemValue(0,getRow(),"REPURCHASE_RATIO","100");
//回购本金
setItemValue(0,getRow(),"REPURCHASE_MONEY",remaincorpus);
setItemValue(0,getRow(),"HANDLING_CHARGE","0.00");
//项目违约金
var total_all = Number("<%=total_all%>")*0.2;
setItemValue(0,getRow(),"COLLECT_FEES",total_all);
//计算合同债券总计
setItemValue(0,getRow(),"CONTRACT_TOTAL",getContractBondTotal());
var s=Number(remaincorpus)*Number("0.05");
setItemValue(0,getRow(),"HANDLING_CHARGE",s); //违约手续费
}
}
//计算债券总计
function getContractBondTotal(){
var dunrent = getItemValue(0,getRow(),"DUN_RENT");
var handlingcharge = getItemValue(0,getRow(),"HANDLING_CHARGE");
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");AGREED_PENALTY
var otherin = getItemValue(0,getRow(),"OTHER_IN");
var otherout = getItemValue(0,getRow(),"OTHER_OUT");
var collectfees = getItemValue(0,getRow(),"COLLECT_FEES");
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(collectfees ? collectfees : 0 ) + Number(handlingcharge ? handlingcharge : 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 saveRecord(sPostEvents)
{
//检查是否进行过变更
var result = AsControl.RunJavaMethod("com.tenwa.reckon.executor.CreateTransactionExecutor","checkIsRentChange","flowunid=<%=flowunid%>,plannumber=<%=paymentnumber%>");
if(result == 'true'){
var SDHANDLING_CHARGE=getItemValue(0,getRow(0),"SDHANDLING_CHARGE");
var PAYDAY_DATE=getItemValue(0,getRow(0),"PAYDAY_DATE");
if (SDHANDLING_CHARGE!=null&&SDHANDLING_CHARGE!="") {
setItemValue(0,0,"HANDLING_CHARGE",SDHANDLING_CHARGE);
}
if (PAYDAY_DATE!=null&&PAYDAY_DATE!="") {
setItemValue(0,0,"COLLECT_FEES",PAYDAY_DATE);
}
setItemValue(0,0,"CONTRACT_ID","<%=contractid%>");
as_save("myiframe0","run()");
}else{
alert('请先撤销变更,再进行变更操作!!!');
}
}
function run()
{
AsControl.RunJavaMethod("com.tenwa.reckon.executor.CreateTransactionExecutor","runTerminate","flowunid=<%=flowunid%>,plannumber=<%=paymentnumber%>,productId=<%=productId%>,calType=pay_process");
}
jQuery(function(){
setItemValue(0,0,"flowunid","<%=flowunid%>");
//判断其他应收和其他应退是否为空
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","getTerminateOtherInfo","contractId=<%=contractId%>,paymentnumber=<%=paymentnumber%>");
for(var p in result){
setItemValue(0,getRow(),p,result[p]);
}
}
});
function changeContract(){
setItemValue(0,getRow(),"CONTRACT_TOTAL",getContractBondTotal());
}
</script>
<%@ include file="/Frame/resources/include/include_end.jspf"%>