CapitalSubmitRequestJs.jsp 16.6 KB
<%@page language="java" contentType="text/html; charset=UTF-8" %>
<%@page import="weaver.hrm.User"%>
<%@page import="weaver.systeminfo.SystemEnv"%>
<%@page import="weaver.hrm.HrmUserVarify"%>
<%@page import="weaver.general.Util"%>
<%@page import="java.util.*"%>
<%@page import="org.json.JSONObject"%>
<jsp:useBean id="CptWfUtil" class="weaver.cpt.util.CptWfUtil" scope="page" />
<%
User user = HrmUserVarify.getUser (request , response) ;
if(user==null){
	response.sendRedirect("/notice/noright.jsp") ;
	return ;
}
int requestid = Util.getIntValue(request.getParameter("requestid"),0);
int workflowid = Util.getIntValue(request.getParameter("workflowid"),0);
int formid = Util.getIntValue(request.getParameter("formid"),0);

//资产自定义流程类型
String cptwftype = CptWfUtil.getAllCptWftype(""+workflowid);//资产类型

//资产流程配置信息
JSONObject jsonObject= CptWfUtil.getCptwfInfo(""+workflowid);
String zicFieldId= Util.null2s(jsonObject.getString("zc"),"0"); //资产
int zcViewtype=Util.getIntValue( ""+jsonObject.getInt("zctype"),0);//主表/明细表示
String shulFieldId = Util.null2s(jsonObject.getString("sl"),"0");//数量字段
int slViewtype = Util.getIntValue( ""+jsonObject.getInt("sltype"),0);//明细表
String lyslFieldId = Util.null2s(jsonObject.getString("lysl"),"0");//领用数量
int lyslViewtype = Util.getIntValue( ""+jsonObject.getInt("lysltype"),0);//领用数量主表/明细表示
String zczlFieldId = Util.null2s(jsonObject.getString("zczl"),"0");//资产资料
int zczlViewtype = Util.getIntValue(""+jsonObject.getInt("zczltype"),0);//资产资料主表/明细表示
String zcbhFieldId = Util.null2s(jsonObject.getString("zcbh"),"0");//资产编号
int zcbhViewtype = Util.getIntValue(""+jsonObject.getInt("zcbhtype"),0);//资产编号主表/明细表示
String sqrFieldId = Util.null2s(jsonObject.getString("sqr"),"0");//申请人
int sqrViewtype = Util.getIntValue(""+jsonObject.getInt("sqrtype"),0);//申请人主表/明细表示

