Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
4| Name | Data Type | Length | Description |
|---|---|---|---|
| @desde | datetime | 8 | |
| @hasta | datetime | 8 | |
| @cliente | int | 4 | |
| @contratista | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
/*
EXEC Imperium_Reporte_Bajas_Desafectaciones '2018-06-01','2018-06-30',7048064
*/
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Reporte_Bajas_Desafectaciones
-- Add the parameters for the stored procedure here
@desde datetime,
@hasta datetime,
@cliente int,
@contratista int = NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
if (select DATEPART(hour, @hasta)) = 0
set @hasta = dateadd(hour,23,@hasta)
if (select DATEPART(MINUTE, @hasta)) = 0
set @hasta = dateadd(MINUTE,59,@hasta)
if (select DATEPART(SECOND, @hasta)) = 0
set @hasta = dateadd(SECOND,59,@hasta)
-- Insert statements for procedure here
IF (@cliente is not null)
if (@contratista is null)
select clientes.nombre_cliente,
padrones.nombre_persona as CONTRATISTA,padrones.numero as CUIT,
CASE WHEN led_log.tipo_log = 'B' then 'BAJA' ELSE 'DESAFECTACION' END AS ACCION,
CASE WHEN led_log.empleado is not null then 'EMPLEADO'
WHEN led_log.vehiculo is not null then 'VEHICULO'
ELSE IIF (led_log.contratista <> led_log.contratista_1,'SUBCONTRATISTA','CONTRATISTA') END AS SECCION,
CASE
WHEN led_log.empleado is not null then led_tipos_empleado.nombre_tipo_empleado
WHEN led_log.vehiculo is not null then led_tipos_vehiculo.nombre_tipo_vehiculo
ELSE IIF (led_log.contratista <> led_log.contratista_1, tipos_subc.nombre_tipo_contratista, led_tipos_contratista.nombre_tipo_contratista)
END AS TIPO,
/*LED_LOG.contratista,*/
LED_LOG.descripcion_log +
CASE
WHEN led_log.empleado is not null then iif(led_empleados.contratista_1 <> led_empleados.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
WHEN led_log.vehiculo is not null then iif(led_vehiculos.contratista_1 <> led_vehiculos.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
ELSE ''
END AS DESCRIPCION,
padrones_e.nombre_persona as EMPLEADO, padrones_e.numero as CUIL,
CASE
WHEN led_log.empleado is not null THEN iif(led_empleados.baja_afip is not null, CONVERT(VARCHAR(10), led_empleados.baja_afip, 121) , NULL)
ELSE NULL
END AS BAJA_AFIP,
led_vehiculos.nombre_vehiculo as VEHICULO, led_vehiculos.DOMINIO,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.nombre_persona else null end as SUBCONTRATISTA,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.numero else null end as CUIT_SUBC,
CONVERT(VARCHAR(16),led_log.horario_log,121) AS FECHA_HORA,
users.first_name + ' ' + users.last_name AS USUARIO,
users.username AS EMAIL
from led_log
inner join clientes on led_log.cliente = clientes.cliente
inner join led_contratistas on led_log.contratista_1 = led_contratistas.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join users on led_log.user_id = users.user_id
LEFT OUTER JOIN led_empleados on led_log.empleado = led_empleados.empleado
left outer join led_tipos_empleado on led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
left outer join padrones as padrones_e on led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos on led_log.vehiculo = led_vehiculos.vehiculo
left outer join led_tipos_vehiculo on led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
LEFT OUTER JOIN led_contratistas subc on led_log.contratista = subc.contratista
left outer join led_tipos_contratista tipos_subc on subc.tipo_contratista = tipos_subc.tipo_contratista
LEFT OUTER JOIN padrones padrones_s on subc.id_padron = padrones_s.id_padron
where led_log.cliente = @cliente
and tipo_log in ('B','D')
and horario_log between @desde and @hasta
/* 27/07/2021: Que posteriormente no estén Reafectados */
and not exists (select * from led_log b where b.empleado = led_log.empleado and led_log.empleado is not null and b.horario_log > led_log.horario_log and b.tipo_log = 'R')
and not exists (select * from led_log v where v.vehiculo = led_log.vehiculo and led_log.vehiculo is not null and v.horario_log > led_log.horario_log and v.tipo_log = 'R')
order by clientes.nombre_cliente, horario_log asc,padrones.nombre_persona asc
else
select clientes.nombre_cliente,
padrones.nombre_persona as CONTRATISTA,padrones.numero as CUIT,
CASE WHEN led_log.tipo_log = 'B' then 'BAJA' ELSE 'DESAFECTACION' END AS ACCION,
CASE WHEN led_log.empleado is not null then 'EMPLEADO'
WHEN led_log.vehiculo is not null then 'VEHICULO'
ELSE IIF (led_log.contratista <> led_log.contratista_1,'SUBCONTRATISTA','CONTRATISTA') END AS SECCION,
CASE
WHEN led_log.empleado is not null then led_tipos_empleado.nombre_tipo_empleado
WHEN led_log.vehiculo is not null then led_tipos_vehiculo.nombre_tipo_vehiculo
ELSE IIF (led_log.contratista <> led_log.contratista_1, tipos_subc.nombre_tipo_contratista, led_tipos_contratista.nombre_tipo_contratista)
END AS TIPO,
/*LED_LOG.contratista,*/
LED_LOG.descripcion_log +
CASE
WHEN led_log.empleado is not null then iif(led_empleados.contratista_1 <> led_empleados.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
WHEN led_log.vehiculo is not null then iif(led_vehiculos.contratista_1 <> led_vehiculos.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
ELSE ''
END AS DESCRIPCION,
padrones_e.nombre_persona as EMPLEADO, padrones_e.numero as CUIL,
CASE
WHEN led_log.empleado is not null THEN iif(led_empleados.baja_afip is not null, CONVERT(VARCHAR(10), led_empleados.baja_afip, 121) , NULL)
ELSE NULL
END AS BAJA_AFIP,
led_vehiculos.nombre_vehiculo as VEHICULO, led_vehiculos.DOMINIO,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.nombre_persona else null end as SUBCONTRATISTA,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.numero else null end as CUIT_SUBC,
CONVERT(VARCHAR(16),led_log.horario_log,121) AS FECHA_HORA,
users.first_name + ' ' + users.last_name AS USUARIO,
users.username AS EMAIL
from led_log
inner join clientes on led_log.cliente = clientes.cliente
inner join led_contratistas on led_log.contratista_1 = led_contratistas.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join users on led_log.user_id = users.user_id
LEFT OUTER JOIN led_empleados on led_log.empleado = led_empleados.empleado
left outer join led_tipos_empleado on led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
left outer join padrones as padrones_e on led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos on led_log.vehiculo = led_vehiculos.vehiculo
left outer join led_tipos_vehiculo on led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
LEFT OUTER JOIN led_contratistas subc on led_log.contratista = subc.contratista
left outer join led_tipos_contratista tipos_subc on subc.tipo_contratista = tipos_subc.tipo_contratista
LEFT OUTER JOIN padrones padrones_s on subc.id_padron = padrones_s.id_padron
where led_log.cliente = @cliente
and led_log.contratista_1 = @contratista
and tipo_log in ('B','D')
and horario_log between @desde and @hasta
/* 27/07/2021: Que posteriormente no estén Reafectados */
and not exists (select * from led_log b where b.empleado = led_log.empleado and led_log.empleado is not null and b.horario_log > led_log.horario_log and b.tipo_log = 'R')
and not exists (select * from led_log v where v.vehiculo = led_log.vehiculo and led_log.vehiculo is not null and v.horario_log > led_log.horario_log and v.tipo_log = 'R')
order by clientes.nombre_cliente, horario_log asc,padrones.nombre_persona asc
ELSE
if (@contratista is null)
select clientes.nombre_cliente,
padrones.nombre_persona as CONTRATISTA,padrones.numero as CUIT,
CASE WHEN led_log.tipo_log = 'B' then 'BAJA' ELSE 'DESAFECTACION' END AS ACCION,
CASE WHEN led_log.empleado is not null then 'EMPLEADO'
WHEN led_log.vehiculo is not null then 'VEHICULO'
ELSE IIF (led_log.contratista <> led_log.contratista_1,'SUBCONTRATISTA','CONTRATISTA') END AS SECCION,
CASE
WHEN led_log.empleado is not null then led_tipos_empleado.nombre_tipo_empleado
WHEN led_log.vehiculo is not null then led_tipos_vehiculo.nombre_tipo_vehiculo
ELSE IIF (led_log.contratista <> led_log.contratista_1, tipos_subc.nombre_tipo_contratista, led_tipos_contratista.nombre_tipo_contratista)
END AS TIPO,
/*LED_LOG.contratista,*/
LED_LOG.descripcion_log +
CASE
WHEN led_log.empleado is not null then iif(led_empleados.contratista_1 <> led_empleados.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
WHEN led_log.vehiculo is not null then iif(led_vehiculos.contratista_1 <> led_vehiculos.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
ELSE ''
END AS DESCRIPCION,
padrones_e.nombre_persona as EMPLEADO, padrones_e.numero as CUIL,
CASE
WHEN led_log.empleado is not null THEN iif(led_empleados.baja_afip is not null, CONVERT(VARCHAR(10), led_empleados.baja_afip, 121) , NULL)
ELSE NULL
END AS BAJA_AFIP,
led_vehiculos.nombre_vehiculo as VEHICULO, led_vehiculos.DOMINIO,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.nombre_persona else null end as SUBCONTRATISTA,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.numero else null end as CUIT_SUBC,
CONVERT(VARCHAR(16),led_log.horario_log,121) AS FECHA_HORA,
users.first_name + ' ' + users.last_name AS USUARIO,
users.username AS EMAIL
from led_log
inner join clientes on led_log.cliente = clientes.cliente
inner join led_contratistas on led_log.contratista_1 = led_contratistas.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join users on led_log.user_id = users.user_id
LEFT OUTER JOIN led_empleados on led_log.empleado = led_empleados.empleado
left outer join led_tipos_empleado on led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
left outer join padrones as padrones_e on led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos on led_log.vehiculo = led_vehiculos.vehiculo
left outer join led_tipos_vehiculo on led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
LEFT OUTER JOIN led_contratistas subc on led_log.contratista = subc.contratista
left outer join led_tipos_contratista tipos_subc on subc.tipo_contratista = tipos_subc.tipo_contratista
LEFT OUTER JOIN padrones padrones_s on subc.id_padron = padrones_s.id_padron
where tipo_log in ('B','D')
and horario_log between @desde and @hasta
/* 27/07/2021: Que posteriormente no estén Reafectados */
and not exists (select * from led_log b where b.empleado = led_log.empleado and led_log.empleado is not null and b.horario_log > led_log.horario_log and b.tipo_log = 'R')
and not exists (select * from led_log v where v.vehiculo = led_log.vehiculo and led_log.vehiculo is not null and v.horario_log > led_log.horario_log and v.tipo_log = 'R')
order by clientes.nombre_cliente, horario_log asc,padrones.nombre_persona asc
else
select clientes.nombre_cliente,
padrones.nombre_persona as CONTRATISTA,padrones.numero as CUIT,
CASE WHEN led_log.tipo_log = 'B' then 'BAJA' ELSE 'DESAFECTACION' END AS ACCION,
CASE WHEN led_log.empleado is not null then 'EMPLEADO'
WHEN led_log.vehiculo is not null then 'VEHICULO'
ELSE IIF (led_log.contratista <> led_log.contratista_1,'SUBCONTRATISTA','CONTRATISTA') END AS SECCION,
CASE
WHEN led_log.empleado is not null then led_tipos_empleado.nombre_tipo_empleado
WHEN led_log.vehiculo is not null then led_tipos_vehiculo.nombre_tipo_vehiculo
ELSE IIF (led_log.contratista <> led_log.contratista_1, tipos_subc.nombre_tipo_contratista, led_tipos_contratista.nombre_tipo_contratista)
END AS TIPO,
/*LED_LOG.contratista,*/
LED_LOG.descripcion_log +
CASE
WHEN led_log.empleado is not null then iif(led_empleados.contratista_1 <> led_empleados.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
WHEN led_log.vehiculo is not null then iif(led_vehiculos.contratista_1 <> led_vehiculos.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
ELSE ''
END AS DESCRIPCION,
padrones_e.nombre_persona as EMPLEADO, padrones_e.numero as CUIL,
CASE
WHEN led_log.empleado is not null THEN iif(led_empleados.baja_afip is not null, CONVERT(VARCHAR(10), led_empleados.baja_afip, 121) , NULL)
ELSE NULL
END AS BAJA_AFIP,
led_vehiculos.nombre_vehiculo as VEHICULO, led_vehiculos.DOMINIO,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.nombre_persona else null end as SUBCONTRATISTA,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.numero else null end as CUIT_SUBC,
CONVERT(VARCHAR(16),led_log.horario_log,121) AS FECHA_HORA,
users.first_name + ' ' + users.last_name AS USUARIO,
users.username AS EMAIL
from led_log
inner join clientes on led_log.cliente = clientes.cliente
inner join led_contratistas on led_log.contratista_1 = led_contratistas.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join users on led_log.user_id = users.user_id
LEFT OUTER JOIN led_empleados on led_log.empleado = led_empleados.empleado
left outer join led_tipos_empleado on led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
left outer join padrones as padrones_e on led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos on led_log.vehiculo = led_vehiculos.vehiculo
left outer join led_tipos_vehiculo on led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
LEFT OUTER JOIN led_contratistas subc on led_log.contratista = subc.contratista
left outer join led_tipos_contratista tipos_subc on subc.tipo_contratista = tipos_subc.tipo_contratista
LEFT OUTER JOIN padrones padrones_s on subc.id_padron = padrones_s.id_padron
where tipo_log in ('B','D')
and led_log.contratista_1 = @contratista
and horario_log between @desde and @hasta
/* 27/07/2021: Que posteriormente no estén Reafectados */
and not exists (select * from led_log b where b.empleado = led_log.empleado and led_log.empleado is not null and b.horario_log > led_log.horario_log and b.tipo_log = 'R')
and not exists (select * from led_log v where v.vehiculo = led_log.vehiculo and led_log.vehiculo is not null and v.horario_log > led_log.horario_log and v.tipo_log = 'R')
order by clientes.nombre_cliente, horario_log asc,padrones.nombre_persona asc
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
/*
EXEC Imperium_Reporte_Bajas_Desafectaciones '2018-06-01','2018-06-30',7048064
*/
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Reporte_Bajas_Desafectaciones
-- Add the parameters for the stored procedure here
@desde datetime,
@hasta datetime,
@cliente int,
@contratista int = NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
if (select DATEPART(hour, @hasta)) = 0
set @hasta = dateadd(hour,23,@hasta)
if (select DATEPART(MINUTE, @hasta)) = 0
set @hasta = dateadd(MINUTE,59,@hasta)
if (select DATEPART(SECOND, @hasta)) = 0
set @hasta = dateadd(SECOND,59,@hasta)
-- Insert statements for procedure here
IF (@cliente is not null)
if (@contratista is null)
select clientes.nombre_cliente,
padrones.nombre_persona as CONTRATISTA,padrones.numero as CUIT,
CASE WHEN led_log.tipo_log = 'B' then 'BAJA' ELSE 'DESAFECTACION' END AS ACCION,
CASE WHEN led_log.empleado is not null then 'EMPLEADO'
WHEN led_log.vehiculo is not null then 'VEHICULO'
ELSE IIF (led_log.contratista <> led_log.contratista_1,'SUBCONTRATISTA','CONTRATISTA') END AS SECCION,
CASE
WHEN led_log.empleado is not null then led_tipos_empleado.nombre_tipo_empleado
WHEN led_log.vehiculo is not null then led_tipos_vehiculo.nombre_tipo_vehiculo
ELSE IIF (led_log.contratista <> led_log.contratista_1, tipos_subc.nombre_tipo_contratista, led_tipos_contratista.nombre_tipo_contratista)
END AS TIPO,
/*LED_LOG.contratista,*/
LED_LOG.descripcion_log +
CASE
WHEN led_log.empleado is not null then iif(led_empleados.contratista_1 <> led_empleados.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
WHEN led_log.vehiculo is not null then iif(led_vehiculos.contratista_1 <> led_vehiculos.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
ELSE ''
END AS DESCRIPCION,
padrones_e.nombre_persona as EMPLEADO, padrones_e.numero as CUIL,
CASE
WHEN led_log.empleado is not null THEN iif(led_empleados.baja_afip is not null, CONVERT(VARCHAR(10), led_empleados.baja_afip, 121) , NULL)
ELSE NULL
END AS BAJA_AFIP,
led_vehiculos.nombre_vehiculo as VEHICULO, led_vehiculos.DOMINIO,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.nombre_persona else null end as SUBCONTRATISTA,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.numero else null end as CUIT_SUBC,
CONVERT(VARCHAR(16),led_log.horario_log,121) AS FECHA_HORA,
users.first_name + ' ' + users.last_name AS USUARIO,
users.username AS EMAIL
from led_log
inner join clientes on led_log.cliente = clientes.cliente
inner join led_contratistas on led_log.contratista_1 = led_contratistas.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join users on led_log.user_id = users.user_id
LEFT OUTER JOIN led_empleados on led_log.empleado = led_empleados.empleado
left outer join led_tipos_empleado on led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
left outer join padrones as padrones_e on led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos on led_log.vehiculo = led_vehiculos.vehiculo
left outer join led_tipos_vehiculo on led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
LEFT OUTER JOIN led_contratistas subc on led_log.contratista = subc.contratista
left outer join led_tipos_contratista tipos_subc on subc.tipo_contratista = tipos_subc.tipo_contratista
LEFT OUTER JOIN padrones padrones_s on subc.id_padron = padrones_s.id_padron
where led_log.cliente = @cliente
and tipo_log in ('B','D')
and horario_log between @desde and @hasta
/* 27/07/2021: Que posteriormente no estén Reafectados */
and not exists (select * from led_log b where b.empleado = led_log.empleado and led_log.empleado is not null and b.horario_log > led_log.horario_log and b.tipo_log = 'R')
and not exists (select * from led_log v where v.vehiculo = led_log.vehiculo and led_log.vehiculo is not null and v.horario_log > led_log.horario_log and v.tipo_log = 'R')
order by clientes.nombre_cliente, horario_log asc,padrones.nombre_persona asc
else
select clientes.nombre_cliente,
padrones.nombre_persona as CONTRATISTA,padrones.numero as CUIT,
CASE WHEN led_log.tipo_log = 'B' then 'BAJA' ELSE 'DESAFECTACION' END AS ACCION,
CASE WHEN led_log.empleado is not null then 'EMPLEADO'
WHEN led_log.vehiculo is not null then 'VEHICULO'
ELSE IIF (led_log.contratista <> led_log.contratista_1,'SUBCONTRATISTA','CONTRATISTA') END AS SECCION,
CASE
WHEN led_log.empleado is not null then led_tipos_empleado.nombre_tipo_empleado
WHEN led_log.vehiculo is not null then led_tipos_vehiculo.nombre_tipo_vehiculo
ELSE IIF (led_log.contratista <> led_log.contratista_1, tipos_subc.nombre_tipo_contratista, led_tipos_contratista.nombre_tipo_contratista)
END AS TIPO,
/*LED_LOG.contratista,*/
LED_LOG.descripcion_log +
CASE
WHEN led_log.empleado is not null then iif(led_empleados.contratista_1 <> led_empleados.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
WHEN led_log.vehiculo is not null then iif(led_vehiculos.contratista_1 <> led_vehiculos.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
ELSE ''
END AS DESCRIPCION,
padrones_e.nombre_persona as EMPLEADO, padrones_e.numero as CUIL,
CASE
WHEN led_log.empleado is not null THEN iif(led_empleados.baja_afip is not null, CONVERT(VARCHAR(10), led_empleados.baja_afip, 121) , NULL)
ELSE NULL
END AS BAJA_AFIP,
led_vehiculos.nombre_vehiculo as VEHICULO, led_vehiculos.DOMINIO,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.nombre_persona else null end as SUBCONTRATISTA,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.numero else null end as CUIT_SUBC,
CONVERT(VARCHAR(16),led_log.horario_log,121) AS FECHA_HORA,
users.first_name + ' ' + users.last_name AS USUARIO,
users.username AS EMAIL
from led_log
inner join clientes on led_log.cliente = clientes.cliente
inner join led_contratistas on led_log.contratista_1 = led_contratistas.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join users on led_log.user_id = users.user_id
LEFT OUTER JOIN led_empleados on led_log.empleado = led_empleados.empleado
left outer join led_tipos_empleado on led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
left outer join padrones as padrones_e on led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos on led_log.vehiculo = led_vehiculos.vehiculo
left outer join led_tipos_vehiculo on led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
LEFT OUTER JOIN led_contratistas subc on led_log.contratista = subc.contratista
left outer join led_tipos_contratista tipos_subc on subc.tipo_contratista = tipos_subc.tipo_contratista
LEFT OUTER JOIN padrones padrones_s on subc.id_padron = padrones_s.id_padron
where led_log.cliente = @cliente
and led_log.contratista_1 = @contratista
and tipo_log in ('B','D')
and horario_log between @desde and @hasta
/* 27/07/2021: Que posteriormente no estén Reafectados */
and not exists (select * from led_log b where b.empleado = led_log.empleado and led_log.empleado is not null and b.horario_log > led_log.horario_log and b.tipo_log = 'R')
and not exists (select * from led_log v where v.vehiculo = led_log.vehiculo and led_log.vehiculo is not null and v.horario_log > led_log.horario_log and v.tipo_log = 'R')
order by clientes.nombre_cliente, horario_log asc,padrones.nombre_persona asc
ELSE
if (@contratista is null)
select clientes.nombre_cliente,
padrones.nombre_persona as CONTRATISTA,padrones.numero as CUIT,
CASE WHEN led_log.tipo_log = 'B' then 'BAJA' ELSE 'DESAFECTACION' END AS ACCION,
CASE WHEN led_log.empleado is not null then 'EMPLEADO'
WHEN led_log.vehiculo is not null then 'VEHICULO'
ELSE IIF (led_log.contratista <> led_log.contratista_1,'SUBCONTRATISTA','CONTRATISTA') END AS SECCION,
CASE
WHEN led_log.empleado is not null then led_tipos_empleado.nombre_tipo_empleado
WHEN led_log.vehiculo is not null then led_tipos_vehiculo.nombre_tipo_vehiculo
ELSE IIF (led_log.contratista <> led_log.contratista_1, tipos_subc.nombre_tipo_contratista, led_tipos_contratista.nombre_tipo_contratista)
END AS TIPO,
/*LED_LOG.contratista,*/
LED_LOG.descripcion_log +
CASE
WHEN led_log.empleado is not null then iif(led_empleados.contratista_1 <> led_empleados.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
WHEN led_log.vehiculo is not null then iif(led_vehiculos.contratista_1 <> led_vehiculos.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
ELSE ''
END AS DESCRIPCION,
padrones_e.nombre_persona as EMPLEADO, padrones_e.numero as CUIL,
CASE
WHEN led_log.empleado is not null THEN iif(led_empleados.baja_afip is not null, CONVERT(VARCHAR(10), led_empleados.baja_afip, 121) , NULL)
ELSE NULL
END AS BAJA_AFIP,
led_vehiculos.nombre_vehiculo as VEHICULO, led_vehiculos.DOMINIO,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.nombre_persona else null end as SUBCONTRATISTA,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.numero else null end as CUIT_SUBC,
CONVERT(VARCHAR(16),led_log.horario_log,121) AS FECHA_HORA,
users.first_name + ' ' + users.last_name AS USUARIO,
users.username AS EMAIL
from led_log
inner join clientes on led_log.cliente = clientes.cliente
inner join led_contratistas on led_log.contratista_1 = led_contratistas.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join users on led_log.user_id = users.user_id
LEFT OUTER JOIN led_empleados on led_log.empleado = led_empleados.empleado
left outer join led_tipos_empleado on led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
left outer join padrones as padrones_e on led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos on led_log.vehiculo = led_vehiculos.vehiculo
left outer join led_tipos_vehiculo on led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
LEFT OUTER JOIN led_contratistas subc on led_log.contratista = subc.contratista
left outer join led_tipos_contratista tipos_subc on subc.tipo_contratista = tipos_subc.tipo_contratista
LEFT OUTER JOIN padrones padrones_s on subc.id_padron = padrones_s.id_padron
where tipo_log in ('B','D')
and horario_log between @desde and @hasta
/* 27/07/2021: Que posteriormente no estén Reafectados */
and not exists (select * from led_log b where b.empleado = led_log.empleado and led_log.empleado is not null and b.horario_log > led_log.horario_log and b.tipo_log = 'R')
and not exists (select * from led_log v where v.vehiculo = led_log.vehiculo and led_log.vehiculo is not null and v.horario_log > led_log.horario_log and v.tipo_log = 'R')
order by clientes.nombre_cliente, horario_log asc,padrones.nombre_persona asc
else
select clientes.nombre_cliente,
padrones.nombre_persona as CONTRATISTA,padrones.numero as CUIT,
CASE WHEN led_log.tipo_log = 'B' then 'BAJA' ELSE 'DESAFECTACION' END AS ACCION,
CASE WHEN led_log.empleado is not null then 'EMPLEADO'
WHEN led_log.vehiculo is not null then 'VEHICULO'
ELSE IIF (led_log.contratista <> led_log.contratista_1,'SUBCONTRATISTA','CONTRATISTA') END AS SECCION,
CASE
WHEN led_log.empleado is not null then led_tipos_empleado.nombre_tipo_empleado
WHEN led_log.vehiculo is not null then led_tipos_vehiculo.nombre_tipo_vehiculo
ELSE IIF (led_log.contratista <> led_log.contratista_1, tipos_subc.nombre_tipo_contratista, led_tipos_contratista.nombre_tipo_contratista)
END AS TIPO,
/*LED_LOG.contratista,*/
LED_LOG.descripcion_log +
CASE
WHEN led_log.empleado is not null then iif(led_empleados.contratista_1 <> led_empleados.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
WHEN led_log.vehiculo is not null then iif(led_vehiculos.contratista_1 <> led_vehiculos.contratista, ' (Subcontratista: ' + padrones_s.nombre_persona + ' - ' + padrones_s.identificador + ' ' + padrones_s.identificacion + ')','')
ELSE ''
END AS DESCRIPCION,
padrones_e.nombre_persona as EMPLEADO, padrones_e.numero as CUIL,
CASE
WHEN led_log.empleado is not null THEN iif(led_empleados.baja_afip is not null, CONVERT(VARCHAR(10), led_empleados.baja_afip, 121) , NULL)
ELSE NULL
END AS BAJA_AFIP,
led_vehiculos.nombre_vehiculo as VEHICULO, led_vehiculos.DOMINIO,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.nombre_persona else null end as SUBCONTRATISTA,
CASE when led_log.contratista <> led_log.contratista_1
then padrones_s.numero else null end as CUIT_SUBC,
CONVERT(VARCHAR(16),led_log.horario_log,121) AS FECHA_HORA,
users.first_name + ' ' + users.last_name AS USUARIO,
users.username AS EMAIL
from led_log
inner join clientes on led_log.cliente = clientes.cliente
inner join led_contratistas on led_log.contratista_1 = led_contratistas.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join users on led_log.user_id = users.user_id
LEFT OUTER JOIN led_empleados on led_log.empleado = led_empleados.empleado
left outer join led_tipos_empleado on led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
left outer join padrones as padrones_e on led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos on led_log.vehiculo = led_vehiculos.vehiculo
left outer join led_tipos_vehiculo on led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
LEFT OUTER JOIN led_contratistas subc on led_log.contratista = subc.contratista
left outer join led_tipos_contratista tipos_subc on subc.tipo_contratista = tipos_subc.tipo_contratista
LEFT OUTER JOIN padrones padrones_s on subc.id_padron = padrones_s.id_padron
where tipo_log in ('B','D')
and led_log.contratista_1 = @contratista
and horario_log between @desde and @hasta
/* 27/07/2021: Que posteriormente no estén Reafectados */
and not exists (select * from led_log b where b.empleado = led_log.empleado and led_log.empleado is not null and b.horario_log > led_log.horario_log and b.tipo_log = 'R')
and not exists (select * from led_log v where v.vehiculo = led_log.vehiculo and led_log.vehiculo is not null and v.horario_log > led_log.horario_log and v.tipo_log = 'R')
order by clientes.nombre_cliente, horario_log asc,padrones.nombre_persona asc
END
GO
Depends On
10Used By
No items found