FnaSubmitRequestJsRepayment_e9.jsp 13.2 KB
<%@page import="java.util.HashMap"%>
<%@page import="weaver.fna.general.FnaCommon"%>
<%@page import="java.util.UUID"%>
<%@page import="weaver.hrm.HrmUserVarify"%>
<%@page import="weaver.hrm.User"%>
<%@page import="weaver.systeminfo.SystemEnv"%>
<%@page import="weaver.conn.RecordSet"%>
<%@page import="weaver.general.Util"%>
<%@page import="weaver.workflow.field.BrowserComInfo"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%
String guid1 = UUID.randomUUID().toString();

User user = HrmUserVarify.getUser (request , response) ;
if(user==null){
    response.sendRedirect("/notice/noright.jsp") ;
    return ;
}

request.getSession().setAttribute("FnaSubmitRequestJsBorrow.jsp_____"+guid1+"_____"+user.getUID(), guid1);

RecordSet rs = new RecordSet();
int requestid = Util.getIntValue(request.getParameter("requestid"),0);
int workflowid = Util.getIntValue(request.getParameter("workflowid"),0);
int formid = 0;
int currentnodetype = 0;
boolean isNeverSubmit = false;//流程从未提交下去标志位

if(workflowid <= 0){
    rs.executeSql("select workflowid, currentnodetype from workflow_requestbase where requestid = "+requestid);
    if(rs.next()){
        workflowid = Util.getIntValue(rs.getString("workflowid"), 0);
        currentnodetype = Util.getIntValue(rs.getString("currentnodetype"), 0);
    }
}
if(requestid > 0 && currentnodetype==0){
    rs.executeSql("select count(*) cnt from workflow_requestLog a where a.logtype <> '1' and a.requestid = "+requestid);
    if(rs.next() && rs.getInt("cnt") == 0){
        isNeverSubmit = true;
    }
}else{
    isNeverSubmit = true;
}

HashMap<String, String> dataMap = new HashMap<String, String>();
FnaCommon.getFnaWfFieldInfo4Expense(workflowid, dataMap);

String main_fieldIdSqr = Util.null2String(dataMap.get("main_fieldIdSqr_fieldId"));
String main_fieldIdSqr_controlBorrowingWf = Util.null2String(dataMap.get("main_fieldIdSqr_controlBorrowingWf"));//还款流程中通过申请人字段控制可选择的借款流程

String dt1_fieldIdHklx = Util.null2String(dataMap.get("dt1_fieldIdHklx_fieldId"));
String dt1_fieldIdHkje = Util.null2String(dataMap.get("dt1_fieldIdHkje_fieldId"));
String dt1_fieldIdTzmx = Util.null2String(dataMap.get("dt1_fieldIdTzmx_fieldId"));

String dt2_fieldIdJklc = Util.null2String(dataMap.get("dt2_fieldIdJklc_fieldId"));
String dt2_fieldIdJkdh = Util.null2String(dataMap.get("dt2_fieldIdJkdh_fieldId"));
String dt2_fieldIdDnxh = Util.null2String(dataMap.get("dt2_fieldIdDnxh_fieldId"));
String dt2_fieldIdJkje = Util.null2String(dataMap.get("dt2_fieldIdJkje_fieldId"));
String dt2_fieldIdYhje = Util.null2String(dataMap.get("dt2_fieldIdYhje_fieldId"));
String dt2_fieldIdSpzje = Util.null2String(dataMap.get("dt2_fieldIdSpzje_fieldId"));
String dt2_fieldIdWhje = Util.null2String(dataMap.get("dt2_fieldIdWhje_fieldId"));
String dt2_fieldIdCxje = Util.null2String(dataMap.get("dt2_fieldIdCxje_fieldId"));

%>
<script type="text/javascript" src="/fna/js/e8Common_wev8.js?r=4"></script>
<script language="javascript" src="/fna/js/fna_e9Common.js?r=v3"></script>
<script type="text/javascript">
var __fna_haveNotTopDialogAlertVal = __fna_haveNotTopDialogAlert();
var _____guid1 = "<%=guid1 %>";

var main_fieldIdSqr = "<%=main_fieldIdSqr %>";
var main_fieldIdSqr_controlBorrowingWf = "<%=main_fieldIdSqr_controlBorrowingWf %>";

var dt1_fieldIdHklx = "<%=dt1_fieldIdHklx %>";//还款类型
var dt1_fieldIdHkje = "<%=dt1_fieldIdHkje %>";//还款金额
var dt1_fieldIdTzmx = "<%=dt1_fieldIdTzmx %>";//调整明细

var dt2_fieldIdJklc = "<%=dt2_fieldIdJklc %>";//借款流程
var dt2_fieldIdJkdh = "<%=dt2_fieldIdJkdh %>";//借款单号
var dt2_fieldIdDnxh = "<%=dt2_fieldIdDnxh %>";//单内序号
var dt2_fieldIdJkje = "<%=dt2_fieldIdJkje %>";//借款金额
var dt2_fieldIdYhje = "<%=dt2_fieldIdYhje %>";//已还金额
var dt2_fieldIdSpzje = "<%=dt2_fieldIdSpzje %>";//审批中金额
var dt2_fieldIdWhje = "<%=dt2_fieldIdWhje %>";//未还金额
var dt2_fieldIdCxje = "<%=dt2_fieldIdCxje %>";//冲销金额

