Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
5| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_periodo | int | 4 | |
| @p_empleado | int | 4 | |
| @p_vehiculo | int | 4 | |
| @p_subcontratista | int | 4 | |
| @p_excluir_hijos | tinyint | 1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: LUIS PRENAFETA
-- Create date: 27/05/2020
/*
exec imperium_documentos_recurso 202005,59284
exec imperium_documentos_recurso 202005,null,5152
exec imperium_documentos_recurso 202212,null,null,9308
*/
-- Description: PARA TRAER UNA LISTA DE DOCUMENTOS DE UN RECURSO EN PARTICULAR (EMPLEADO, VEHICULO O SUBCONTRATISTA) EN UN PERIODO
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Documentos_Recurso
-- Add the parameters for the stored procedure here
@p_periodo int = null,
@p_empleado int = null,
@p_vehiculo int = null,
@p_subcontratista int = null,
@p_excluir_hijos tinyint = 0 --- pasar en 1 para ignorar docs con doc_id_lista != NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
if (@p_periodo > 0) begin
if (@p_empleado is not null) begin
if (@p_excluir_hijos = 0)
select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
led_empleados.id_padron, padrones.nombre_persona, padrones.identificador,
padrones.numero, padrones.identificacion, led_docs.texto_rechazo,
led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
case
when led_docs.estado_doc = 'N' then 'No ingresado'
when led_docs.estado_doc = 'I' then 'Pend. de verificar'
when led_docs.estado_doc = 'R' then 'Rechazado'
when led_docs.estado_doc = 'V' then 'Verificado'
end as nombre_estado,
CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>'
END AS icono_full,
convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia,
convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia,
convert(varchar,led_docs.ingresado, 103) as ingresado,
led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
padrones_c.identificador as identificador_c,
padrones_c.numero as numero_c,
padrones_c.identificacion as identificacion_c,
convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix,
/* Para saber si es próximo a vencer hay que ver si depende del padre o es individual de recurso empleado */
IIF(led_docs.doc_id_lista IS NULL,
iif(led_docs.estado_doc = 'V' AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_empleado.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1,
-- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
iif (led_docs.doc_version > 0 AND
led_docs.estado_doc IN ('I','R') AND
led_docs_aux.estado_doc IN ('I','R') AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_empleado.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)
) ,
-- Depende del padre
iif(padre.estado_doc = 'V' AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_empleado.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1,
-- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
iif (padre.doc_version > 0 AND
padre.estado_doc IN ('I','R') AND
padre_aux.estado_doc IN ('I','R') AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_empleado.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)
)
) AS prox_vencer,
padre.doc_id as doc_id_padre, padre.doc_version as doc_version_padre, padre.estado_doc as estado_doc_padre
from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_empleados on led_docs.empleado = led_empleados.empleado
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_empleados_periodo on (led_empleados.empleado = led_empleados_periodo.empleado
and led_docs.periodo = led_empleados_periodo.periodo)
inner join led_contratistas on led_empleados.contratista = led_contratistas.contratista
inner join padrones on led_empleados.id_padron = padrones.id_padron
inner join padrones padrones_c on led_contratistas.id_padron = padrones_c.id_padron
left outer join led_docs_aux on (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
left outer join led_docs padre on (led_docs.doc_id_lista = padre.tipo_doc AND led_docs.periodo = padre.periodo AND led_docs.contratista = padre.contratista)
left outer join led_cliente_contratista lcc on (padre.cliente = lcc.cliente AND led_contratistas.tipo_contratista = lcc.tipo_contratista AND padre.tipo_doc = lcc.tipo_doc)
left outer join led_docs_aux padre_aux on (padre.doc_id = padre_aux.doc_id AND padre.doc_version = padre_aux.doc_version)
where led_docs.empleado = @p_empleado
and led_docs.periodo = @p_periodo
order by led_tipos_doc.nombre_tipo_doc
else
select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
led_empleados.id_padron, padrones.nombre_persona, padrones.identificador,
padrones.numero, padrones.identificacion, led_docs.texto_rechazo,
led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
case
when led_docs.estado_doc = 'N' then 'No ingresado'
when led_docs.estado_doc = 'I' then 'Pend. de verificar'
when led_docs.estado_doc = 'R' then 'Rechazado'
when led_docs.estado_doc = 'V' then 'Verificado'
end as nombre_estado,
CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>'
END AS icono_full,
convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia,
convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia,
convert(varchar,led_docs.ingresado, 103) as ingresado,
led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
padrones_c.identificador as identificador_c,
padrones_c.numero as numero_c,
padrones_c.identificacion as identificacion_c,
convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix
from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_empleados on led_docs.empleado = led_empleados.empleado
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_empleados_periodo on (led_empleados.empleado = led_empleados_periodo.empleado
and led_docs.periodo = led_empleados_periodo.periodo)
inner join led_contratistas on led_empleados.contratista = led_contratistas.contratista
inner join padrones on led_empleados.id_padron = padrones.id_padron
inner join padrones padrones_c on led_contratistas.id_padron = padrones_c.id_padron
where led_docs.empleado = @p_empleado
and led_docs.periodo = @p_periodo
and led_docs.doc_id_lista IS NULL
order by led_tipos_doc.nombre_tipo_doc
end
else if (@p_vehiculo is not null) begin
if (@p_excluir_hijos = 0)
select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
led_vehiculos.dominio, led_docs.texto_rechazo,
led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
case
when led_docs.estado_doc = 'N' then 'No ingresado'
when led_docs.estado_doc = 'I' then 'Pend. de verificar'
when led_docs.estado_doc = 'R' then 'Rechazado'
when led_docs.estado_doc = 'V' then 'Verificado'
end as nombre_estado,
CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>'
END AS icono_full,
convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia,
convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia,
convert(varchar,led_docs.ingresado, 103) as ingresado,
led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
padrones_c.identificador as identificador_c,
padrones_c.numero as numero_c,
padrones_c.identificacion as identificacion_c,
convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix,
/* Para saber si es próximo a vencer hay que ver si depende del padre o es individual de recurso empleado */
IIF(led_docs.doc_id_lista IS NULL,
iif(led_docs.estado_doc = 'V' AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_vehiculo.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1,
-- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
iif (led_docs.doc_version > 0 AND
led_docs.estado_doc IN ('I','R') AND
led_docs_aux.estado_doc IN ('I','R') AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_vehiculo.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)
) ,
-- Depende del padre
iif(padre.estado_doc = 'V' AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_vehiculo.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1,
-- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
iif (padre.doc_version > 0 AND
padre.estado_doc IN ('I','R') AND
padre_aux.estado_doc IN ('I','R') AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_vehiculo.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)
)
) AS prox_vencer,
padre.doc_id as doc_id_padre, padre.doc_version as doc_version_padre, padre.estado_doc as estado_doc_padre
from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join clientes on led_docs.cliente = clientes.cliente
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_vehiculos_periodo on (led_vehiculos.vehiculo = led_vehiculos_periodo.vehiculo
and led_docs.periodo = led_vehiculos_periodo.periodo)
inner join led_contratistas on led_vehiculos.contratista = led_contratistas.contratista
inner join padrones padrones_c on led_contratistas.id_padron = padrones_c.id_padron
left outer join led_docs_aux on (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
left outer join led_docs padre on (led_docs.doc_id_lista = padre.tipo_doc AND led_docs.periodo = padre.periodo AND led_docs.contratista = padre.contratista)
left outer join led_cliente_contratista lcc on (padre.cliente = lcc.cliente AND led_contratistas.tipo_contratista = lcc.tipo_contratista AND padre.tipo_doc = lcc.tipo_doc)
left outer join led_docs_aux padre_aux on (padre.doc_id = padre_aux.doc_id AND padre.doc_version = padre_aux.doc_version)
where led_docs.vehiculo = @p_vehiculo
and led_docs.periodo = @p_periodo
order by led_tipos_doc.nombre_tipo_doc
else
select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
led_vehiculos.dominio, led_docs.texto_rechazo,
led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
case
when led_docs.estado_doc = 'N' then 'No ingresado'
when led_docs.estado_doc = 'I' then 'Pend. de verificar'
when led_docs.estado_doc = 'R' then 'Rechazado'
when led_docs.estado_doc = 'V' then 'Verificado'
end as nombre_estado,
CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>'
END AS icono_full,
convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia,
convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia,
convert(varchar,led_docs.ingresado, 103) as ingresado,
led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
padrones_c.identificador as identificador_c,
padrones_c.numero as numero_c,
padrones_c.identificacion as identificacion_c,
convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix
from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join clientes on led_docs.cliente = clientes.cliente
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_vehiculos_periodo on (led_vehiculos.vehiculo = led_vehiculos_periodo.vehiculo
and led_docs.periodo = led_vehiculos_periodo.periodo)
inner join led_contratistas on led_vehiculos.contratista = led_contratistas.contratista
inner join padrones padrones_c on led_contratistas.id_padron = padrones_c.id_padron
where led_docs.vehiculo = @p_vehiculo
and led_docs.periodo = @p_periodo
and led_docs.doc_id_lista IS NULL
order by led_tipos_doc.nombre_tipo_doc
end
else if (@p_subcontratista is not null) begin
select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
led_contratistas.id_padron, padrones.nombre_persona, padrones.identificador,
padrones.numero, padrones.identificacion, led_docs.texto_rechazo,
led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
case
when led_docs.estado_doc = 'N' then 'No ingresado'
when led_docs.estado_doc = 'I' then 'Pend. de verificar'
when led_docs.estado_doc = 'R' then 'Rechazado'
when led_docs.estado_doc = 'V' then 'Verificado'
end as nombre_estado,
CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>'
END AS icono_full,
convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia,
convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia,
convert(varchar,led_docs.ingresado, 103) as ingresado,
led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix,
iif(led_docs.estado_doc = 'V' AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_contratista.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1,
-- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
iif (led_docs.doc_version > 0 AND
led_docs.estado_doc IN ('I','R') AND
led_docs_aux.estado_doc IN ('I','R') AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_contratista.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)
) AS prox_vencer
from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
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_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join padrones on led_contratistas.id_padron = padrones.id_padron
LEFT OUTER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
where led_docs.contratista = @p_subcontratista
and led_docs.periodo = @p_periodo
order by led_tipos_doc.nombre_tipo_doc
end
end
END
GO
GO
-- =============================================
-- Author: LUIS PRENAFETA
-- Create date: 27/05/2020
/*
exec imperium_documentos_recurso 202005,59284
exec imperium_documentos_recurso 202005,null,5152
exec imperium_documentos_recurso 202212,null,null,9308
*/
-- Description: PARA TRAER UNA LISTA DE DOCUMENTOS DE UN RECURSO EN PARTICULAR (EMPLEADO, VEHICULO O SUBCONTRATISTA) EN UN PERIODO
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Documentos_Recurso
-- Add the parameters for the stored procedure here
@p_periodo int = null,
@p_empleado int = null,
@p_vehiculo int = null,
@p_subcontratista int = null,
@p_excluir_hijos tinyint = 0 --- pasar en 1 para ignorar docs con doc_id_lista != NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
if (@p_periodo > 0) begin
if (@p_empleado is not null) begin
if (@p_excluir_hijos = 0)
select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
led_empleados.id_padron, padrones.nombre_persona, padrones.identificador,
padrones.numero, padrones.identificacion, led_docs.texto_rechazo,
led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
case
when led_docs.estado_doc = 'N' then 'No ingresado'
when led_docs.estado_doc = 'I' then 'Pend. de verificar'
when led_docs.estado_doc = 'R' then 'Rechazado'
when led_docs.estado_doc = 'V' then 'Verificado'
end as nombre_estado,
CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>'
END AS icono_full,
convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia,
convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia,
convert(varchar,led_docs.ingresado, 103) as ingresado,
led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
padrones_c.identificador as identificador_c,
padrones_c.numero as numero_c,
padrones_c.identificacion as identificacion_c,
convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix,
/* Para saber si es próximo a vencer hay que ver si depende del padre o es individual de recurso empleado */
IIF(led_docs.doc_id_lista IS NULL,
iif(led_docs.estado_doc = 'V' AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_empleado.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1,
-- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
iif (led_docs.doc_version > 0 AND
led_docs.estado_doc IN ('I','R') AND
led_docs_aux.estado_doc IN ('I','R') AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_empleado.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)
) ,
-- Depende del padre
iif(padre.estado_doc = 'V' AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_empleado.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1,
-- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
iif (padre.doc_version > 0 AND
padre.estado_doc IN ('I','R') AND
padre_aux.estado_doc IN ('I','R') AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_empleado.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)
)
) AS prox_vencer,
padre.doc_id as doc_id_padre, padre.doc_version as doc_version_padre, padre.estado_doc as estado_doc_padre
from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_empleados on led_docs.empleado = led_empleados.empleado
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_empleados_periodo on (led_empleados.empleado = led_empleados_periodo.empleado
and led_docs.periodo = led_empleados_periodo.periodo)
inner join led_contratistas on led_empleados.contratista = led_contratistas.contratista
inner join padrones on led_empleados.id_padron = padrones.id_padron
inner join padrones padrones_c on led_contratistas.id_padron = padrones_c.id_padron
left outer join led_docs_aux on (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
left outer join led_docs padre on (led_docs.doc_id_lista = padre.tipo_doc AND led_docs.periodo = padre.periodo AND led_docs.contratista = padre.contratista)
left outer join led_cliente_contratista lcc on (padre.cliente = lcc.cliente AND led_contratistas.tipo_contratista = lcc.tipo_contratista AND padre.tipo_doc = lcc.tipo_doc)
left outer join led_docs_aux padre_aux on (padre.doc_id = padre_aux.doc_id AND padre.doc_version = padre_aux.doc_version)
where led_docs.empleado = @p_empleado
and led_docs.periodo = @p_periodo
order by led_tipos_doc.nombre_tipo_doc
else
select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
led_empleados.id_padron, padrones.nombre_persona, padrones.identificador,
padrones.numero, padrones.identificacion, led_docs.texto_rechazo,
led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
case
when led_docs.estado_doc = 'N' then 'No ingresado'
when led_docs.estado_doc = 'I' then 'Pend. de verificar'
when led_docs.estado_doc = 'R' then 'Rechazado'
when led_docs.estado_doc = 'V' then 'Verificado'
end as nombre_estado,
CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>'
END AS icono_full,
convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia,
convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia,
convert(varchar,led_docs.ingresado, 103) as ingresado,
led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
padrones_c.identificador as identificador_c,
padrones_c.numero as numero_c,
padrones_c.identificacion as identificacion_c,
convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix
from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_empleados on led_docs.empleado = led_empleados.empleado
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_empleados_periodo on (led_empleados.empleado = led_empleados_periodo.empleado
and led_docs.periodo = led_empleados_periodo.periodo)
inner join led_contratistas on led_empleados.contratista = led_contratistas.contratista
inner join padrones on led_empleados.id_padron = padrones.id_padron
inner join padrones padrones_c on led_contratistas.id_padron = padrones_c.id_padron
where led_docs.empleado = @p_empleado
and led_docs.periodo = @p_periodo
and led_docs.doc_id_lista IS NULL
order by led_tipos_doc.nombre_tipo_doc
end
else if (@p_vehiculo is not null) begin
if (@p_excluir_hijos = 0)
select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
led_vehiculos.dominio, led_docs.texto_rechazo,
led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
case
when led_docs.estado_doc = 'N' then 'No ingresado'
when led_docs.estado_doc = 'I' then 'Pend. de verificar'
when led_docs.estado_doc = 'R' then 'Rechazado'
when led_docs.estado_doc = 'V' then 'Verificado'
end as nombre_estado,
CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>'
END AS icono_full,
convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia,
convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia,
convert(varchar,led_docs.ingresado, 103) as ingresado,
led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
padrones_c.identificador as identificador_c,
padrones_c.numero as numero_c,
padrones_c.identificacion as identificacion_c,
convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix,
/* Para saber si es próximo a vencer hay que ver si depende del padre o es individual de recurso empleado */
IIF(led_docs.doc_id_lista IS NULL,
iif(led_docs.estado_doc = 'V' AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_vehiculo.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1,
-- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
iif (led_docs.doc_version > 0 AND
led_docs.estado_doc IN ('I','R') AND
led_docs_aux.estado_doc IN ('I','R') AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_vehiculo.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)
) ,
-- Depende del padre
iif(padre.estado_doc = 'V' AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_vehiculo.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1,
-- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
iif (padre.doc_version > 0 AND
padre.estado_doc IN ('I','R') AND
padre_aux.estado_doc IN ('I','R') AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_vehiculo.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)
)
) AS prox_vencer,
padre.doc_id as doc_id_padre, padre.doc_version as doc_version_padre, padre.estado_doc as estado_doc_padre
from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join clientes on led_docs.cliente = clientes.cliente
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_vehiculos_periodo on (led_vehiculos.vehiculo = led_vehiculos_periodo.vehiculo
and led_docs.periodo = led_vehiculos_periodo.periodo)
inner join led_contratistas on led_vehiculos.contratista = led_contratistas.contratista
inner join padrones padrones_c on led_contratistas.id_padron = padrones_c.id_padron
left outer join led_docs_aux on (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
left outer join led_docs padre on (led_docs.doc_id_lista = padre.tipo_doc AND led_docs.periodo = padre.periodo AND led_docs.contratista = padre.contratista)
left outer join led_cliente_contratista lcc on (padre.cliente = lcc.cliente AND led_contratistas.tipo_contratista = lcc.tipo_contratista AND padre.tipo_doc = lcc.tipo_doc)
left outer join led_docs_aux padre_aux on (padre.doc_id = padre_aux.doc_id AND padre.doc_version = padre_aux.doc_version)
where led_docs.vehiculo = @p_vehiculo
and led_docs.periodo = @p_periodo
order by led_tipos_doc.nombre_tipo_doc
else
select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
led_vehiculos.dominio, led_docs.texto_rechazo,
led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
case
when led_docs.estado_doc = 'N' then 'No ingresado'
when led_docs.estado_doc = 'I' then 'Pend. de verificar'
when led_docs.estado_doc = 'R' then 'Rechazado'
when led_docs.estado_doc = 'V' then 'Verificado'
end as nombre_estado,
CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>'
END AS icono_full,
convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia,
convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia,
convert(varchar,led_docs.ingresado, 103) as ingresado,
led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
padrones_c.identificador as identificador_c,
padrones_c.numero as numero_c,
padrones_c.identificacion as identificacion_c,
convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix
from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join clientes on led_docs.cliente = clientes.cliente
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_vehiculos_periodo on (led_vehiculos.vehiculo = led_vehiculos_periodo.vehiculo
and led_docs.periodo = led_vehiculos_periodo.periodo)
inner join led_contratistas on led_vehiculos.contratista = led_contratistas.contratista
inner join padrones padrones_c on led_contratistas.id_padron = padrones_c.id_padron
where led_docs.vehiculo = @p_vehiculo
and led_docs.periodo = @p_periodo
and led_docs.doc_id_lista IS NULL
order by led_tipos_doc.nombre_tipo_doc
end
else if (@p_subcontratista is not null) begin
select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
led_contratistas.id_padron, padrones.nombre_persona, padrones.identificador,
padrones.numero, padrones.identificacion, led_docs.texto_rechazo,
led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
case
when led_docs.estado_doc = 'N' then 'No ingresado'
when led_docs.estado_doc = 'I' then 'Pend. de verificar'
when led_docs.estado_doc = 'R' then 'Rechazado'
when led_docs.estado_doc = 'V' then 'Verificado'
end as nombre_estado,
CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>'
END AS icono_full,
convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia,
convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia,
convert(varchar,led_docs.ingresado, 103) as ingresado,
led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix,
iif(led_docs.estado_doc = 'V' AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_contratista.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1,
-- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
iif (led_docs.doc_version > 0 AND
led_docs.estado_doc IN ('I','R') AND
led_docs_aux.estado_doc IN ('I','R') AND
led_tipos_doc.modalidad = 'A' AND
led_docs.periodo = dbo.PeriodoAdelantado() AND
ISNULL(led_cliente_contratista.ci_killer, 0) > 0 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)
) AS prox_vencer
from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join clientes on led_docs.cliente = clientes.cliente
inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
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_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join padrones on led_contratistas.id_padron = padrones.id_padron
LEFT OUTER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
where led_docs.contratista = @p_subcontratista
and led_docs.periodo = @p_periodo
order by led_tipos_doc.nombre_tipo_doc
end
end
END
GO
Depends On
15- dbo.PeriodoAdelantado
- dbo.clientes
- dbo.led_cliente_contratista
- dbo.led_cliente_empleado
- dbo.led_cliente_vehiculo
- dbo.led_contratistas
- dbo.led_docs
- dbo.led_docs_aux
- dbo.led_empleados
- dbo.led_empleados_periodo
- dbo.led_subcontratista_periodo
- dbo.led_tipos_doc
- dbo.led_vehiculos
- dbo.led_vehiculos_periodo
- dbo.padrones
Used By
No items found