<%@page import="java.util.*,javax.sql.*,java.sql.*,javax.naming.*,m05bClasses.*" %>
<%@include file="/mantenimientosJSP/includes/m05b.inc"%>

<%
	// _______________________________XLNETs______________________________________
	// Evaluar variable de session que indica si esta conectado a XLNets
	if (session.getAttribute("objetoSeguridad") == null)  { 
		// Verificar que no ha transcurrido el tiempo de sesion (web.xml) %>
			<%@ include file="/m05bControlAcceso.inc"%> 
<%
	} 
	String persona = (String) session.getAttribute("persona");
%>	
	<%@ include file="/m05bIdioma.inc"%>

<HTML>
<head>
		<title><%= resTit.getString("titBusquedaPersonal")%></title>
		<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
		<link rel="stylesheet" href="<%=m05bConstantesPaginas.PATH_ESTILOS%>/m05bestilos.css" type="text/css">
</head>
	
<SCRIPT language=JavaScript>
	var tipoAsig='<%=(request.getParameter("tipoAsig")==null)?"N":"S"%>';
	function fncSeleccionar (origen, dni,nombre,cargo,rango,dpto,cdpto,codcargo,rang,restriccion){
	     if(tipoAsig=="S"){
	     	 origen.Nombre2.value=nombre;
		     origen.Dni2.value=dni;
	     }else{
		     origen.Nombre.value=nombre;
		     origen.Dni.value=dni;
		 }
	     if (origen.name == "formAsignaciones") {
		     if (restriccion != "") {
				  alert(dameAlerta(idioma, 86) + restriccion );
				  origen.Dni.value="";
		     }
	     	 
		     var doc=origen.NSolicitud;
		     aux="";
		     origen.CodCargo.value=codcargo;
		     origen.Cargo.value=cargo;
		     origen.RangPer.value=rang;
		     origen.CodDpto.value=cdpto;
		     origen.Rang.value=rango;
		     for (i=0;i<doc.length;i++){
	                      aux=doc.options[i].value;
	                      aux=aux.substring(aux.lastIndexOf("-")+1,aux.length);
	                      if (aux.indexOf(" ")+1==aux.length)
	                        aux=aux;
	                      else
	                        aux=aux.substring(aux.indexOf(" ")+1,aux.length);
	                      if (aux==cdpto){
	                         doc.options[i].selected="true";
	                         break;
	                      }
	                 }
         }
	     window.close();
	}
	var urlIdioma="";		//URL recarga en funcion del idioma
	var rutaCabecera="";	//Camino de migas
</SCRIPT>
<BODY style="cursor: wait" onkeydown="cancelaEnter();" onload="document.body.style.cursor='default';" onunload="document.body.style.cursor='wait';">
 <%//@include file="/mantenimientosJSP/includes/m05Cabecera_c.jsp"%>
