FnaSubmitRequestJsBorrow_e9.jsp 13.7 KB
<%@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;
}

String main_fieldIdSqr = "";

String dt1_fieldIdJklx = "";
String dt1_fieldIdJkje = "";
String dt1_fieldIdJkmx = "";

String dt2_fieldIdSkfs = "";
String dt2_fieldIdSkje = "";
String dt2_fieldIdKhyh = "";
String dt2_fieldIdHuming = "";
String dt2_fieldIdSkzh = "";

String sql = "select * from fnaFeeWfInfoField where workflowid = "+workflowid;
rs.executeSql(sql);
while(rs.next()){
	String fieldType = Util.null2String(rs.getString("fieldType"));
	String fieldId = Util.null2String(rs.getString("fieldId"));
	String dtlNumber = Util.null2String(rs.getString("dtlNumber"));

	if(Util.getIntValue(dtlNumber)==0){
		if(Util.getIntValue(fieldType)==1){
			main_fieldIdSqr = fieldId;
		}
	}else if(Util.getIntValue(dtlNumber)==1){
		if(Util.getIntValue(fieldType)==1){
			dt1_fieldIdJklx = fieldId;
		}else if(Util.getIntValue(fieldType)==2){
			dt1_fieldIdJkje = fieldId;
		}else if(Util.getIntValue(fieldType)==3){
			dt1_fieldIdJkmx = fieldId;
		}
	}else if(Util.getIntValue(dtlNumber)==2){
		if(Util.getIntValue(fieldType)==1){
			dt2_fieldIdSkfs = fieldId;
		}else if(Util.getIntValue(fieldType)==2){
			dt2_fieldIdSkje = fieldId;
		}else if(Util.getIntValue(fieldType)==3){
			dt2_fieldIdKhyh = fieldId;
		}else if(Util.getIntValue(fieldType)==4){
			dt2_fieldIdHuming = fieldId;
		}else if(Util.getIntValue(fieldType)==5){
			dt2_fieldIdSkzh = fieldId;
		}
	}
}

%>
<script type="text/javascript" src="/fna/js/e8Common_wev8.js?r=5"></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 dt1_fieldIdJklx = "<%=dt1_fieldIdJklx %>";//借款类型
var dt1_fieldIdJkje = "<%=dt1_fieldIdJkje %>";//借款金额
var dt1_fieldIdJkmx = "<%=dt1_fieldIdJkmx %>";//借款明细

var dt2_fieldIdSkfs = "<%=dt2_fieldIdSkfs %>";//收款方式
var dt2_fieldIdSkje = "<%=dt2_fieldIdSkje %>";//收款金额
var dt2_fieldIdKhyh = "<%=dt2_fieldIdKhyh %>";//开户银行
var dt2_fieldIdHuming = "<%=dt2_fieldIdHuming %>";//账户名称
var dt2_fieldIdSkzh = "<%=dt2_fieldIdSkzh %>";//收款账号

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

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


/**
 * 根据相应参数改变明细表2后三项显示值
 */