%>
<script language="javascript">
jQuery().ready(function(){
    WfForm.registerCheckEvent(WfForm.OPER_SAVE+","+WfForm.OPER_SUBMIT, function(callback){
    	var cptwftype="<%=cptwftype%>";
    	var zcviewtype = '<%=zcViewtype %>';
    	var slviewtype = '<%=slViewtype %>';
    	var lyslviewtype = '<%=lyslViewtype %>';
        var zczlviewtype = '<%=zczlViewtype %>';

        if(cptwftype != "applyuse"&&cptwftype != "apply"){

            if(zcviewtype!=slviewtype&&cptwftype != "change"){
                //主表、明细表配置问题
                alert("<%=SystemEnv.getHtmlLabelName(84466,user.getLanguage())%>");
                return ;
            }
            var temprequestid = '<%=requestid%>';
            var poststr = "";
            var check_flag = false;
            if(zcviewtype==0){//主字段
                var zcid = WfForm.getFieldValue("field"+<%=zicFieldId%>);
                var cptnum = WfForm.getFieldValue("field"+<%=shulFieldId%>);
                if(zcid!=undefined && zcid!=""&&cptnum!=undefined && cptnum!=""){
                    poststr += "|"+zcid+","+ cptnum;
                }else if(zcid!=undefined&&zcid!=""&&(cptnum==undefined||cptnum=="")){
                	if(cptwftype != "change"){
                		check_flag = true;
                	}
			    }
            }else{
                var indexElement = zcviewtype ;//明细
                var indexnum0 = WfForm.getDetailAllRowIndexStr("detail_"+indexElement);//所有行的明细行号
                if(indexnum0!=""){
                    var resourceIdArray = indexnum0.split(",");
                    for(var i=0;i<resourceIdArray.length;i++){
                        try{
                            var zcid = WfForm.getFieldValue("field"+<%=zicFieldId%>+"_"+resourceIdArray[i]);//领用的资产id
                            var cptnum = WfForm.getFieldValue("field"+<%=shulFieldId%>+"_"+resourceIdArray[i]);//领用的数量
                            if(cptnum==undefined||cptnum==""){
                            	if(zcid!=undefined&&zcid!=""){
                            		if(cptwftype != "change"){
				                		check_flag = true;
				                	}
                            	}
                            }else{
                            	if(zcid!=undefined&&zcid!=""){
                            		poststr += "|"+zcid+","+ cptnum;
                            	}
                            }
                        }catch(e){
                            alert(e);
                        }
                    }
                }
            }
            //除了入库,入库领用、变更,资产不为空、数量为空,需要校验
            if(check_flag){
	            alert("<%=SystemEnv.getHtmlLabelNames("503026,82241",user.getLanguage())%>");
            }else{
            	if(poststr!=""){
	            	poststr =poststr.substr(1);
	                jQuery.ajax({
	                    url : "/mobile/e9/cpt/CptIfOverAjax.jsp",
	                    type : "post",
	                    async : true,
	                    processData : false,
	                    data : "poststr="+poststr+"&requestid="+temprequestid+"&cptwftype=<%=cptwftype%>",
	                    dataType : "json",
	                    success: function do4Success(data){
	                        if(data&&data.msg && data.msg!=""){
	                            alert(data.msg);
	                        }else{
	                            callback();//执行callback,表示继续执行,否则流程停止
	                        }
	                    }
	                });
	            }else{
	                callback();//执行callback,表示继续执行,否则流程停止
	            }
            }
		}else if(cptwftype == "apply"){
		
            if(zczlviewtype!=slviewtype){
                //主表、明细表配置问题
                alert("<%=SystemEnv.getHtmlLabelName(84466,user.getLanguage())%>");
                return ;
            }
            var markstr = "";
            if(zczlviewtype==0){//主字段
                var zczl = WfForm.getFieldValue("field"+<%=zczlFieldId%>);
                var cptnum = WfForm.getFieldValue("field"+<%=shulFieldId%>);
                var lycptnum = WfForm.getFieldValue("field"+<%=shulFieldId%>);
                var zcbh = WfForm.getFieldValue("field"+<%=zcbhFieldId%>);
                var sqr = WfForm.getFieldValue("field"+<%=sqrFieldId%>);
                if(zczl==undefined||zczl==""){ //如果资产资料未选择 流程继续
                    
                }else if(zcbh !="" && zcbh != null){
					markstr += "|sqr:"+sqr+",zczl:"+zczl+",zcbh:"+ zcbh+",cptnum:"+ cptnum;
				}
            }else{
                var indexElement = zczlviewtype ;//明细
                var indexnum0 = WfForm.getDetailAllRowIndexStr("detail_"+indexElement);//所有行的明细行号
                if(indexnum0!=""){
                    var resourceIdArray = indexnum0.split(",");
                    for(var i=0;i<resourceIdArray.length;i++){
                        try{
                            var zczl = WfForm.getFieldValue("field"+<%=zczlFieldId%>+"_"+resourceIdArray[i]);//申购的资产资料
                            var cptnum = WfForm.getFieldValue("field"+<%=shulFieldId%>+"_"+resourceIdArray[i]);//申购的数量
                            var zcbh = WfForm.getFieldValue("field"+<%=zcbhFieldId%>+"_"+resourceIdArray[i]);
                            var sqr = WfForm.getFieldValue("field"+<%=sqrFieldId%>+"_"+resourceIdArray[i]);
                            if(zczl==undefined||zczl==""){ //如果资产资料未选择 流程继续
                                
                            }else if(zcbh !="" && zcbh != null){
                                markstr += "|sqr:"+sqr+",zczl:"+zczl+",zcbh:"+ zcbh+",cptnum:"+ cptnum;
                            }
                        }catch(e){
                            alert(e);
                        }
                    }
                }
                
            }
            
            if(markstr!=""){
                markstr = markstr.substr(1);
                jQuery.ajax({
	                url : "/mobile/e9/cpt/CptCheckMark.jsp",
	                type : "post",
	                async : true,
	                processData : false,
	                data : "markstr="+markstr,
	                dataType : "json",
	                success: function do4Success(data){
	                    if(data&&data.msg && data.msg!=""){
	                        alert(data.msg);
	                    }else{
	                        callback();//执行callback,表示继续执行,否则流程停止
	                    }
	                }
	            });
            }else{
           		callback();//执行callback,表示继续执行,否则流程停止
            }
        }else if(cptwftype == "applyuse"){
            if(zczlviewtype!=slviewtype || zczlviewtype!=lyslviewtype){
                //主表、明细表配置问题
                alert("<%=SystemEnv.getHtmlLabelName(84466,user.getLanguage())%>");
                return ;
            }
            if(zczlviewtype==0){//主字段
                var zczl = WfForm.getFieldValue("field"+<%=zczlFieldId%>);
                var cptnum = WfForm.getFieldValue("field"+<%=shulFieldId%>);
                var lycptnum = WfForm.getFieldValue("field"+<%=lyslFieldId%>);
                var zcbh = WfForm.getFieldValue("field"+<%=zcbhFieldId%>);
                var sqr = WfForm.getFieldValue("field"+<%=sqrFieldId%>);
                var markstr = "sqr:"+sqr+",zczl:"+zczl+",zcbh:"+ zcbh+",cptnum:"+ cptnum;
                if(zczl==undefined||zczl==""){//如果资产资料未选择 流程继续
                    callback();//执行callback,表示继续执行,否则流程停止
                }else{
                    if(cptnum==undefined||cptnum==""){//如果申购数量未填写 全都不校验
                        callback();//执行callback,表示继续执行,否则流程停止
                    }else{//如果申购数量填了 校验领用数量是填写
                        if(lycptnum==undefined || lycptnum=="" ){//如果领用数量未填写  不校验
                        	if(parseInt(cptnum)>0&&zcbh !="" && zcbh != null){
                           		jQuery.ajax({
                                    url : "/mobile/e9/cpt/CptCheckMark.jsp",
                                    type : "post",
                                    async : true,
                                    processData : false,
                                    data : "markstr="+markstr,
                                    dataType : "json",
                                    success: function do4Success(data){
                                        if(data&&data.msg && data.msg!=""){
                                            alert(data.msg);
                                        }else{
                                            callback();//执行callback,表示继续执行,否则流程停止
                                        }
                                    }
                                });
                           	}else{
                           		callback();//执行callback,表示继续执行,否则流程停止
                           	}
                            
                        }else{//如果领用数量填写了  校验领用数量是否大于申购数量
                        	if(parseInt(cptnum)<=0){
                                 callback();//执行callback,表示继续执行,否则流程停止
                            }
                            if(parseInt(lycptnum) > parseInt(cptnum)){
                                alert("<%=SystemEnv.getHtmlLabelName(500764,user.getLanguage())%>");
                            }else{
                            	if(zcbh !="" && zcbh != null){
	                            	jQuery.ajax({
	                                    url : "/mobile/e9/cpt/CptCheckMark.jsp",
	                                    type : "post",
	                                    async : true,
	                                    processData : false,
	                                    data : "markstr="+markstr,
	                                    dataType : "json",
	                                    success: function do4Success(data){
	                                        if(data&&data.msg && data.msg!=""){
	                                            alert(data.msg);
	                                        }else{
	                                            callback();//执行callback,表示继续执行,否则流程停止
	                                        }
	                                    }
	                                });
                            	}else{
                            		callback();//执行callback,表示继续执行,否则流程停止
                            	}
                            }
                        }
                    }
                }
            }else{
                var indexElement = zczlviewtype ;//明细
                var indexnum0 = WfForm.getDetailAllRowIndexStr("detail_"+indexElement);//所有行的明细行号
                var check_flag = true;
                var markstr = "";
                if(indexnum0!=""){
                    var resourceIdArray = indexnum0.split(",");
                    for(var i=0;i<resourceIdArray.length;i++){
                        try{
                            var zczl = WfForm.getFieldValue("field"+<%=zczlFieldId%>+"_"+resourceIdArray[i]);//申购的资产资料
                            var cptnum = WfForm.getFieldValue("field"+<%=shulFieldId%>+"_"+resourceIdArray[i]);//申购的数量
                            var lycptnum = WfForm.getFieldValue("field"+<%=lyslFieldId%>+"_"+resourceIdArray[i]);//领用的数量
                            var zcbh = WfForm.getFieldValue("field"+<%=zcbhFieldId%>+"_"+resourceIdArray[i]);
                            var sqr = WfForm.getFieldValue("field"+<%=sqrFieldId%>+"_"+resourceIdArray[i]);
                            
                            if(zczl==undefined||zczl==""){ //如果资产资料未选择 流程继续
                                //check_flag = true;
                            }else{
                                if(cptnum==undefined||cptnum==""){ //如果申购数量未填写 全都不校验
                                    //check_flag = true;
                                }else{//如果申购数量填了 校验领用数量是填写
                                    if(lycptnum==undefined || lycptnum=="" ){ //如果领用数量未填写  不校验
                                    	if(parseInt(cptnum)>0){
                                    		if(zcbh !="" && zcbh != null){
				                                markstr += "|sqr:"+sqr+",zczl:"+zczl+",zcbh:"+ zcbh+",cptnum:"+ cptnum;
				                            }
                                    	}
                                        //check_flag = true;
                                    }else{//如果领用数量填写了  校验领用数量是否大于申购数量
                                    	if(parseInt(cptnum)>0){
                                    		if(zcbh !="" && zcbh != null){
				                                markstr += "|sqr:"+sqr+",zczl:"+zczl+",zcbh:"+ zcbh+",cptnum:"+ cptnum;
				                            }
                                    	}
										if(parseInt(lycptnum) > parseInt(cptnum)){
                                            check_flag = false;
										}
                                    }
                                }
							}

                        }catch(e){
                            alert(e);
                        }
                    }
                }

				if(check_flag){
					if(markstr!=""){
		                markstr = markstr.substr(1);
		                jQuery.ajax({
	                        url : "/mobile/e9/cpt/CptCheckMark.jsp",
	                        type : "post",
	                        async : true,
	                        processData : false,
	                        data : "markstr="+markstr,
	                        dataType : "json",
	                        success: function do4Success(data){
	                            if(data&&data.msg && data.msg!=""){
	                                alert(data.msg);
	                            }else{
	                                callback();//执行callback,表示继续执行,否则流程停止
	                            }
	                        }
	                    });
		            }else{
		            	callback();//执行callback,表示继续执行,否则流程停止
		            }
				}else{
                    alert("<%=SystemEnv.getHtmlLabelName(500764,user.getLanguage())%>");
				}
            }
		}

    });
});
</script>