<FORM NAME="FormRelPersonal" METHOD="POST">
		 <TABLE class="general">
			    <tr align="right">
					    <td colspan="5">
					  		<input type="button" class="boton" name="<%= res.getString("etBOT_RETORNAR")%>" value="<%= res.getString("etBOT_RETORNAR")%>" ONCLICK="JavaScript:window.close();return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSRETORNAR")%>'; return false" onMouseOut="top.status=''; return false" />
					  	</td>
				</tr>
				<tr></tr>
		 </TABLE>
		 <TABLE class="general">
		    <tr>
		       <td class="searchTitle" width="9%"><%= res.getString("etDNI")%></td>
		       <td class="searchTitle" width="46%"><%= res.getString("etNombre")%></td>
		       <td class="searchTitle" width="45%"><%= res.getString("etDepartamento")%></td>
		    </tr>
		<%
		
           java.sql.Connection conn=null;
            PreparedStatement pstmt = null;		
			m05bFileLog miLog = new m05bFileLog();
			int contador = 0;
			String sql = "", sql2 = "";
			String codigo="", telefono="", dpto ="";
		    String cargo="", codcargo="", rango="", dptodesc="", rang="";
			String nombre=request.getParameter("Nombre").toUpperCase();
			if(nombre!=null){
				//reemplazo los acentos
				nombre=nombre.replaceAll("Á","A");
				nombre=nombre.replaceAll("É","E");
				nombre=nombre.replaceAll("Í","I");
				nombre=nombre.replaceAll("Ó","O");
				nombre=nombre.replaceAll("Ú","U");
			}
			String dni=request.getParameter("Dni");
			String origen = "opener.document." + request.getParameter("Origen");
			String restriccion="";
 
		try{

            ResultSet rs = null;			
			session.removeAttribute("Personal");
			sql = "select " + m05bConstantes.COL_21_DNI + "," + m05bConstantes.COL_21_NOMBRE +
					"," + m05bConstantes.COL_21_RANGO + "," + "NVL("+ campoTexto+m05bConstantes.COL_04_DESCCARG+","+m05bConstantes.COL_04_DESCCARG+") as "+ campoTexto+m05bConstantes.COL_04_DESCCARG+
		    		"," + "NVL("+campoTexto2+m05bConstantes.COL_06_DESCDPTO+","+m05bConstantes.COL_06_DESCDPTO+") as " +campoTexto2+m05bConstantes.COL_06_DESCDPTO+ "," + m05bConstantes.COL_04_CODCARGO +
		    		"," + m05bConstantes.COL_21_CODDPTO + "," + m05bConstantes.COL_21_TELEF +
		    		"," + "NVL("+ campoTexto+m05bConstantes.COL_99_DESCRIPCION+","+m05bConstantes.COL_99_DESCRIPCION+") as "+campoTexto+m05bConstantes.COL_99_DESCRIPCION + "," 
		    		+ "NVL("+ campoTexto+m05bConstantes.COL_47_DESCRIPCION+","+m05bConstantes.COL_47_DESCRIPCION+") as "+ campoTexto+m05bConstantes.COL_47_DESCRIPCION+
		    		" from " + m05bConstantes.TAB_PERSONAL + "," + m05bConstantes.TAB_CARGOS + 
		    		"," + m05bConstantes.TAB_DEPARTAMENTOS+ "," + m05bConstantes.TAB_RESTRICCIONES;
		    sql +=  "," + m05bConstantes.TAB_DESCRIPCIONES + 
		    		" where " + m05bConstantes.COL_04_CODCARGO + "(+) =" + m05bConstantes.COL_21_CODCARGO +
		    		" and " + m05bConstantes.COL_47_DNI + "(+) =" + m05bConstantes.COL_21_DNI ;

		    if (!(nombre.equals(""))) {
		    	sql +=  " AND " + "replace(replace(replace(replace(replace("+m05bConstantes.COL_21_NOMBRE+",'Ú','U'),'Ó','O'),'Í','I'),'É','E'),'Á','A')" + "   like '%" + nombre + "%' ";
		    }
		    if (!(dni.equals(""))) {
		    	// 20140925 - INIGO
			  	// Chequear si ya existe una persona con ese dni con o sin letra
				String sDniSinLetra = dni;
				if (dni.length() > 0) {
					if (!Character.isDigit(dni.charAt(dni.length() - 1))) {
						sDniSinLetra = sDniSinLetra.substring(0, dni.length() - 1);
					}
				}

		    	//sql +=  " AND " + m05bConstantes.COL_21_DNI + "   like '" + dni.toUpperCase() + "%' " ;
		    	sql +=  " AND (" + m05bConstantes.COL_21_DNI + " like '" + dni.toUpperCase() + "%' OR " + m05bConstantes.COL_21_DNI + " LIKE '" + sDniSinLetra + "%')";
		          
		    }		    
		    sql +=  " AND " + m05bConstantes.COL_06_CODDPTO + "=" + m05bConstantes.COL_21_CODDPTO + " AND " + m05bConstantes.COL_99_CODTABLA + "=" + m05bConstantes.DESC_RANGOS +
		    		" AND " + m05bConstantes.COL_21_RANGO + "=" + m05bConstantes.COL_99_CODDESC;
		    miLog.addTraza(persona, "Buscar Personas", "SQL: " + sql, m05bConstantes.LOG_NIVEL_BAJO);
		    //m05bbBeginSelect(sql);
			//m05bRS = m05bPStmt.executeQuery();
			
            m05bConexion miConex = new m05bConexion();
            conn = miConex.getConnection();
            conn.setAutoCommit(false);  // Al final si todo ha ido bien se hace commit	 
		    pstmt = conn.prepareStatement(sql);
		    m05bRS = pstmt.executeQuery();        	   			
		%>
		<%
			while (m05bRS.next() == true){
				codigo = m05bRS.getString(m05bConstantes.COL_21_DNI);
				nombre= m05bRS.getString(m05bConstantes.COL_21_NOMBRE);
				dpto = m05bRS.getString(m05bConstantes.COL_21_CODDPTO)==null?"":m05bRS.getString(m05bConstantes.COL_21_CODDPTO);
				miLog.addTraza(persona, "Buscar Personas", "dpto: " + dpto, m05bConstantes.LOG_NIVEL_BAJO);
				telefono = m05bRS.getString(m05bConstantes.COL_21_TELEF)==null?"":m05bRS.getString(m05bConstantes.COL_21_TELEF);
		        dptodesc = m05bRS.getString(campoTexto2+m05bConstantes.COL_06_DESCDPTO);
		        miLog.addTraza(persona, "Buscar Personas", "dptodesc: " + dptodesc, m05bConstantes.LOG_NIVEL_BAJO);
		        cargo = m05bRS.getString(4);
                miLog.addTraza(persona, "Buscar Personas", "SQL cargo: " + cargo, m05bConstantes.LOG_NIVEL_BAJO);		        
		        rango = m05bRS.getString(campoTexto+m05bConstantes.COL_99_DESCRIPCION);
		        codcargo = m05bRS.getString(m05bConstantes.COL_04_CODCARGO);
		        rang = m05bRS.getString(m05bConstantes.COL_21_RANGO);
				restriccion=m05bRS.getString(campoTexto+m05bConstantes.COL_47_DESCRIPCION)==null?"":m05bRS.getString(campoTexto+m05bConstantes.COL_47_DESCRIPCION);
				++contador;  %>
				<tr>
				   <td class="inputFieldTitle"><FONT size="2"><A href="#" onclick="javascript:fncSeleccionar(<%=origen%>,'<%=codigo%>','<%=nombre%>','<%=cargo%>','<%=rango%>','<%=dptodesc%>','<%=dpto%>','<%=codcargo%>','<%=rang%>','<%=restriccion%>');return false;"><%=codigo%></A></FONT></td>
		   		   <td class="inputFieldTitle"><FONT size="2"><%=nombre%></FONT></td>
		   		   <td class="inputFieldTitle"><FONT size="2"><%=dptodesc%></FONT></td>
				</tr>
		<%}%>
			    <tr align="center">
				      <td class="inputField" colspan="5"><%= res.getString("etTotal")%><%=contador%></td>
			    </tr>
			</TABLE>
</FORM>
<%
} catch (Exception ex1) {
		miLog.addTraza(ex1);
} finally {
				if (m05bRS != null)
					m05bRS.close();
				if (pstmt != null)
					pstmt.close();
				if (conn != null)
					conn.close();
}%>
</BODY>
</HTML>