Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
3| Name | Data Type | Length | Description |
|---|---|---|---|
| @cliente | int | 4 | |
| @periodo_desde | int | 4 | |
| @periodo_hasta | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
DECLARE @cliente int = 5546348
DECLARE @periodo_desde int = dbo.PeriodoAdelantado()
DECLARE @periodo_hasta int = dbo.PeriodoAdelantado()
exec Imperium_reporte_semanal_LUIS @cliente,@periodo_desde,@periodo_hasta
AMX
exec Imperium_reporte_semanal_LUIS 5546348,202103,202202
INC
exec Imperium_reporte_semanal_LUIS 2028732,202012,202111
*/
CREATE OR ALTER PROCEDURE dbo.Imperium_reporte_semanal_LUIS
@cliente int,
@periodo_desde int,
@periodo_hasta int
AS
BEGIN
DECLARE @periodo INT
DECLARE @periodoVigente INT
SET @periodo = convert(varchar(4),datepart(year,getdate())) + RIGHT('00' +convert(varchar(2),datepart(month,getdate())),2)
SET @periodoVigente = convert(varchar(4),datepart(year,DATEADD(month,-1,getdate()))) + RIGHT('00' +convert(varchar(2),datepart(month,DATEADD(month,-1,getdate()))),2)
SELECT clientes.nombre_cliente AS CLIENTE,
led_tipos_contratista.nombre_tipo_contratista as ACTIVIDAD,
padrones_1.nombre_persona AS RAZON_SOCIAL, padrones_1.numero AS CUIT,
iif(led_contratistas.estado_contratista = 'A','Activo','No activo') AS ESTADO_CONTRATISTA,
/*CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.nombre_persona else NULL end as SUBCONTRATISTA,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.numero else NULL end as CUIT_SUBC,*/
NULL as SUBCONTRATISTA, NULL as CUIT_SUBC, NULL AS ESTADO_SUBCONT,
led_tipos_doc.nombre_tipo_doc as TIPO_DOCUMENTO,
SECCION = CASE led_docs.led_seccion
WHEN 'C' THEN 'CONTRATISTAS'
WHEN 'S' THEN 'SUB CONTRATISTAS'
WHEN 'E' THEN 'EMPLEADOS'
WHEN 'V' THEN 'VEHICULOS'
END,
LEFT(CONVERT(VARCHAR,led_docs.periodo),4) as ANIO,
RIGHT(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,
padrones_e.nombre_persona AS RECURSO,
padrones_e.numero AS CUIT_EMPLEADO,
NULL AS ESTADO_RECURSO,
ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'SIN VERIFICAR'
END,
@periodo_desde as CONSULTA_DESDE,
@periodo_hasta as CONSULTA_HASTA,
@periodoVigente as PERIODO_VIGENTE, case when led_docs.estado_doc = 'I' then 'SI' ELSE 'NO' END AS PENDIENTE_VERIFICAR,
/*CASE WHEN led_docs.estado_doc = 'R' then iif(led_docs.aprobacion_parcial = 1, 'SI', 'NO') else NULL end AS APROBADO_PARCIAL*/
CASE WHEN led_docs.estado_doc = 'I' THEN
iif(led_docs.aprobacion_parcial = 1 and isnull(led_docs.parcial_actualizado,0)=0, 'SI',NULL)
ELSE
NULL
END AS APROBADO_PARCIAL
FROM led_docs
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_contratistas led_contratistas_1 on led_docs.contratista_1 = led_contratistas_1.contratista
inner join led_tipos_contratista on led_contratistas_1.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join led_cliente_contratista ON
(led_docs.cliente = led_cliente_contratista.cliente
and led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
and led_docs.tipo_doc = led_cliente_contratista.tipo_doc)
inner join led_contratista_periodo on
(led_contratistas_1.contratista = led_contratista_periodo.contratista
and led_docs.periodo = led_contratista_periodo.periodo)
left outer join led_empleados on led_docs.empleado = led_empleados.empleado
left outer join padrones AS padrones_e on led_empleados.id_padron = padrones_e.id_padron
WHERE led_docs.cliente = @cliente
AND led_docs.led_seccion = 'C'
AND led_docs.doc_id_lista IS NULL
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('N','R','I')
AND led_contratistas_1.estado_CONTRATISTA = 'A'
AND led_contratistas.contratista_1 = led_contratistas.contratista
UNION
/**** EMPLEADOS *****/
SELECT distinct clientes.nombre_cliente AS CLIENTE,
led_tipos_contratista.nombre_tipo_contratista as ACTIVIDAD,
padrones_1.nombre_persona AS RAZON_SOCIAL, padrones_1.numero AS CUIT,
iif(led_contratistas.estado_contratista = 'A','Activo','No activo') AS ESTADO_CONTRATISTA,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.nombre_persona else NULL end as SUBCONTRATISTA,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.numero else NULL end as CUIT_SUBC,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then IIF(led_contratistaS.estado_contratista = 'A','Activo','No activo') else NULL end as ESTADO_SUBCONT,
led_tipos_doc.nombre_tipo_doc as TIPO_DOCUMENTO,
SECCION = CASE led_docs.led_seccion
WHEN 'C' THEN 'CONTRATISTAS'
WHEN 'S' THEN 'SUB CONTRATISTAS'
WHEN 'E' THEN 'EMPLEADOS'
WHEN 'V' THEN 'VEHICULOS'
END,
LEFT(CONVERT(VARCHAR,led_docs.periodo),4) as ANIO,
RIGHT(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,
padrones_e.nombre_persona AS RECURSO,
padrones_e.numero AS CUIT_EMPLEADO,
IIF(led_empleados.estado_empleado = 'A', 'Activo', 'No activo') AS ESTADO_RECURSO,
ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'PENDIENTE DE ENVIO'
END,
@periodo_desde as CONSULTA_DESDE,
@periodo_hasta as CONSULTA_HASTA,
@periodoVigente as PERIODO_VIGENTE, case when led_docs.estado_doc = 'I' then 'SI' ELSE 'NO' END AS PENDIENTE_VERIFICAR,
NULL AS APROBADO_PARCIAL
FROM led_docs
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_contratistas led_contratistas_1 on led_docs.contratista_1 = led_contratistas_1.contratista
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join led_tipos_contratista on led_contratistas_1.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join padrones AS padrones_e on led_empleados.id_padron = padrones_e.id_padron
inner join led_cliente_empleado ON
(led_docs.cliente = led_cliente_empleado.cliente
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_docs.tipo_doc = led_cliente_empleado.tipo_doc)
INNER JOIN led_contratista_periodo on
(led_docs.contratista_1 = led_contratista_periodo.contratista
and led_docs.periodo = led_contratista_periodo.periodo)
INNER JOIN led_empleados_periodo on (led_docs.empleado = led_empleados_periodo.empleado
and led_docs.periodo = led_empleados_periodo.periodo)
WHERE led_docs.cliente = @cliente
AND led_docs.led_seccion = 'E'
AND led_docs.doc_id_lista IS NULL
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('N','R','I')
AND led_contratistas_1.estado_CONTRATISTA = 'A'
AND led_contratistas.estado_CONTRATISTA = 'A'
--and led_empleados.estado_empleado = 'A'
/*
AND led_docs.contratista=127
*/
UNION
/**** VEHICULOS ****/
SELECT distinct clientes.nombre_cliente AS CLIENTE,
led_tipos_contratista.nombre_tipo_contratista as ACTIVIDAD,
padrones_1.nombre_persona AS RAZON_SOCIAL, padrones_1.numero AS CUIT,
iif(led_contratistas.estado_contratista = 'A','Activo','No activo') AS ESTADO_CONTRATISTA,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.nombre_persona else NULL end as SUBCONTRATISTA,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.numero else NULL end as CUIT_SUBC,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then IIF(led_contratistas.estado_contratista = 'A','Activo','No activo') else NULL end as ESTADO_SUBCONT,
led_tipos_doc.nombre_tipo_doc as TIPO_DOCUMENTO,
SECCION = CASE led_docs.led_seccion
WHEN 'C' THEN 'CONTRATISTAS'
WHEN 'S' THEN 'SUB CONTRATISTAS'
WHEN 'E' THEN 'EMPLEADOS'
WHEN 'V' THEN 'VEHICULOS'
END,
LEFT(CONVERT(VARCHAR,led_docs.periodo),4) as ANIO,
RIGHT(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,
led_vehiculos.dominio AS RECURSO,
NULL AS CUIT_EMPLEADO,
IIF(led_vehiculos.estado_vehiculo = 'A', 'Activo', 'No activo') AS ESTADO_RECURSO,
ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'PENDIENTE DE ENVIO'
END,
@periodo_desde as CONSULTA_DESDE,
@periodo_hasta as CONSULTA_HASTA,
@periodoVigente as PERIODO_VIGENTE, case when led_docs.estado_doc = 'I' then 'SI' ELSE 'NO' END AS PENDIENTE_VERIFICAR,
NULL AS APROBADO_PARCIAL
FROM led_docs
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_contratistas led_contratistas_1 on led_docs.contratista_1 = led_contratistas_1.contratista
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join led_tipos_contratista on led_contratistas_1.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo ON
(led_docs.cliente = led_cliente_vehiculo.cliente
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc)
INNER JOIN led_contratista_periodo on
(led_docs.contratista_1 = led_contratista_periodo.contratista
and led_docs.periodo = led_contratista_periodo.periodo)
INNER JOIN led_vehiculos_periodo on (led_docs.vehiculo = led_vehiculos_periodo.vehiculo
and led_docs.periodo = led_vehiculos_periodo.periodo)
WHERE led_docs.cliente = @cliente
AND led_docs.led_seccion = 'V'
AND led_docs.doc_id_lista IS NULL
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('N','R','I')
AND led_contratistas_1.estado_CONTRATISTA = 'A'
AND led_contratistas.estado_CONTRATISTA = 'A'
--and led_vehiculos.estado_vehiculo = 'A'
/*
AND led_docs.contratista=127
*/
UNION
/**** SUBCONTRATISTAS ****/
SELECT distinct clientes.nombre_cliente AS CLIENTE,
led_tipos_contratista.nombre_tipo_contratista as ACTIVIDAD,
padrones_1.nombre_persona AS RAZON_SOCIAL, padrones_1.numero AS CUIT,
iif(led_contratistas.estado_contratista = 'A','Activo','No activo') AS ESTADO_CONTRATISTA,
/*CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.nombre_persona else NULL end as SUBCONTRATISTA,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.numero else NULL end as CUIT_SUBC,*/
padrones.nombre_persona as SUBCONTRATISTA, padrones.numero as CUIT_SUBC,
IIF(led_contratistas.estado_contratista = 'A','Activo','No activo') as ESTADO_SUBCONT,
led_tipos_doc.nombre_tipo_doc AS TIPO_DOCUMENTO,
SECCION = CASE led_docs.led_seccion
WHEN 'C' THEN 'CONTRATISTAS'
WHEN 'S' THEN 'SUB CONTRATISTAS'
WHEN 'E' THEN 'EMPLEADOS'
WHEN 'V' THEN 'VEHICULOS'
END,
LEFT(CONVERT(VARCHAR,led_docs.periodo),4) as ANIO,
RIGHT(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,
padrones_e.nombre_persona AS RECURSO,
padrones_e.numero AS CUIT_EMPLEADO,
CASE
WHEN led_docs.led_seccion = 'E' then iif(led_empleados.estado_empleado = 'A','Activo','No activo')
WHEN led_docs.led_seccion = 'V' then iif(led_vehiculos.estado_vehiculo = 'A','Activo','No activo')
ELSE NULL
END AS ESTADO_RECURSO,
ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'PENDIENTE DE ENVIO'
END,
@periodo_desde as CONSULTA_DESDE,
@periodo_hasta as CONSULTA_HASTA,
@periodoVigente as PERIODO_VIGENTE, case when led_docs.estado_doc = 'I' then 'SI' ELSE 'NO' END AS PENDIENTE_VERIFICAR,
/*CASE WHEN led_docs.estado_doc = 'R' then iif(led_docs.aprobacion_parcial = 1, 'SI', 'NO') else NULL end AS APROBADO_PARCIAL*/
CASE WHEN led_docs.estado_doc = 'I' THEN
iif(led_docs.aprobacion_parcial = 1 and isnull(led_docs.parcial_actualizado,0)=0, 'SI',NULL)
ELSE
NULL
END AS APROBADO_PARCIAL
FROM led_docs
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_contratistas led_contratistas_1 on led_docs.contratista_1 = led_contratistas_1.contratista
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join led_tipos_contratista on led_contratistas_1.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join led_cliente_contratista ON
(led_docs.cliente = led_cliente_contratista.cliente
and led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
and led_docs.tipo_doc = led_cliente_contratista.tipo_doc)
inner join led_contratista_periodo on
(led_contratistas_1.contratista = led_contratista_periodo.contratista
and led_docs.periodo = led_contratista_periodo.periodo)
inner join led_subcontratista_periodo on
(led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
left outer join led_empleados on led_docs.empleado = led_empleados.empleado
left outer join padrones AS padrones_e on led_empleados.id_padron = padrones_e.id_padron
left outer join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
WHERE led_docs.cliente = @cliente
AND led_docs.led_seccion = 'C'
AND led_docs.doc_id_lista IS NULL
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('N','R','I')
AND led_contratistas.estado_contratista = 'A'
AND led_contratistas_1.estado_CONTRATISTA = 'A'
AND led_contratistas.contratista_1 <> led_contratistas.contratista
/*
AND led_docs.contratista=127
*/
ORDER BY razon_social asc , cliente asc, actividad asc, subcontratista asc, led_tipos_doc.nombre_tipo_doc asc, anio, mes asc, recurso asc
END
GO
GO
/*
DECLARE @cliente int = 5546348
DECLARE @periodo_desde int = dbo.PeriodoAdelantado()
DECLARE @periodo_hasta int = dbo.PeriodoAdelantado()
exec Imperium_reporte_semanal_LUIS @cliente,@periodo_desde,@periodo_hasta
AMX
exec Imperium_reporte_semanal_LUIS 5546348,202103,202202
INC
exec Imperium_reporte_semanal_LUIS 2028732,202012,202111
*/
CREATE OR ALTER PROCEDURE dbo.Imperium_reporte_semanal_LUIS
@cliente int,
@periodo_desde int,
@periodo_hasta int
AS
BEGIN
DECLARE @periodo INT
DECLARE @periodoVigente INT
SET @periodo = convert(varchar(4),datepart(year,getdate())) + RIGHT('00' +convert(varchar(2),datepart(month,getdate())),2)
SET @periodoVigente = convert(varchar(4),datepart(year,DATEADD(month,-1,getdate()))) + RIGHT('00' +convert(varchar(2),datepart(month,DATEADD(month,-1,getdate()))),2)
SELECT clientes.nombre_cliente AS CLIENTE,
led_tipos_contratista.nombre_tipo_contratista as ACTIVIDAD,
padrones_1.nombre_persona AS RAZON_SOCIAL, padrones_1.numero AS CUIT,
iif(led_contratistas.estado_contratista = 'A','Activo','No activo') AS ESTADO_CONTRATISTA,
/*CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.nombre_persona else NULL end as SUBCONTRATISTA,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.numero else NULL end as CUIT_SUBC,*/
NULL as SUBCONTRATISTA, NULL as CUIT_SUBC, NULL AS ESTADO_SUBCONT,
led_tipos_doc.nombre_tipo_doc as TIPO_DOCUMENTO,
SECCION = CASE led_docs.led_seccion
WHEN 'C' THEN 'CONTRATISTAS'
WHEN 'S' THEN 'SUB CONTRATISTAS'
WHEN 'E' THEN 'EMPLEADOS'
WHEN 'V' THEN 'VEHICULOS'
END,
LEFT(CONVERT(VARCHAR,led_docs.periodo),4) as ANIO,
RIGHT(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,
padrones_e.nombre_persona AS RECURSO,
padrones_e.numero AS CUIT_EMPLEADO,
NULL AS ESTADO_RECURSO,
ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'SIN VERIFICAR'
END,
@periodo_desde as CONSULTA_DESDE,
@periodo_hasta as CONSULTA_HASTA,
@periodoVigente as PERIODO_VIGENTE, case when led_docs.estado_doc = 'I' then 'SI' ELSE 'NO' END AS PENDIENTE_VERIFICAR,
/*CASE WHEN led_docs.estado_doc = 'R' then iif(led_docs.aprobacion_parcial = 1, 'SI', 'NO') else NULL end AS APROBADO_PARCIAL*/
CASE WHEN led_docs.estado_doc = 'I' THEN
iif(led_docs.aprobacion_parcial = 1 and isnull(led_docs.parcial_actualizado,0)=0, 'SI',NULL)
ELSE
NULL
END AS APROBADO_PARCIAL
FROM led_docs
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_contratistas led_contratistas_1 on led_docs.contratista_1 = led_contratistas_1.contratista
inner join led_tipos_contratista on led_contratistas_1.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join led_cliente_contratista ON
(led_docs.cliente = led_cliente_contratista.cliente
and led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
and led_docs.tipo_doc = led_cliente_contratista.tipo_doc)
inner join led_contratista_periodo on
(led_contratistas_1.contratista = led_contratista_periodo.contratista
and led_docs.periodo = led_contratista_periodo.periodo)
left outer join led_empleados on led_docs.empleado = led_empleados.empleado
left outer join padrones AS padrones_e on led_empleados.id_padron = padrones_e.id_padron
WHERE led_docs.cliente = @cliente
AND led_docs.led_seccion = 'C'
AND led_docs.doc_id_lista IS NULL
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('N','R','I')
AND led_contratistas_1.estado_CONTRATISTA = 'A'
AND led_contratistas.contratista_1 = led_contratistas.contratista
UNION
/**** EMPLEADOS *****/
SELECT distinct clientes.nombre_cliente AS CLIENTE,
led_tipos_contratista.nombre_tipo_contratista as ACTIVIDAD,
padrones_1.nombre_persona AS RAZON_SOCIAL, padrones_1.numero AS CUIT,
iif(led_contratistas.estado_contratista = 'A','Activo','No activo') AS ESTADO_CONTRATISTA,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.nombre_persona else NULL end as SUBCONTRATISTA,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.numero else NULL end as CUIT_SUBC,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then IIF(led_contratistaS.estado_contratista = 'A','Activo','No activo') else NULL end as ESTADO_SUBCONT,
led_tipos_doc.nombre_tipo_doc as TIPO_DOCUMENTO,
SECCION = CASE led_docs.led_seccion
WHEN 'C' THEN 'CONTRATISTAS'
WHEN 'S' THEN 'SUB CONTRATISTAS'
WHEN 'E' THEN 'EMPLEADOS'
WHEN 'V' THEN 'VEHICULOS'
END,
LEFT(CONVERT(VARCHAR,led_docs.periodo),4) as ANIO,
RIGHT(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,
padrones_e.nombre_persona AS RECURSO,
padrones_e.numero AS CUIT_EMPLEADO,
IIF(led_empleados.estado_empleado = 'A', 'Activo', 'No activo') AS ESTADO_RECURSO,
ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'PENDIENTE DE ENVIO'
END,
@periodo_desde as CONSULTA_DESDE,
@periodo_hasta as CONSULTA_HASTA,
@periodoVigente as PERIODO_VIGENTE, case when led_docs.estado_doc = 'I' then 'SI' ELSE 'NO' END AS PENDIENTE_VERIFICAR,
NULL AS APROBADO_PARCIAL
FROM led_docs
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_contratistas led_contratistas_1 on led_docs.contratista_1 = led_contratistas_1.contratista
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join led_tipos_contratista on led_contratistas_1.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join padrones AS padrones_e on led_empleados.id_padron = padrones_e.id_padron
inner join led_cliente_empleado ON
(led_docs.cliente = led_cliente_empleado.cliente
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_docs.tipo_doc = led_cliente_empleado.tipo_doc)
INNER JOIN led_contratista_periodo on
(led_docs.contratista_1 = led_contratista_periodo.contratista
and led_docs.periodo = led_contratista_periodo.periodo)
INNER JOIN led_empleados_periodo on (led_docs.empleado = led_empleados_periodo.empleado
and led_docs.periodo = led_empleados_periodo.periodo)
WHERE led_docs.cliente = @cliente
AND led_docs.led_seccion = 'E'
AND led_docs.doc_id_lista IS NULL
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('N','R','I')
AND led_contratistas_1.estado_CONTRATISTA = 'A'
AND led_contratistas.estado_CONTRATISTA = 'A'
--and led_empleados.estado_empleado = 'A'
/*
AND led_docs.contratista=127
*/
UNION
/**** VEHICULOS ****/
SELECT distinct clientes.nombre_cliente AS CLIENTE,
led_tipos_contratista.nombre_tipo_contratista as ACTIVIDAD,
padrones_1.nombre_persona AS RAZON_SOCIAL, padrones_1.numero AS CUIT,
iif(led_contratistas.estado_contratista = 'A','Activo','No activo') AS ESTADO_CONTRATISTA,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.nombre_persona else NULL end as SUBCONTRATISTA,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.numero else NULL end as CUIT_SUBC,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then IIF(led_contratistas.estado_contratista = 'A','Activo','No activo') else NULL end as ESTADO_SUBCONT,
led_tipos_doc.nombre_tipo_doc as TIPO_DOCUMENTO,
SECCION = CASE led_docs.led_seccion
WHEN 'C' THEN 'CONTRATISTAS'
WHEN 'S' THEN 'SUB CONTRATISTAS'
WHEN 'E' THEN 'EMPLEADOS'
WHEN 'V' THEN 'VEHICULOS'
END,
LEFT(CONVERT(VARCHAR,led_docs.periodo),4) as ANIO,
RIGHT(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,
led_vehiculos.dominio AS RECURSO,
NULL AS CUIT_EMPLEADO,
IIF(led_vehiculos.estado_vehiculo = 'A', 'Activo', 'No activo') AS ESTADO_RECURSO,
ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'PENDIENTE DE ENVIO'
END,
@periodo_desde as CONSULTA_DESDE,
@periodo_hasta as CONSULTA_HASTA,
@periodoVigente as PERIODO_VIGENTE, case when led_docs.estado_doc = 'I' then 'SI' ELSE 'NO' END AS PENDIENTE_VERIFICAR,
NULL AS APROBADO_PARCIAL
FROM led_docs
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_contratistas led_contratistas_1 on led_docs.contratista_1 = led_contratistas_1.contratista
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join led_tipos_contratista on led_contratistas_1.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo ON
(led_docs.cliente = led_cliente_vehiculo.cliente
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc)
INNER JOIN led_contratista_periodo on
(led_docs.contratista_1 = led_contratista_periodo.contratista
and led_docs.periodo = led_contratista_periodo.periodo)
INNER JOIN led_vehiculos_periodo on (led_docs.vehiculo = led_vehiculos_periodo.vehiculo
and led_docs.periodo = led_vehiculos_periodo.periodo)
WHERE led_docs.cliente = @cliente
AND led_docs.led_seccion = 'V'
AND led_docs.doc_id_lista IS NULL
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('N','R','I')
AND led_contratistas_1.estado_CONTRATISTA = 'A'
AND led_contratistas.estado_CONTRATISTA = 'A'
--and led_vehiculos.estado_vehiculo = 'A'
/*
AND led_docs.contratista=127
*/
UNION
/**** SUBCONTRATISTAS ****/
SELECT distinct clientes.nombre_cliente AS CLIENTE,
led_tipos_contratista.nombre_tipo_contratista as ACTIVIDAD,
padrones_1.nombre_persona AS RAZON_SOCIAL, padrones_1.numero AS CUIT,
iif(led_contratistas.estado_contratista = 'A','Activo','No activo') AS ESTADO_CONTRATISTA,
/*CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.nombre_persona else NULL end as SUBCONTRATISTA,
CASE WHEN led_docs.contratista_1 <> led_docs.contratista then padrones.numero else NULL end as CUIT_SUBC,*/
padrones.nombre_persona as SUBCONTRATISTA, padrones.numero as CUIT_SUBC,
IIF(led_contratistas.estado_contratista = 'A','Activo','No activo') as ESTADO_SUBCONT,
led_tipos_doc.nombre_tipo_doc AS TIPO_DOCUMENTO,
SECCION = CASE led_docs.led_seccion
WHEN 'C' THEN 'CONTRATISTAS'
WHEN 'S' THEN 'SUB CONTRATISTAS'
WHEN 'E' THEN 'EMPLEADOS'
WHEN 'V' THEN 'VEHICULOS'
END,
LEFT(CONVERT(VARCHAR,led_docs.periodo),4) as ANIO,
RIGHT(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,
padrones_e.nombre_persona AS RECURSO,
padrones_e.numero AS CUIT_EMPLEADO,
CASE
WHEN led_docs.led_seccion = 'E' then iif(led_empleados.estado_empleado = 'A','Activo','No activo')
WHEN led_docs.led_seccion = 'V' then iif(led_vehiculos.estado_vehiculo = 'A','Activo','No activo')
ELSE NULL
END AS ESTADO_RECURSO,
ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'PENDIENTE DE ENVIO'
END,
@periodo_desde as CONSULTA_DESDE,
@periodo_hasta as CONSULTA_HASTA,
@periodoVigente as PERIODO_VIGENTE, case when led_docs.estado_doc = 'I' then 'SI' ELSE 'NO' END AS PENDIENTE_VERIFICAR,
/*CASE WHEN led_docs.estado_doc = 'R' then iif(led_docs.aprobacion_parcial = 1, 'SI', 'NO') else NULL end AS APROBADO_PARCIAL*/
CASE WHEN led_docs.estado_doc = 'I' THEN
iif(led_docs.aprobacion_parcial = 1 and isnull(led_docs.parcial_actualizado,0)=0, 'SI',NULL)
ELSE
NULL
END AS APROBADO_PARCIAL
FROM led_docs
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_contratistas led_contratistas_1 on led_docs.contratista_1 = led_contratistas_1.contratista
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join led_tipos_contratista on led_contratistas_1.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join led_cliente_contratista ON
(led_docs.cliente = led_cliente_contratista.cliente
and led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
and led_docs.tipo_doc = led_cliente_contratista.tipo_doc)
inner join led_contratista_periodo on
(led_contratistas_1.contratista = led_contratista_periodo.contratista
and led_docs.periodo = led_contratista_periodo.periodo)
inner join led_subcontratista_periodo on
(led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
left outer join led_empleados on led_docs.empleado = led_empleados.empleado
left outer join padrones AS padrones_e on led_empleados.id_padron = padrones_e.id_padron
left outer join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
WHERE led_docs.cliente = @cliente
AND led_docs.led_seccion = 'C'
AND led_docs.doc_id_lista IS NULL
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('N','R','I')
AND led_contratistas.estado_contratista = 'A'
AND led_contratistas_1.estado_CONTRATISTA = 'A'
AND led_contratistas.contratista_1 <> led_contratistas.contratista
/*
AND led_docs.contratista=127
*/
ORDER BY razon_social asc , cliente asc, actividad asc, subcontratista asc, led_tipos_doc.nombre_tipo_doc asc, anio, mes asc, recurso asc
END
GO
Depends On
15- dbo.clientes
- dbo.led_cliente_contratista
- dbo.led_cliente_empleado
- dbo.led_cliente_vehiculo
- dbo.led_contratista_periodo
- dbo.led_contratistas
- dbo.led_docs
- dbo.led_empleados
- dbo.led_empleados_periodo
- dbo.led_subcontratista_periodo
- dbo.led_tipos_contratista
- dbo.led_tipos_doc
- dbo.led_vehiculos
- dbo.led_vehiculos_periodo
- dbo.padrones
Used By
No items found