<!---

	FIDELITAS - LED+
	
	Módulo de buscador de contratistas y empleados para el sitio ADMIN
	
	led_buscador.cfm

--->

<cf_access service="ADMINLED">

<cfinclude template="functions.cfm">

<cfparam name="paso" default="1">
<cfparam name="cli" default="">
<cfparam name="nro" default="">
<cfparam name="nom" default="">


<cfif paso is 1>

	<cfquery datasource="#application.dsn#" name="qclientes">
		select clientes.cliente, clientes.nombre_cliente, led_contratos.vigencia_desde, led_contratos.vigencia_hasta,
		led_contratos.minimo_recursos, led_contratos.maximo_recursos, led_contratos.autogestion
		from clientes inner join led_contratos on clientes.cliente = led_contratos.cliente
		
		where clientes.estado_cliente = 'A'
		and led_contratos.vigencia_hasta >= GETDATE()
		and clientes.acceso_led = 1
		order by clientes.nombre_cliente
	</cfquery>


	<cf_header>
	<script language="JavaScript" type="text/javascript">
	<!--
		function exportar() {
			var frm=document.forms[0];
			frm.paso.value=2;
			frm.submit();
		}
	//-->
	</script>
	
	<cfset srch = iif(nro NEQ "" OR nom NEQ "", "(Len(nro) gte 5 AND isnumeric(nro)) OR (Len(nom) GTE 2)", "false")>
	
	<cfif srch>
	
		<cfquery datasource="#application.dsn#" name="qdatos">
			SELECT led_empleados.cliente, led_empleados.contratista, clientes.nombre_cliente, led_empleados.empleado,
			padrones.id_padron, padrones.identificador, identificadores.abreviatura, 
			padrones.identificacion, padrones.nombre_persona, led_empleados.estado_empleado AS estado,
			led_tipos_empleado.nombre_tipo_empleado AS nombre_tipo, 'E' AS led_seccion, led_empleados.empleado as id,
			padrones_1.nombre_persona AS nombre_contratista, padrones_1.identificacion AS identificacion_1,
			identificadores_1.abreviatura AS abreviatura_1, led_empleados.contratista_1,
			CONVERT(DATE, led_empleados.alta_afip, 121) AS alta_afip, 
			CONVERT(DATE, led_empleados.baja_afip, 121) AS baja_afip,
			NULL AS first_name, NULL AS last_name, NULL AS email, NULL as cookie_id
			FROM padrones INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
			INNER JOIN led_empleados ON padrones.id_padron = led_empleados.id_padron
			INNER JOIN led_tipos_empleado ON led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
			INNER JOIN led_contratistas AS led_contratistas_1 ON led_empleados.contratista_1 = led_contratistas_1.contratista
			INNER JOIN clientes ON led_contratistas_1.cliente = clientes.cliente
			INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
			INNER JOIN identificadores AS identificadores_1 ON padrones_1.identificador = identificadores_1.identificador 
			<cfif cli gt 0>
				WHERE led_empleados.cliente = #cli#
			</cfif>
			#iif(cli gt 0, DE("AND"), DE("WHERE"))# CONTAINS(padrones.*, '#iif(nro neq "", "Chr(34) & nro & Chr(34)", DE(""))##iif(nro neq "" AND nom neq "", DE(" OR "), DE(""))##iif(nom neq "", "Chr(34) & nom & Chr(42) & Chr(34)", DE(""))#')
			
			UNION ALL
			
			SELECT led_contratistas.cliente, led_contratistas.contratista, clientes.nombre_cliente, NULL AS empleado,
			padrones.id_padron, padrones.identificador, identificadores.abreviatura, 
			padrones.identificacion, padrones.nombre_persona, led_contratistas.estado_contratista AS estado,
			led_tipos_contratista.nombre_tipo_contratista AS nombre_tipo, 'C' AS led_seccion, led_contratistas.contratista as id,
			padrones_1.nombre_persona AS nombre_contratista, padrones_1.identificacion AS identificacion_1,
			identificadores_1.abreviatura AS abreviatura_1, led_contratistas.contratista_1,
			NULL AS alta_afip, NULL AS baja_afip,
			users.first_name, users.last_name, users.email, users.cookie_id
			FROM padrones INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
			INNER JOIN led_contratistas ON padrones.id_padron = led_contratistas.id_padron
			INNER JOIN led_tipos_contratista ON led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
			INNER JOIN led_contratistas AS led_contratistas_1 ON led_contratistas.contratista_1 = led_contratistas_1.contratista
			INNER JOIN clientes ON led_contratistas_1.cliente = clientes.cliente
			INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
			INNER JOIN identificadores AS identificadores_1 ON padrones_1.identificador = identificadores_1.identificador
			LEFT OUTER JOIN users ON led_contratistas.user_id = users.user_id 

			<cfif cli gt 0>
				WHERE led_contratistas.cliente = #cli#
			</cfif>
			#iif(cli gt 0, DE("AND"), DE("WHERE"))# CONTAINS(padrones.*, '#iif(nro neq "", "Chr(34) & nro & Chr(34)", DE(""))##iif(nro neq "" AND nom neq "", DE(" OR "), DE(""))##iif(nom neq "", "Chr(34) & nom & Chr(42) & Chr(34)", DE(""))#')
			
			ORDER BY clientes.nombre_cliente, padrones.nombre_persona
		</cfquery>
	
	</cfif>
	
	<cfoutput>
	<div class="container">
		<h2>Búsqueda general</h2>
	
		<div class="row">
			<cfform action="#cgi.script_name#" class="form">
			<input type="Hidden" name="paso" value="#paso#">
			
			<div class="form-group col-md-3">
				<label for="cliente">Cliente</label>
				<select name="cli" class="form-control" id="cliente">
					<option value="" <cfif cli is "">selected</cfif>>Todos</option>
					<cfloop query="qclientes"><option value="#qclientes.cliente#" <cfif cli is qclientes.cliente>selected</cfif>>#qclientes.nombre_cliente#</option></cfloop>
				</select>
			</div>
			
			<div class="form-group col-md-2">
				<label for="cuit">DNI/CUIT/CUIL</label>
				<cfinput name="nro" value="#nro#" id="cuit" class="form-control" placeholder="DNI/CUIT/CUIL de empleado o contratista" maxlength="11">
			</div>
			<div class="form-group col-md-3">
				<label for="nombre">Nombre</label>
				<cfinput name="nom" value="#nom#" id="nombre" class="form-control" placeholder="Nombre de empleado o contratista" maxlength="50">
			</div>
			<div class="form-group col-md-2">
				<label for="boton">&nbsp;</label>
				<button type="Submit" id="boton" class="form-control btn-success"><i class="fa fa-search"></i>&nbsp;Buscar</button>
			</div>
			<div class="form-group col-md-2">
				<label for="boton">&nbsp;</label>
				<button type="Button" id="expotar" class="form-control btn-warning" onclick="exportar();"><i class="fa fa-file-excel-o"></i>&nbsp;Exportar</button>
			</div>
			</cfform>
		</div>
		
		
		<table class="table table-condensed table-hover table-striped">
		<thead>
		<tr>
			<th class="text-center">Cliente</th>
			<th class="text-center">Identificación</th>
			<th class="text-center">Nombre</th>
			<th class="text-center">Tipo</th>
			<th class="text-center">Alta AFIP</th>
			<th class="text-center">Baja AFIP</th>
			<th class="text-center">Contratista</th>
			<th class="text-center">Estado</th>
			<th class="text-center">Acción</th>
		</tr>
		</thead>
		<tbody>
		<cfif nom is "" AND nro is "">
			<tr><td colspan="9" class="text-center">Por favor ingrese CUIT/CUIL y/o nombre del empleado/contratista y presione el botón "Buscar"</td></tr>
		<cfelse>
			<cfif NOT srch>
				<tr><td colspan="9" class="text-center">El CUIT/CUIL debe ser numérico, tener 11 caracteres y para el nombre debe ingresar al menos 3 letras</td></tr>
			<cfelse>
				<cfif qdatos.recordcount gt 0>
					<cfloop query="qdatos">
						<tr>
							<td class="text-left">#qdatos.nombre_cliente#</td>
							<td class="text-center nowrap">#qdatos.abreviatura# #qdatos.identificacion#</td>
							<td class="text-left">#qdatos.nombre_persona#</td>
							<td class="text-center">#qdatos.nombre_tipo#</td>
							
							<td class="text-center">#Dateformat(qdatos.alta_afip, "dd/mm/yyyy")#</td>
							<td class="text-center">#Dateformat(qdatos.baja_afip, "dd/mm/yyyy")#</td>
							
							<td class="text-left"><cfif qdatos.identificacion NEQ qdatos.identificacion_1>#qdatos.nombre_contratista#<br />(#qdatos.abreviatura_1# #qdatos.identificacion_1#)<cfelse>&nbsp;</cfif></td>
							<td class="text-center">#iif(qdatos.estado is "A", DE("Activo"), DE("No activo"))#</td>
							<td class="text-center">
								<cfif qdatos.led_seccion is "C">
									<button type="button" class="btn btn-info" onclick="location.href='led_clientes.cfm?paso=3&cliente=#qdatos.cliente#&periodo=&led_seccion=C&contratista=#qdatos.contratista#'"><i class="fa fa-file-o"></i> Doc.</button>
									<cfif qdatos.cookie_id neq "">
										<button type="button" class="btn btn-success" onclick="window.open('#application.led_contratista_url#?cookie_id=#URLEncodedFormat(qdatos.cookie_id)#');"><i class="glyphicon glyphicon-log-in"></i> Login</button>
									</cfif>
								<cfelse>
									<button type="button" class="btn btn-info" onclick="location.href='led_clientes.cfm?paso=3&cliente=#qdatos.cliente#&periodo=&led_seccion=E&empleado=#qdatos.empleado#'"><i class="fa fa-file-o"></i> Doc.</button>
								</cfif>
								
							</td>
						</tr>
					</cfloop>
				<cfelse>
					<tr><td colspan="9" class="text-center">No se encuentra información con los datos ingresados</td></tr>
				</cfif>
			</cfif>
		</cfif>
		</tbody>
		</table>
	</div>
	</cfoutput>
	
	<cf_footer>
