surveyresult.jsp 14.8 KB

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@ page import="java.util.*" %>
<jsp:useBean id="pack" class="weaver.general.ParameterPackage" scope="page"/>
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<script src="/js/tabs/jquery.tabs.extend_wev8.js"></script>
<link type="text/css" href="/js/tabs/css/e8tabs1_wev8.css" rel="stylesheet" />
<link rel="stylesheet" href="/css/ecology8/request/searchInput_wev8.css" type="text/css" />
<script type="text/javascript" src="/js/ecology8/request/searchInput_wev8.js"></script>

<link rel="stylesheet" href="/css/ecology8/request/seachBody_wev8.css" type="text/css" />
<link rel="stylesheet" href="/css/ecology8/request/hoverBtn_wev8.css" type="text/css" />
<script type="text/javascript" src="/js/ecology8/request/hoverBtn_wev8.js"></script>
<script type="text/javascript" src="/js/ecology8/request/titleCommon_wev8.js"></script>
<jsp:useBean id="VotingManager" class="weaver.voting.VotingManager" scope="page" />	
<%

int viewResult = Util.getIntValue(Util.null2String(request.getParameter("viewResult")),0);

// 1 表示模板
int istemplate = Util.getIntValue(Util.null2String(request.getParameter("istemplate")),0);

String votingid =  Util.null2String(request.getParameter("votingid"));

//是否有结果查看权限
boolean canmaint=HrmUserVarify.checkUserRight("Voting:Maint", user);
		String	sqlWhere = "";
