Select.jsp 13.7 KB
<%@ page import="weaver.general.Util" %>
<%@ page import="java.util.*" %>

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="DepartmentComInfo" class="weaver.hrm.company.DepartmentComInfo" scope="page" />
<jsp:useBean id="SubCompanyComInfo" class="weaver.hrm.company.SubCompanyComInfo" scope="page" />
<jsp:useBean id="RoleComInfo" class="weaver.hrm.roles.RolesComInfo" scope="page" />
<jsp:useBean id="JobTitlesComInfo" class="weaver.hrm.job.JobTitlesComInfo" scope="page" />
<%
String tabid = Util.null2String(request.getParameter("tabid"));
String nodeid = Util.null2String(request.getParameter("nodeid"));
String companyid = Util.null2String(request.getParameter("companyid"));
String subcompanyid = Util.null2String(request.getParameter("subcompanyid"));
String departmentid = Util.null2String(request.getParameter("departmentid"));
String groupid = Util.null2String(request.getParameter("groupid"));
String needsystem = Util.null2String(request.getParameter("needsystem"));
boolean isoracle = RecordSet.getDBType().equals("oracle");
if(tabid.equals("")) tabid="0";
int uid=user.getUID();
//System.out.println("departmentid"+departmentid);
//System.out.println("tabid"+tabid);

String sqlstr="";
String check_per = Util.null2String(request.getParameter("resourceids"));

String resourceids = "" ;
String resourcenames ="";
if(!check_per.equals("")){
	try{
	String strtmp = "select id,lastname,departmentid from HrmResource where id in ("+check_per+")";
	RecordSet.executeSql(strtmp);
	Hashtable ht = new Hashtable();
	while(RecordSet.next()){
        String department = Util.toScreen(RecordSet.getString("departmentid"),user.getLanguage());
                        String mark=DepartmentComInfo.getDepartmentmark(department);

                        if(mark.length()>6)
                        mark=mark.substring(0,6);
                        int length=mark.getBytes().length;
                        if(length<12){
                            for(int i=0;i<12-length;i++){
                              mark+=" ";
                            }
                        }
                        String subcid=DepartmentComInfo.getSubcompanyid1(department);
                        String subc= SubCompanyComInfo.getSubCompanyname(subcid);
                        String lastname=RecordSet.getString("lastname");
                        length=lastname.getBytes().length;
                        if(length<8){
                            for(int i=0;i<8-length;i++){
                              lastname+=" ";
                            }
                        }
                        lastname=lastname+" | "+mark+" | "+subc;
        ht.put(RecordSet.getString("id"),lastname);
		/*
		if(check_per.indexOf(","+RecordSet.getString("id")+",")!=-1){

				resourceids +="," + RecordSet.getString("id");
				resourcenames += ","+RecordSet.getString("lastname");
		}
		*/
	}

	StringTokenizer st = new StringTokenizer(check_per,",");

	while(st.hasMoreTokens()){
		String s = st.nextToken();
		resourceids +=","+s;
		resourcenames += ","+ht.get(s).toString();
	}
	}catch(Exception e){

	}
}
String subcomstr=SubCompanyComInfo.getRightSubCompany(user.getUID(),"HrmResourceAdd:Add",0);
Calendar today = Calendar.getInstance();
String lastname = Util.null2String(request.getParameter("lastname"));
String resourcetype = Util.null2String(request.getParameter("resourcetype"));
String resourcestatus = Util.null2String(request.getParameter("resourcestatus"));
String jobtitle = Util.null2String(request.getParameter("jobtitle"));
 //departmentid = Util.null2String(request.getParameter("departmentid"));
String sqlwhere = Util.null2String(request.getParameter("sqlwhere"));
String status = Util.null2String(request.getParameter("status"));

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

if(tabid.equals("0")&&departmentid.equals("")&&sqlwhere.equals("")) departmentid=user.getUserDepartment()+"";

if(departmentid.equals("0"))    departmentid="";