var __workflowid = "<%=workflowid %>";
var __requestid = "<%=requestid %>";



//提交事件前出发函数
function doBeforeSubmit_fna(callback){
		 try{
			WfForm.controlBtnDisabled(true);//把流程中的按钮置灰
	        <%
	        if(isNeverSubmit){
	        %>
		        var detailAllRowIndexStr1 = "";//明细表1下标id
		        try{
		        	detailAllRowIndexStr1 = WfForm.getDetailAllRowIndexStr("detail_1");
		        } catch (e) {}
	            if(detailAllRowIndexStr1 != ""){
	                var detailAllRowIndexStr_array = detailAllRowIndexStr1.split(",");
	                for(var rowIdx = 0; rowIdx < detailAllRowIndexStr_array.length; rowIdx++){
	                    try{
	                        var idx = detailAllRowIndexStr_array[rowIdx];
                        	var defaultValue = "{&quot;amountBorrowBefore&quot;:&quot;"+""+"&quot;,&quot;memo1&quot;:&quot;"+""+"&quot;}";
                            WfForm.changeSingleField("field" + dt1_fieldIdTzmx + "_" + idx, {value:defaultValue}); 
	                    }catch(e){}
	               }
	            }
	        <%
	        }
	        %>
	        var temprequestid = __requestid;
	        
            var poststr1 = getPoststr("detail_1",dt1_fieldIdHkje);
            var poststr2 = "";
            var detailAllRowIndexStr = "";//明细表下标id
            try{
                detailAllRowIndexStr = WfForm.getDetailAllRowIndexStr("detail_2");
            } catch (e) {}
            if(detailAllRowIndexStr != ""){
                var detailAllRowIndexStr_array = detailAllRowIndexStr.split(",");
                for(var rowIdx = 0; rowIdx < detailAllRowIndexStr_array.length; rowIdx++){
                     try{
                         var idx = detailAllRowIndexStr_array[rowIdx];
                         var cxje = fnaRound2(WfForm.getFieldValue("field" + dt2_fieldIdCxje + "_" + idx), 2);
                         var jklc = WfForm.getFieldValue("field" + dt2_fieldIdJklc + "_" + idx)
                         var dnxh = WfForm.getFieldValue("field" + dt2_fieldIdDnxh + "_" + idx)
                         if(poststr2!=""){
                             poststr2 += "|";
                         }
                         poststr2 += cxje+","+jklc+","+dnxh+",postStrEnd";
                     }catch(e){}
                }
            }
	        
            if(poststr1 == "" && poststr2 == ""){
                WfForm.controlBtnDisabled(false);//取消流程中的按钮置灰
                callback(); //继续提交需调用callback,不调用代表阻断
                return;
            }
            
	        jQuery.ajax({
	            url : "/fna/wfPage/FnaifoverJsonAjaxRepayment.jsp",
	            type : "post",
	            processData : false,
	            data : "poststr1="+poststr1+"&poststr2="+poststr2+"&requestid="+temprequestid+"&workflowid="+__workflowid,
	            dataType : "json",
	            success: function do4Success(fnainfo){
	                if(fnainfo.flag){
	                	WfForm.controlBtnDisabled(false);
	                	callback(); //继续提交需调用callback,不调用代表阻断
	                	return;
	                }else{
	                    var errorType = fnainfo.errorType;
	                    var errorInfo = fnainfo.errorInfo;
	                    if(errorInfo!=null){
	                        errorInfo = errorInfo.replace("\n","<br>");
	                    }else{
	                        errorInfo="";
	                    }
	                    if(errorType=="alert"){
	                    	WfForm.controlBtnDisabled(false);
	                    	if(__fna_haveNotTopDialogAlertVal){
	                    		alert(errorInfo._fnaReplaceAll("<br>","\n"));
	                    	}else{
	                    		top.Dialog.alert(errorInfo);
	                    	}
	                        return;
	                    }else if(errorType=="confirm"){
	                    	if(__fna_haveNotTopDialogAlertVal){
	                    		if(confirm(errorInfo._fnaReplaceAll("<br>","\n"))){
                                    WfForm.controlBtnDisabled(false);
                                    callback(); //继续提交需调用callback,不调用代表阻断
                                    return;
	                    		}else{
                                    WfForm.controlBtnDisabled(false);
                                    return;
	                    		}
	                    	}else{
	                    		top.Dialog.confirm(errorInfo,
	                                    function(){
	                                        WfForm.controlBtnDisabled(false);
	                                        callback(); //继续提交需调用callback,不调用代表阻断
	                                        return;
	                                    },function(){
	                                        WfForm.controlBtnDisabled(false);
	                                        return;
	                                    }
	                                );
	                    	}
	                    }else{
	                    	WfForm.controlBtnDisabled(false);
	                    	if(__fna_haveNotTopDialogAlertVal){
	                    		alert(errorInfo._fnaReplaceAll("<br>","\n"));
	                    	}else{
	                    		top.Dialog.alert(errorInfo);
	                    	}
	                        return;
	                    }
	                }
	            }
	        }); 
	    }catch(ex2){
	    	WfForm.controlBtnDisabled(false);
	        alert(ex2.message);
	        return;
	    }
}