if(!canmaint){		
	canmaint = "1".equals((String)session.getAttribute("canmaint_" + user.getUID() + "_" + user.getLogintype() + "_" + votingid));		
}
if(!canmaint){
	 int userid = user.getUID();
	 HrmUserSettingComInfo userSetting=new HrmUserSettingComInfo();
     String belongtoshow = userSetting.getBelongtoshowByUserId(userid+""); 
     String belongtoids = user.getBelongtoids();
 	 String account_type = user.getAccount_type();
	RecordSet.executeSql("select isSeeResult from voting where id=" + votingid);
	RecordSet.next();
	if("on".equals(RecordSet.getString("isSeeResult"))){
		
		
		if(belongtoshow.equals("1")&&account_type.equals("0")&&!belongtoids.equals("")){
			belongtoids+=","+userid;
			String[] votingshareids=Util.TokenizerString2(belongtoids,",");
     		for(int i=0;i<votingshareids.length;i++){
     			User tmptUser=VotingManager.getUser(Util.getIntValue(votingshareids[i]));
				String seclevel=tmptUser.getSeclevel();
				int subcompany1=tmptUser.getUserSubCompany1();
				int department=tmptUser.getUserDepartment();
				String  jobtitles=tmptUser.getJobtitle();
     	
		  		String tmptsubcompanyid=subcompany1+"";
		  		String tmptdepartment=department+"";
		  		RecordSet.executeSql("select subcompanyid,departmentid from HrmResourceVirtual where resourceid="+tmptUser.getUID());
		  		while(RecordSet.next()){
		  			tmptsubcompanyid +=","+Util.null2String(RecordSet.getString("subcompanyid"));
		  			tmptdepartment +=","+Util.null2String(RecordSet.getString("departmentid"));
		  		}
		  		
		  		sqlWhere +=" select id from VotingViewer t"+i+" where votingd="+votingid+" and ((sharetype=1 and resourceid="+tmptUser.getUID()+") or (sharetype=2 and subcompanyid in("+tmptsubcompanyid+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or (sharetype=3 and departmentid in("+tmptdepartment+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or (sharetype=5 and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or  (sharetype=6 and ( (joblevel=0 and jobtitles="+jobtitles+" ) or (joblevel=1 and jobtitles="+jobtitles+" and jobsubcompany in("+tmptsubcompanyid+")) or (joblevel=2 and jobtitles="+jobtitles+" and jobdepartment in("+tmptdepartment+") )) ) or   (sharetype=4 and exists(select 1 from HrmRoleMembers where roleid=t"+i+".roleid and rolelevel<=t"+i+".rolelevel and resourceid="+tmptUser.getUID()+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) ) union ";
	 		}
			sqlWhere = "select id from (" + sqlWhere + ")";
		}else{
			String seclevel=user.getSeclevel();
			int subcompany1=user.getUserSubCompany1();
			int department=user.getUserDepartment();
  		    String  jobtitles=user.getJobtitle();
	  		String tmptsubcompanyid=subcompany1+"";
	  		String tmptdepartment=department+"";
	  		RecordSet.executeSql("select subcompanyid,departmentid from HrmResourceVirtual where resourceid="+user.getUID());
	  		while(RecordSet.next()){
	  			tmptsubcompanyid +=","+Util.null2String(RecordSet.getString("subcompanyid"));
	  			tmptdepartment +=","+Util.null2String(RecordSet.getString("departmentid"));
	  		}
			sqlWhere = "select id from VotingViewer t where votingid=" + votingid + " and ((sharetype=1 and resourceid="+user.getUID()+") or (sharetype=2 and subcompanyid in("+tmptsubcompanyid+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or (sharetype=3 and departmentid in("+tmptdepartment+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or (sharetype=5 and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or  (sharetype=6 and ( (joblevel=0 and jobtitles="+jobtitles+" ) or (joblevel=1 and jobtitles="+jobtitles+" and jobsubcompany in("+tmptsubcompanyid+")) or (joblevel=2 and jobtitles="+jobtitles+" and jobdepartment in("+tmptdepartment+") )) ) or (sharetype=4 and exists(select 1 from HrmRoleMembers where roleid=t.roleid and rolelevel<=t.rolelevel and resourceid="+user.getUID()+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) )" ;//在查看结果范围
		}
		
		RecordSet.executeSql(sqlWhere);
		if(RecordSet.next()){
			canmaint = true;
		}
		
	}else{
		
			if(belongtoshow.equals("1")&&account_type.equals("0")&&!belongtoids.equals("")){
  			belongtoids+=","+userid;
 				sqlWhere = " id in (";
				
				String[] votingshareids=Util.TokenizerString2(belongtoids,",");
	     	for(int i=0;i<votingshareids.length;i++){
	     		User tmptUser=VotingManager.getUser(Util.getIntValue(votingshareids[i]));
					String seclevel=tmptUser.getSeclevel();
					int subcompany1=tmptUser.getUserSubCompany1();
					int department=tmptUser.getUserDepartment();
					String  jobtitles=tmptUser.getJobtitle();
	     	
		  		String tmptsubcompanyid=subcompany1+"";
		  		String tmptdepartment=department+"";
		  		RecordSet.executeSql("select subcompanyid,departmentid from HrmResourceVirtual where resourceid="+tmptUser.getUID());
		  		while(RecordSet.next()){
		  			tmptsubcompanyid +=","+Util.null2String(RecordSet.getString("subcompanyid"));
		  			tmptdepartment +=","+Util.null2String(RecordSet.getString("departmentid"));
		  		}
		  		
		  		sqlWhere +=" select votingid from VotingViewer t"+i+" where votingid="+votingid+" and ((sharetype=1 and resourceid="+tmptUser.getUID()+") or (sharetype=2 and subcompanyid in("+tmptsubcompanyid+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or (sharetype=3 and departmentid in("+tmptdepartment+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or (sharetype=5 and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or  (sharetype=6 and ( (joblevel=0 and jobtitles="+jobtitles+" ) or (joblevel=1 and jobtitles="+jobtitles+" and jobsubcompany in("+tmptsubcompanyid+")) or (joblevel=2 and jobtitles="+jobtitles+" and jobdepartment in("+tmptdepartment+") )) ) or   (sharetype=4 and exists(select 1 from HrmRoleMembers where roleid=t"+i+".roleid and rolelevel<=t"+i+".rolelevel and resourceid="+tmptUser.getUID()+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) ) union ";
		  		sqlWhere +=" select votingid from VotingShare ta"+i+",voting tt"+i+" where tt.id="+votingid+" and ta"+i+".votingid=tt"+i+".id and (tt"+i+".isSeeResult='' or tt"+i+".isSeeResult is null) and ((sharetype=1 and resourceid="+tmptUser.getUID()+") or (sharetype=2 and subcompanyid in("+tmptsubcompanyid+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or (sharetype=3 and departmentid in("+tmptdepartment+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or (sharetype=5 and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or  (sharetype=6 and ( (joblevel=0 and jobtitles="+jobtitles+" ) or (joblevel=1 and jobtitles="+jobtitles+" and jobsubcompany in("+tmptsubcompanyid+")) or (joblevel=2 and jobtitles="+jobtitles+" and jobdepartment in("+tmptdepartment+") )) ) or (sharetype=4 and exists(select 1 from HrmRoleMembers where roleid=ta"+i+".roleid and rolelevel<=ta"+i+".rolelevel and resourceid="+tmptUser.getUID()+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) ) union ";	
		 		}
 							
				sqlWhere +=" select id as votingid from voting where id="+votingid+" and createrid in ("+belongtoids+") or approverid in ( "+belongtoids+") ";
				
				sqlWhere +=" ) ";
			}else{
				String seclevel=user.getSeclevel();
				int subcompany1=user.getUserSubCompany1();
				int department=user.getUserDepartment();
	  		    String  jobtitles=user.getJobtitle();
	  		String tmptsubcompanyid=subcompany1+"";
	  		String tmptdepartment=department+"";
	  		RecordSet.executeSql("select subcompanyid,departmentid from HrmResourceVirtual where resourceid="+user.getUID());
	  		while(RecordSet.next()){
	  			tmptsubcompanyid +=","+Util.null2String(RecordSet.getString("subcompanyid"));
	  			tmptdepartment +=","+Util.null2String(RecordSet.getString("departmentid"));
	  		}
				
				sqlWhere = " id in (select votingid from VotingViewer t where votingid="+votingid+" and ((sharetype=1 and resourceid="+user.getUID()+") or (sharetype=2 and subcompanyid in("+tmptsubcompanyid+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or (sharetype=3 and departmentid in("+tmptdepartment+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or (sharetype=5 and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or  (sharetype=6 and ( (joblevel=0 and jobtitles="+jobtitles+" ) or (joblevel=1 and jobtitles="+jobtitles+" and jobsubcompany in("+tmptsubcompanyid+")) or (joblevel=2 and jobtitles="+jobtitles+" and jobdepartment in("+tmptdepartment+") )) ) or (sharetype=4 and exists(select 1 from HrmRoleMembers where roleid=t.roleid and rolelevel<=t.rolelevel and resourceid="+user.getUID()+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) )" +//在查看结果范围
        		 " union " +
        		 " select id as votingid from voting where id="+votingid+" and createrid="+userid+" or approverid = "+userid+//调查是 userid 创建或审批
        		 " union " +
        		 //以及调查设置了提交后可查看结果内的
        		 " select votingid from VotingShare t,voting tt where tt.id="+votingid+" and t.votingid=tt.id  and ((sharetype=1 and resourceid="+user.getUID()+") or (sharetype=2 and subcompanyid in("+tmptsubcompanyid+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or (sharetype=3 and departmentid in("+tmptdepartment+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or (sharetype=5 and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) or  (sharetype=6 and ( (joblevel=0 and jobtitles="+jobtitles+" ) or (joblevel=1 and jobtitles="+jobtitles+" and jobsubcompany in("+tmptsubcompanyid+")) or (joblevel=2 and jobtitles="+jobtitles+" and jobdepartment in("+tmptdepartment+") )) ) or (sharetype=4 and exists(select 1 from HrmRoleMembers where roleid=t.roleid and rolelevel<=t.rolelevel and resourceid="+user.getUID()+") and seclevel<="+seclevel+" and (seclevelmax is null or seclevelmax>="+seclevel+")) ) "+
        		 " ) ";
			}
			
			sqlWhere +=" and status in ('1','2') ";
		
			sqlWhere = "select id from voting where id=" + votingid + " and " + sqlWhere;
			
			RecordSet.executeSql(sqlWhere);
			if(RecordSet.next()){
				canmaint = true;
			}
	}
	
}

if(!canmaint){
	response.sendRedirect("/voting/surveydesign/pages/mysurveyinput.jsp?votingid="+ votingid);
			return;
}

session.setAttribute("canmaint_" + user.getUID() + "_" + user.getLogintype() + "_" + votingid,"1");

// 获取调查表名称
String votingname = "";
RecordSet.executeSql("select subject from voting where id="+votingid);
while(RecordSet.next()){
	votingname = RecordSet.getString("subject");
	votingname=votingname.replaceAll("\"","&quot;");
}
%>


<script type="text/javascript">

$(function(){
    $('.e8_box').Tabs({
        getLine:1,
        mouldID:"<%= MouldIDConst.getID("voting")%>",
        iframe:"tabcontentframe",
        staticOnLoad:true,
        //objName:"<%=SystemEnv.getHtmlLabelName(24115,user.getLanguage()) %>"
        <%if(viewResult == 1){%>
             objName:"<%=votingname +"-"+SystemEnv.getHtmlLabelName(24115,user.getLanguage())%>"
        <%}else{%>
             objName:"<%=votingname %>"
        <%}%>
    });

   	attachUrl();
}); 

function refreshTab() {
	jQuery('.flowMenusTd', parent.document).toggle();
	jQuery('.leftTypeSearch', parent.document).toggle();
}

function attachUrl(){
	var requestParameters=$(".voteParameterForm").serialize();
	$("a[target='tabcontentframe']").each(function(){
		var url = "/voting/surveydesign/pages/surveyresultlist.jsp?"+requestParameters;
		/** if($(this).attr("status"))
			url += "&status="+$(this).attr("status"); */
		$(this).attr("href",url);
	});
	$("[name='tabcontentframe']").attr("src",$("a[target='tabcontentframe']:eq(0)").attr("href"));
	
}
jQuery(document).ready(function() {
      jQuery("#objName").html(jQuery("#objName").html().replace(/&amp;quot;/g,"\""));
   });
</script>

</head>

<body scroll="no">

	<div class="e8_box demo2">
	<div class="e8_boxhead">
	    <div class="div_e8_xtree" id="div_e8_xtree"></div>
        <div class="e8_tablogo" id="e8_tablogo"></div>
		<div class="e8_ultab">
			<div class="e8_navtab" id="e8_navtab">
				<span id="objName"></span>
			</div>
		<div>
	    
		<ul class="tab_menu" >
			<li class="current">
				<a href="" status='0' target="tabcontentframe"><%=SystemEnv.getHtmlLabelName(356, user.getLanguage()) %></a>
			</li>
		</ul>
		 <div id="rightBox" class="e8_rightBox">
	    </div>
	    	</div>
		</div>
	</div>
		<div class="tab_box">
		<iframe onload="update()" src="/voting/surveydesign/pages/surveyresultlist.jsp?votingid=<%=votingid %>" id="tabcontentframe" name="tabcontentframe" class="flowFrame" frameborder="0" height="100%" width="100%;"></iframe>
		<form class="voteParameterForm">
			<%
				Enumeration<String> e=request.getParameterNames();
				while(e.hasMoreElements()){
					String paramenterName=e.nextElement();
					String value=request.getParameter(paramenterName);
					//System.out.println(paramenterName + ":" + value);
					%>
						<input type="hidden" name="<%=paramenterName %>" value="<%=value %>" class="requestParameters">
					<% 
				}
				
			%>
		</form>
	</div></div>
</body>
</html>