if(subcompanyid.equals("0"))    subcompanyid="";
if(resourcestatus.equals(""))   resourcestatus="0" ;
if(resourcestatus.equals("-1"))   resourcestatus="" ;



int ishead = 0;
if(!sqlwhere.equals("")) ishead = 1;

    if(sqlwhere.equals("")&&status.equals("")){
        if(ishead==0){
            ishead = 1;
            sqlwhere += " where (status<4 or status>6) and subcompanyid1 in("+subcomstr+")" ;
        }
        else
            sqlwhere += " and (status<4 or status>6) and subcompanyid1 in("+subcomstr+")";
    }
    if(sqlwhere.equals("")&&!status.equals("")){
        if(ishead==0){
            ishead = 1;
            sqlwhere += " where  subcompanyid1 in("+subcomstr+")" ;
        }
        else
            sqlwhere += " and  subcompanyid1 in("+subcomstr+")";
    }
if(tabid.equals("1")&&!groupid.equals("")){
    if (ishead == 0) {
        ishead = 1;
        sqlwhere += " where t1.id=t2.userid and t2.groupid="+groupid;
    } else
        sqlwhere += " and t1.id=t2.userid and t2.groupid="+groupid;
sqlstr="select t1.id,t1.lastname,t1.departmentid,t1.jobtitle from hrmresource t1,HrmGroupMembers t2 " +sqlwhere  +" order by t1.dsporder,t1.lastname";
}else if(tabid.equals("0")&&!companyid.equals("")){
    sqlstr="select id,lastname,departmentid,jobtitle from hrmresource   "+ sqlwhere ;

    sqlstr+=" order by dsporder,lastname";
}
else if(tabid.equals("0")&&!subcompanyid.equals("")) {
    if (ishead == 0) {
        ishead = 1;
        sqlwhere += " where  subcompanyid1=" + Util.getIntValue(subcompanyid);
    } else
        sqlwhere += " and subcompanyid1=" + Util.getIntValue(subcompanyid);
    sqlstr = "select id,lastname,departmentid,jobtitle from hrmresource " + sqlwhere ;

    sqlstr+=" order by dsporder,lastname";
}
else if(tabid.equals("0")&&!departmentid.equals("")){
    if (ishead == 0) {
        ishead = 1;
        sqlwhere += " where  departmentid=" + Util.getIntValue(departmentid);
    } else
        sqlwhere += " and departmentid=" + Util.getIntValue(departmentid);
    sqlstr="select id,lastname,departmentid,jobtitle from hrmresource "+sqlwhere ;

    sqlstr+=" order by dsporder,lastname";
}else if(tabid.equals("0")){
    sqlstr="select id,lastname,departmentid,jobtitle from hrmresource "+sqlwhere ;

    sqlstr+="  order by dsporder,lastname";
} else if(tabid.equals("2")){
    if(!lastname.equals("")){
        if(ishead==0){
            ishead = 1;
            sqlwhere += " where lastname like '%" + Util.fromScreen2(lastname,user.getLanguage()) +"%' ";
        }
        else
            sqlwhere += " and lastname like '%" + Util.fromScreen2(lastname,user.getLanguage()) +"%' ";
    }

    if(!jobtitle.equals("")){
        if(ishead==0){
            ishead = 1;
            sqlwhere += " where jobtitle in (select id from HrmJobTitles where jobtitlename like '%" + Util.fromScreen2(jobtitle,user.getLanguage()) +"%') ";
        }
        else
            sqlwhere += " and jobtitle in (select id from HrmJobTitles where jobtitlename like '%" + Util.fromScreen2(jobtitle,user.getLanguage()) +"%') ";
    }
    if(!departmentid.equals("")){
        if(ishead==0){
            ishead = 1;
            sqlwhere += " where departmentid =" + departmentid +" " ;
        }
        else
            sqlwhere += " and departmentid =" + departmentid +" " ;
    }
if(departmentid.equals("")&&!subcompanyid.equals("")){
	if(ishead==0){
		ishead = 1;
		sqlwhere += " where subcompanyid1 =" + subcompanyid +" " ;
	}
	else
		sqlwhere += " and subcompanyid1 =" + subcompanyid +" " ;
}
    if(!status.equals("")&&!status.equals("9")){
        if(ishead==0){
            ishead = 1;
            sqlwhere += " where status =" + status +" " ;
        }
        else
            sqlwhere += " and status =" + status +" " ;
    }
    if(!roleid.equals("")){
			String roleSql = " SELECT distinct resourceid FROM ( "+
										" SELECT a.id AS resourceid, b.roleid , b.rolelevel FROM HrmResource a, HrmRoleMembers b "+
										" WHERE (a.id=b.resourceid and b.resourcetype=1) "+
										" UNION ALL "+
										" SELECT a.id AS resourceid, b.roleid , b.rolelevel FROM HrmResourceManager a, HrmRoleMembers b "+
										" WHERE (a.id=b.resourceid and b.resourcetype IN(7,8)) "+
										" UNION ALL "+
										" SELECT a.id AS resourceid, b.roleid , b.rolelevel FROM HrmResource a, HrmRoleMembers b "+
										" WHERE (a.subcompanyid1 = b.resourceid AND a.seclevel>=b.seclevelfrom AND a.seclevel<=b.seclevelto AND b.resourcetype=2) "+
										" UNION ALL "+
										" SELECT a.id AS resourceid, b.roleid , b.rolelevel FROM HrmResource a, HrmRoleMembers b "+
										" WHERE (a.departmentid = b.resourceid AND a.seclevel>=b.seclevelfrom AND a.seclevel<=b.seclevelto AND b.resourcetype=3) "+
										" UNION ALL "+
										" SELECT a.id AS resourceid, b.roleid , b.rolelevel FROM HrmResource a, HrmRoleMembers b "+
										" WHERE  (a.jobtitle = b.resourceid AND b.resourcetype=5 AND (b.jobtitlelevel=1 OR (b.jobtitlelevel=2 AND a.subcompanyid1 IN(b.subdepid)) OR (b.jobtitlelevel=3 AND a.departmentid IN(b.subdepid))))) t "+
										" WHERE roleid= "+roleid;
        if(ishead==0){
            ishead = 1;
            sqlwhere += " where  HrmResource.ID in ("+roleSql+") " ;
        }
        else
            sqlwhere += " and    HrmResource.ID in ("+roleSql+") " ;
    }

    
     sqlstr = "select HrmResource.id,lastname,departmentid,jobtitle "+
                    "from HrmResource  " + sqlwhere ;
    
    sqlstr+=" order by dsporder,lastname";

}
    //System.out.println("tabid:"+tabid);
    //System.out.println("sqlstr:"+sqlstr);