function _fnaBorrowSkfsDtl2_onchange(fieldId, lineNumber, notUpdateVal){
	
    if(notUpdateVal==null){//是否不更新账户信息
        notUpdateVal = false;
    }
    
    if(!notUpdateVal){
    	WfForm.changeSingleField("field" + dt2_fieldIdKhyh + "_" + lineNumber, {value:""}, {viewAttr:"1"}); 
    	WfForm.changeSingleField("field" + dt2_fieldIdHuming + "_" + lineNumber, {value:""}, {viewAttr:"1"}); 
    	WfForm.changeSingleField("field" + dt2_fieldIdSkzh + "_" + lineNumber, {value:""}, {viewAttr:"1"});
    }
 
    var sqr = WfForm.getFieldValue("field" + main_fieldIdSqr);
    var paymentMethod = WfForm.getFieldValue("field" + dt2_fieldIdSkfs + "_" + lineNumber);
   
    if(paymentMethod == "1"){
        WfForm.changeFieldAttr("field" + dt2_fieldIdKhyh + "_" + lineNumber, 2);
        WfForm.changeFieldAttr("field" + dt2_fieldIdHuming + "_" + lineNumber, 2);
        WfForm.changeFieldAttr("field" + dt2_fieldIdSkzh + "_" + lineNumber, 2);
        
        if(!notUpdateVal){
            jQuery.ajax({
                url : "/fna/wfPage/mainBorrowSqrInfo.jsp",
                type : "post",
                processData : false,
                data : "_____guid1="+_____guid1+"&sqr="+sqr,
                dataType : "json",
                success: function do4Success(fnainfo){
                    if(fnainfo.flag){
                        WfForm.changeSingleField("field" + dt2_fieldIdKhyh + "_" + lineNumber, {value:fnainfo.Khyh}); 
                        WfForm.changeSingleField("field" + dt2_fieldIdHuming + "_" + lineNumber, {value:fnainfo.Huming}); 
                        WfForm.changeSingleField("field" + dt2_fieldIdSkzh + "_" + lineNumber, {value:fnainfo.Skzh}); 
                    }else{
                    	if(__fna_haveNotTopDialogAlertVal){
                    		alert(fnainfo.errorInfo._fnaReplaceAll("<br>","\n"));
                    	}else{
                    		top.Dialog.alert(fnainfo.errorInfo);                    		
                    	}
                    }
                }
            }); 
        }
    }else{
    	WfForm.changeFieldAttr("field" + dt2_fieldIdKhyh + "_" + lineNumber, 1);
        WfForm.changeFieldAttr("field" + dt2_fieldIdHuming + "_" + lineNumber, 1);
        WfForm.changeFieldAttr("field" + dt2_fieldIdSkzh + "_" + lineNumber, 1);
    }
}


//提交事件前出发函数
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_fieldIdJkmx + "_" + idx, {value:defaultValue}); 
                        }catch(e){}
                   }
                }
            <%
            }
            %>
        	var temprequestid = __requestid;
            
            var poststr1 = getPoststr("detail_1",dt1_fieldIdJkje);
            var poststr2 = getPoststr("detail_2",dt2_fieldIdSkje);
            
            if(poststr1 == "" && poststr2 == ""){
            	WfForm.controlBtnDisabled(false);//取消流程中的按钮置灰
            	callback(); //继续提交需调用callback,不调用代表阻断
            	return;
            }
            
            jQuery.ajax({
                url : "/fna/wfPage/FnaifoverJsonAjaxBorrow.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(ex1){
            WfForm.controlBtnDisabled(false);//取消流程中的按钮置灰
            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 bindfeeDtl2(){
	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];
            var paymentMethod = WfForm.getFieldValue("field" + dt2_fieldIdSkfs + "_" + idx);
            if(paymentMethod == ""){
                paymentMethod = WfForm.getFieldValue("disfield" + dt2_fieldIdSkfs + "_" + idx);
            }
            if(paymentMethod != ""){
                var notUpdateVal = false;
                //获取主键的接口   -1 说明没有
                var detailRecordId = WfForm.getDetailRowKey("field" + dt2_fieldIdSkfs + "_" + idx); 
                if(detailRecordId != -1){
                    notUpdateVal = true;
                }
                _fnaBorrowSkfsDtl2_onchange("field" + dt2_fieldIdSkfs, idx, notUpdateVal);
               // _fnaBorrowSkfsDtl2_onchange(_skfsJQuery[0], _notUpdateVal);
            }   
		}
	}
}

/**
 * 绑明细表2的新增选择
 */
function _customAddFun1(addIndexStr){
	var paymentMethod = WfForm.getFieldValue("field" + dt2_fieldIdSkfs + "_" + addIndexStr);
	if(paymentMethod == ""){
		paymentMethod = WfForm.getFieldValue("disfield" + dt2_fieldIdSkfs + "_" + addIndexStr);
	}
	//0:现金  1:银行转账
	if(paymentMethod != ""){
		_fnaBorrowSkfsDtl2_onchange("field" + dt2_fieldIdSkfs, addIndexStr, null);
	}
}


jQuery(document).ready(function(){
	WfForm.bindDetailFieldChangeEvent("field" + dt2_fieldIdSkfs,function(id,rowIndex,value){
		//console.log("WfForm.bindDetailFieldChangeEvent--",id,rowIndex,value);
		_fnaBorrowSkfsDtl2_onchange("field" + dt2_fieldIdSkfs, rowIndex, null);
	});
	
    bindfeeDtl2(); 
    
    //绑定提交前事件
    WfForm.registerCheckEvent(WfForm.OPER_SUBMIT,function(callback){
        doBeforeSubmit_fna(callback);
    });
});

</script>