</cfif>


<cfif paso is 2>

	<cfset srch = iif(nro NEQ "" OR nom NEQ "", "(Len(nro) gte 5 AND isnumeric(nro)) OR (Len(nom) GTE 2)", "false")>
	
	<cfif srch>
	
	
		<cfquery datasource="#application.dsn#" name="qdatos">
			SELECT identificadores.abreviatura AS IDENT, 
			padrones.identificacion AS NUMERO, padrones.nombre_persona, led_empleados.estado_empleado AS estado,
			led_tipos_empleado.nombre_tipo_empleado AS TIPO, 'E' AS SECCION, 
			padrones_1.nombre_persona AS nombre_contratista, padrones_1.identificacion AS CUIT,
			CONVERT(DATE, led_empleados.alta_afip, 121) AS alta_afip, 
			CONVERT(DATE, led_empleados.baja_afip, 121) AS baja_afip
			FROM padrones INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
			INNER JOIN led_empleados ON padrones.id_padron = led_empleados.id_padron
			INNER JOIN led_tipos_empleado ON led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
			INNER JOIN led_contratistas AS led_contratistas_1 ON led_empleados.contratista_1 = led_contratistas_1.contratista
			INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
			INNER JOIN identificadores AS identificadores_1 ON padrones_1.identificador = identificadores_1.identificador 
			WHERE led_empleados.cliente = #session.cliente#
			AND CONTAINS(padrones.*, '#iif(nro neq "", "Chr(34) & nro & Chr(34)", DE(""))##iif(nro neq "" AND nom neq "", DE(" OR "), DE(""))##iif(nom neq "", "Chr(34) & nom & Chr(42) & Chr(34)", DE(""))#')
			
			UNION ALL
			
			SELECT identificadores.abreviatura AS IDENT, 
			padrones.identificacion AS NUMERO, padrones.nombre_persona, led_contratistas.estado_contratista AS estado,
			led_tipos_contratista.nombre_tipo_contratista AS TIPO, 'C' AS SECCION,
			padrones_1.nombre_persona AS nombre_contratista, padrones_1.identificacion AS CUIT,
			NULL AS alta_afip, NULL AS baja_afip
			FROM padrones INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
			INNER JOIN led_contratistas ON padrones.id_padron = led_contratistas.id_padron
			INNER JOIN led_tipos_contratista ON led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
			INNER JOIN led_contratistas AS led_contratistas_1 ON led_contratistas.contratista_1 = led_contratistas_1.contratista
			INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
			INNER JOIN identificadores AS identificadores_1 ON padrones_1.identificador = identificadores_1.identificador 
			WHERE led_contratistas.cliente = #session.cliente#
			AND CONTAINS(padrones.*, '#iif(nro neq "", "Chr(34) & nro & Chr(34)", DE(""))##iif(nro neq "" AND nom neq "", DE(" OR "), DE(""))##iif(nom neq "", "Chr(34) & nom & Chr(42) & Chr(34)", DE(""))#')
			
			
			ORDER BY padrones.nombre_persona
		</cfquery>

		<cfset fname = "Busqueda_general_#session.cliente#.xls">
		<cftry>
			
			<cfspreadsheet  
				    action="write" 
				    filename = "#application.doc_attachment_path#\#fname#"
				    overwrite = "true" 
				    query = "qdatos" 
				    sheetname = "Búsqueda general">
					
			<cf_msgbox title="Búsqueda general" message="Archivo generado correctamente.<br>Haga click <a href='_docs/#fname#' target='_blank' style='cursor:pointer;'>aquí</a> para descargarlo." url="#cgi.script_name#?paso=6" caption="Volver">
			
		<cfcatch type="Any">
			<cf_msgbox title="Búsqueda general" message="Ocurrió un error inesperado al generar el archivo.<br>Por favor presione aceptar e intente nuevamente." url="#cgi.script_name#?paso=6" caption="Aceptar">
		
		</cfcatch>
		</cftry>
		
		
	<cfelse>
		<cf_msgbox title="Búsqueda general" message="No se han especificador parámetros de búsqueda" url="#cgi.script_name#" caption="Aceptar">
	
	</cfif>
</cfif>