%>

<HTML><HEAD>
<LINK REL=stylesheet type=text/css HREF=/css/Weaver_wev8.css>

</HEAD>
<BODY>

<%//@ include file="/systeminfo/RightClickMenuConent.jsp" %>
<%//@ include file="/systeminfo/RightClickMenu.jsp" %>

	<!--########Browser Table Start########-->
<TABLE width=100% class="BroswerStyle"  cellspacing="0" STYLE="margin-top:0">
   <TR width=100% class=DataHeader>
      <TH width=0% style="display:none"><%=SystemEnv.getHtmlLabelName(84,user.getLanguage())%></TH>
      <TH width=25%><%=SystemEnv.getHtmlLabelName(413,user.getLanguage())%></TH>
      <TH width=35%><%=SystemEnv.getHtmlLabelName(6086,user.getLanguage())%></TH>
      <TH width=25%><%=SystemEnv.getHtmlLabelName(124,user.getLanguage())%></TH>
   </tr>
   <TR width=100% class=Line><TH colspan="4" ></TH></TR>
   <tr width=100%>
     <td width=100% colspan=4>
       <div style="overflow-y:scroll;width:100%;height:195px">
         <table width=100% ID=BrowseTable class="BroswerStyle">
<%

if( needsystem.equals("1")) {
%>
          <TR width=100% class=DataDark>
	   <TD style="display:none" width=0><A HREF=#>1</A></TD>
	   <TD width=25%><%=SystemEnv.getHtmlLabelName(16139,user.getLanguage())%></TD>
	   <TD width=35%></TD>
	   <TD width=25%></TD>
          </TR>
<%
}
int i=0;
RecordSet.executeSql(sqlstr);
while(RecordSet.next()){
	String ids = RecordSet.getString("id");
	String lastnames = Util.toScreen(RecordSet.getString("lastname"),user.getLanguage());
	//String resourcetypes = RecordSet.getString("resourcetype");
	//String startdates = RecordSet.getString("startdate");
	//String enddates = RecordSet.getString("enddate");
	String jobtitlenames = Util.toScreen(JobTitlesComInfo.getJobTitlesname(RecordSet.getString("jobtitle")),user.getLanguage());
	String departmentids = RecordSet.getString("departmentid");
	if(i==0){
		i=1;
%>
         <TR width=100% class=DataLight>
<%
	}else{
		i=0;
%>
         <TR width=100% class=DataDark>
<%
}
%>
	  <TD width=0 style="display:none"><A HREF=#><%=ids%></A></TD>
	  <TD width=25%> <%=lastnames%></TD>

	  <TD width=35%><%=jobtitlenames%></TD>
	  <TD width=25%><%=Util.toScreen(DepartmentComInfo.getDepartmentname(departmentids),user.getLanguage())%></TD>
         </TR>
<%}
%>
      </table>
     </div>
     </td>

   </tr>
   <tr width=100% >
    <td height="10" colspan=4></td>
   </tr>
   <tr width=100%>
     <td width=100% align="center" valign="bottom" colspan=4>

        <BUTTON class=btnSearch accessKey=S <%if(!tabid.equals("2")){%>style="display:none"<%}%> id=btnsub><U>S</U>-<%=SystemEnv.getHtmlLabelName(197,user.getLanguage())%></BUTTON>
	<BUTTON class=btn accessKey=2  id=btnclear><U>2</U>-<%=SystemEnv.getHtmlLabelName(311,user.getLanguage())%></BUTTON>
        <BUTTON class=btnReset accessKey=T  id=btncancel><U>T</U>-<%=SystemEnv.getHtmlLabelName(201,user.getLanguage())%></BUTTON>
     </td>
  </tr>
