dbo.Imperium_vista_contratista_Doc_actual2

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

1
Name Data Type Length Description
@p_contratista_1 int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
/*

exec Imperium_vista_contratista_Doc_actual2 1288



*/





CREATE OR ALTER PROCEDURE dbo.Imperium_vista_contratista_Doc_actual2
 -- Add the parameters for the stored procedure here
 @p_contratista_1         int

AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here
 DECLARE @periodo_vencido INT = CONVERT(INT, CONVERT(VARCHAR(4),YEAR(DATEADD(MONTH,-1,GETDATE()))) + RIGHT('00' + CONVERT(VARCHAR(2),MONTH(DATEADD(MONTH,-1,GETDATE()))), 2))
 

 /* NO INGRESADA O RECHAZADA */
 select led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc, led_docs.cliente, led_docs.periodo,
   led_tipos_doc.nombre_tipo_doc, led_docs.fecha_tolerancia, led_docs.fecha_vigencia, led_docs.aprobacion_parcial,
   0 AS prox_vencer, led_tipos_doc.tipo_doc, 'C' AS led_seccion
 from led_docs
 inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
 inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
 inner join led_contratistas led_contratistas_1 on led_docs.contratista_1 = led_contratistas_1.contratista
 inner join clientes on led_contratistas.cliente = clientes.cliente
 inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
 inner join led_contratista_periodo on (led_contratistas.contratista = led_contratista_periodo.contratista
           and led_docs.periodo = led_contratista_periodo.periodo)
 inner join 
   (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
   from led_cliente_contratista lcc
   where lcc.requiere_upload = 1
   and lcc.activo = 1) CONFIG_TC
    ON (led_docs.cliente = CONFIG_TC.cliente 
     AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
     AND led_docs.tipo_doc = CONFIG_TC.tipo_doc) 

 where led_docs.estado_doc IN ('N', 'R')
 and led_docs.contratista_1 = @p_contratista_1
 and led_contratistas.contratista_1 = led_contratistas.contratista

 and led_docs.periodo = @periodo_vencido

 and led_contratistas.estado_contratista = 'A'
 and led_contratistas_1.estado_contratista = 'A'
 and clientes.estado_cliente = 'A'

 and led_docs.doc_id_lista IS NULL
 and led_tipos_doc.tipo_doc_lista IS NULL

 and led_contratista_multi.vigencia_desde <= GETDATE()
 and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
 and led_contratista_multi.activo = 1

 group by led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc, led_docs.cliente, led_docs.periodo,
   led_tipos_doc.nombre_tipo_doc, led_docs.fecha_tolerancia, led_docs.fecha_vigencia, led_docs.aprobacion_parcial,
   led_tipos_doc.tipo_doc


 UNION ALL

 /* APROBADA PARCIAL */
 select led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc, led_docs.cliente, led_docs.periodo,
   led_tipos_doc.nombre_tipo_doc, led_docs.fecha_tolerancia, led_docs.fecha_vigencia, led_docs.aprobacion_parcial,
   0 AS prox_vencer, led_tipos_doc.tipo_doc, 'C' AS led_seccion
 from led_docs
 inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
 inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
 inner join led_contratistas led_contratistas_1 on led_docs.contratista_1 = led_contratistas_1.contratista
 inner join clientes on led_contratistas.cliente = clientes.cliente
 inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
 inner join led_contratista_periodo on (led_contratistas.contratista = led_contratista_periodo.contratista
           and led_docs.periodo = led_contratista_periodo.periodo)
 inner join 
   (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
   from led_cliente_contratista lcc
   where lcc.requiere_upload = 1
   and lcc.activo = 1) CONFIG_TC
    ON (led_docs.cliente = CONFIG_TC.cliente 
     AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
     AND led_docs.tipo_doc = CONFIG_TC.tipo_doc) 

 where led_docs.estado_doc = 'I' AND led_docs.aprobacion_parcial = 1
 and led_docs.contratista_1 = @p_contratista_1
 and led_contratistas.contratista_1 = led_contratistas.contratista

 and led_docs.periodo = @periodo_vencido

 and led_contratistas.estado_contratista = 'A'
 and led_contratistas_1.estado_contratista = 'A'
 and clientes.estado_cliente = 'A'

 and led_docs.doc_id_lista IS NULL
 and led_tipos_doc.tipo_doc_lista IS NULL

 and led_contratista_multi.vigencia_desde <= GETDATE()
 and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
 and led_contratista_multi.activo = 1

 group by led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc, led_docs.cliente, led_docs.periodo,
   led_tipos_doc.nombre_tipo_doc, led_docs.fecha_tolerancia, led_docs.fecha_vigencia, led_docs.aprobacion_parcial,
   led_tipos_doc.tipo_doc



 UNION ALL

 /* Empleados */

 SELECT NULL AS doc_id, led_docs.contratista, led_docs.contratista_1, 'N,R' AS estado_doc, led_docs.cliente, led_docs.periodo,
 led_tipos_doc.nombre_tipo_doc, NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
 0 AS prox_vencer, led_tipos_doc.tipo_doc, 'E' AS led_seccion

 from led_docs inner join 

   (SELECT lce.tipo_doc
   FROM led_cliente_empleado lce
   INNER JOIN led_empleados le ON lce.cliente = le.cliente
   INNER JOIN led_empleado_multi lem ON
    (le.empleado = lem.empleado AND lce.tipo_empleado = lem.tipo_empleado)
   WHERE le.contratista_1 = @p_contratista_1
   AND lce.activo = 1
   AND lce.requiere_upload = 1
   AND lem.activo = 1
   GROUP BY lce.tipo_doc) tipo_doc_empleados on led_docs.tipo_doc = tipo_doc_empleados.tipo_doc

 
 inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
 inner join led_empleados_periodo on (led_docs.empleado = led_empleados_periodo.empleado
           and led_docs.periodo = led_empleados_periodo.periodo)

 where led_docs.contratista_1 = @p_contratista_1
 and led_docs.periodo = @periodo_vencido
 and led_docs.estado_doc IN ('N', 'R')
 and led_docs.doc_id_lista IS NULL

 GROUP BY led_docs.contratista, led_docs.contratista_1, led_docs.cliente, led_docs.periodo,
 led_tipos_doc.nombre_tipo_doc, led_tipos_doc.tipo_doc 


 UNION ALL


 /* VehĂ­culos */

 SELECT NULL AS doc_id, led_docs.contratista, led_docs.contratista_1, 'N,R' AS estado_doc, led_docs.cliente, led_docs.periodo,
 led_tipos_doc.nombre_tipo_doc, NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
 0 AS prox_vencer, led_tipos_doc.tipo_doc, 'V' AS led_seccion

 from led_docs inner join 

   (SELECT lcv.tipo_doc
   FROM led_cliente_vehiculo lcv
   INNER JOIN led_vehiculos lv ON lcv.cliente = lv.cliente
   WHERE lv.contratista_1 = @p_contratista_1
   AND lcv.activo = 1
   AND lcv.requiere_upload = 1
   GROUP BY lcv.tipo_doc) tipo_doc_vehiculos on led_docs.tipo_doc = tipo_doc_vehiculos.tipo_doc

 
 inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
 inner join led_vehiculos_periodo on (led_docs.vehiculo = led_vehiculos_periodo.vehiculo
           and led_docs.periodo = led_vehiculos_periodo.periodo)

 where led_docs.contratista_1 = @p_contratista_1
 and led_docs.periodo = @periodo_vencido
 and led_docs.estado_doc IN ('N', 'R')
 and led_docs.doc_id_lista IS NULL

 GROUP BY led_docs.contratista, led_docs.contratista_1, led_docs.cliente, led_docs.periodo,
 led_tipos_doc.nombre_tipo_doc, led_tipos_doc.tipo_doc 


 UNION ALL

 /* Subcontratistas */

 select led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc, led_docs.cliente, led_docs.periodo,
   led_tipos_doc.nombre_tipo_doc, led_docs.fecha_tolerancia, led_docs.fecha_vigencia, led_docs.aprobacion_parcial,
   0 AS prox_vencer, led_tipos_doc.tipo_doc, 'C' AS led_seccion
 from led_docs
 inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
 inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
 inner join led_contratistas led_contratistas_1 on led_docs.contratista_1 = led_contratistas_1.contratista
 inner join clientes on led_contratistas.cliente = clientes.cliente
 inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
 inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
           and led_docs.periodo = led_subcontratista_periodo.periodo)
 inner join 
   (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
   from led_cliente_contratista lcc
   where lcc.requiere_upload = 1
   and lcc.activo = 1) CONFIG_TC
    ON (led_docs.cliente = CONFIG_TC.cliente 
     AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
     AND led_docs.tipo_doc = CONFIG_TC.tipo_doc) 

 where led_docs.estado_doc IN ('N', 'R')
 and led_docs.contratista_1 = @p_contratista_1
 and led_contratistas.contratista_1 <> led_contratistas.contratista

 and led_docs.periodo = @periodo_vencido

 and led_contratistas.estado_contratista = 'A'
 and led_contratistas_1.estado_contratista = 'A'
 and clientes.estado_cliente = 'A'

 and led_docs.doc_id_lista IS NULL
 and led_tipos_doc.tipo_doc_lista IS NULL

 and led_contratista_multi.vigencia_desde <= GETDATE()
 and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
 and led_contratista_multi.activo = 1

 group by led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc, led_docs.cliente, led_docs.periodo,
   led_tipos_doc.nombre_tipo_doc, led_docs.fecha_tolerancia, led_docs.fecha_vigencia, led_docs.aprobacion_parcial,
   led_tipos_doc.tipo_doc


 UNION ALL


 /* Subcontratistas : APROBADA PARCIAL */
 select led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc, led_docs.cliente, led_docs.periodo,
   led_tipos_doc.nombre_tipo_doc, led_docs.fecha_tolerancia, led_docs.fecha_vigencia, led_docs.aprobacion_parcial,
   0 AS prox_vencer, led_tipos_doc.tipo_doc, 'C' AS led_seccion
 from led_docs
 inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
 inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
 inner join led_contratistas led_contratistas_1 on led_docs.contratista_1 = led_contratistas_1.contratista
 inner join clientes on led_contratistas.cliente = clientes.cliente
 inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
 inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
           and led_docs.periodo = led_subcontratista_periodo.periodo)
 inner join 
   (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
   from led_cliente_contratista lcc
   where lcc.requiere_upload = 1
   and lcc.activo = 1) CONFIG_TC
    ON (led_docs.cliente = CONFIG_TC.cliente 
     AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
     AND led_docs.tipo_doc = CONFIG_TC.tipo_doc) 

 where led_docs.estado_doc = 'I' AND led_docs.aprobacion_parcial = 1
 and led_docs.contratista_1 = @p_contratista_1
 and led_contratistas.contratista_1 <> led_contratistas.contratista

 and led_docs.periodo = @periodo_vencido

 and led_contratistas.estado_contratista = 'A'
 and led_contratistas_1.estado_contratista = 'A'
 and clientes.estado_cliente = 'A'

 and led_docs.doc_id_lista IS NULL
 and led_tipos_doc.tipo_doc_lista IS NULL

 and led_contratista_multi.vigencia_desde <= GETDATE()
 and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
 and led_contratista_multi.activo = 1

 group by led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc, led_docs.cliente, led_docs.periodo,
   led_tipos_doc.nombre_tipo_doc, led_docs.fecha_tolerancia, led_docs.fecha_vigencia, led_docs.aprobacion_parcial,
   led_tipos_doc.tipo_doc



 ORDER BY periodo, nombre_tipo_doc




END

GO

Used By

No items found