/**
 * 根据明细表和fieldId返回对应的poststr
 * detail: detail_1 明细表1
 * fieldId: dt1_fieldIdJkje 明细表1中的fieldId
 */
function getPoststr(detail,fieldId){
     var poststr = "";
 	try{
	     var detailAllRowIndexStr = "";//明细表下标id
	     try{
	         detailAllRowIndexStr = WfForm.getDetailAllRowIndexStr(detail);
	     } catch (e) {}
	     if(detailAllRowIndexStr != ""){
	         var detailAllRowIndexStr_array = detailAllRowIndexStr.split(",");
	         for(var rowIdx = 0; rowIdx < detailAllRowIndexStr_array.length; rowIdx++){
	              try{
	                  var idx = detailAllRowIndexStr_array[rowIdx];
	                  var amounts = fnaRound2(WfForm.getFieldValue("field" + fieldId + "_" + idx), 2);
	                  if(poststr != ""){
	                      poststr += "|";
	                  }
	                  poststr += amounts + ",postStrEnd";
	              }catch(e){}
	         }
	     }
    }catch(ex001){
    	//alert(ex001);
    }
    return poststr;
}


function clearBorrowInfo(lineNumber){
	WfForm.changeSingleField("field" + dt2_fieldIdJkdh + "_" + lineNumber, {value:""}); 
    WfForm.changeSingleField("field" + dt2_fieldIdJkje + "_" + lineNumber, {value:""}); 
    WfForm.changeSingleField("field" + dt2_fieldIdYhje + "_" + lineNumber, {value:""}); 
    WfForm.changeSingleField("field" + dt2_fieldIdSpzje + "_" + lineNumber, {value:""}); 
    WfForm.changeSingleField("field" + dt2_fieldIdWhje + "_" + lineNumber, {value:""}); 
}

//明细2新增成功后触发事件,addIndexStr即刚新增的行标示,添加多行为(1,2,3)
function _customAddFun1(addIndexStr){
	//绑定申请人change事件
	var main_fieldIdSqr_val = WfForm.getFieldValue("field"+main_fieldIdSqr);
    WfForm.appendBrowserDataUrlParam("field"+dt2_fieldIdJklc+"_"+addIndexStr,{"main_fieldIdSqr_controlBorrowingWf":main_fieldIdSqr_controlBorrowingWf,"main_fieldIdSqr_val":main_fieldIdSqr_val});
}

jQuery(document).ready(function(){
	
    //借款流程change事件
    WfForm.bindDetailFieldChangeEvent("field" + dt2_fieldIdJklc,function(id,rowIndex,value){
    	//清空表单内容
    	//console.log("WfForm.bindDetailFieldChangeEvent--",id,rowIndex,value);
    	clearBorrowInfo(rowIndex);
    });
    
    //绑定提交前事件
    WfForm.registerCheckEvent(WfForm.OPER_SUBMIT,function(callback){
        doBeforeSubmit_fna(callback);
    });
    
    //绑定申请人change事件
    WfForm.bindFieldChangeEvent("field"+main_fieldIdSqr, function(obj,id,value){
        //遍历明细表
    	var detailAllRowIndexStr = "";
    	try{
            detailAllRowIndexStr = WfForm.getDetailAllRowIndexStr("detail_2");
        } catch (e) {}
        if(detailAllRowIndexStr != ""){
            var detailAllRowIndexStr_array = detailAllRowIndexStr.split(",");
            for(var rowIdx = 0; rowIdx < detailAllRowIndexStr_array.length; rowIdx++){
                var idx = detailAllRowIndexStr_array[rowIdx];
                WfForm.appendBrowserDataUrlParam("field"+dt2_fieldIdJklc+"_"+idx,{"main_fieldIdSqr_controlBorrowingWf":main_fieldIdSqr_controlBorrowingWf,"main_fieldIdSqr_val":value});
            }
        }
    });
    
    //初始化借款流程浏览按钮传入数据
    var detailAllRowIndexStr = "";
    try{
        detailAllRowIndexStr = WfForm.getDetailAllRowIndexStr("detail_2");
    } catch (e) {}
    if(detailAllRowIndexStr != ""){
    	var main_fieldIdSqr_val = WfForm.getFieldValue("field"+main_fieldIdSqr);
        var detailAllRowIndexStr_array = detailAllRowIndexStr.split(",");
        for(var rowIdx = 0; rowIdx < detailAllRowIndexStr_array.length; rowIdx++){
            var idx = detailAllRowIndexStr_array[rowIdx];
            WfForm.appendBrowserDataUrlParam("field"+dt2_fieldIdJklc+"_"+idx,{"main_fieldIdSqr_controlBorrowingWf":main_fieldIdSqr_controlBorrowingWf,"main_fieldIdSqr_val":main_fieldIdSqr_val});
        }
    }
});

</script>