</TABLE>
	<!--########//Select Table End########-->







<SCRIPT LANGUAGE=VBS>

Sub BrowseTable_onclick()
   Set e = window.event.srcElement
   If e.TagName = "TD" Then
     window.parent.returnvalue = Array(e.parentelement.cells(0).innerText,e.parentelement.cells(1).innerText)
      window.parent.Close
   ElseIf e.TagName = "A" Then
      window.parent.returnvalue = Array(e.parentelement.parentelement.cells(0).innerText,e.parentelement.parentelement.cells(1).innerText)
      window.parent.Close
   End If
End Sub
Sub BrowseTable_onmouseover()
   Set e = window.event.srcElement
   If e.TagName = "TD" Then
      e.parentelement.className = "Selected"
   ElseIf e.TagName = "A" Then
      e.parentelement.parentelement.className = "Selected"
   End If
End Sub
Sub BrowseTable_onmouseout()
   Set e = window.event.srcElement
   If e.TagName = "TD" Or e.TagName = "A" Then
      If e.TagName = "TD" Then
         Set p = e.parentelement
      Else
         Set p = e.parentelement.parentelement
      End If
      If p.RowIndex Mod 2 Then
         p.className = "DataDark"
      Else
         p.className = "DataLight"
      End If
   End If
End Sub

Sub btnclear_onclick()
     window.parent.returnvalue = Array("","")
     window.parent.close
End Sub

Sub btnsub_onclick()
     window.parent.frame1.SearchForm.btnsub.click()
End Sub

Sub btncancel_onclick()
     window.close()
End Sub
</SCRIPT>

</BODY>
</HTML>