dbo.Imperium_Excel_documentacion_MP_PMLAS

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
/*

exec Imperium_Excel_documentacion_MP_PMLAS 9335603,201703,201706

*/

-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Excel_documentacion_MP_PMLAS
 -- Add the parameters for the stored procedure here
 @Cliente int,
 @periodo_desde int,
 @periodo_hasta int
 
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

 /*DECLARE @Cliente int = 9335603
  DECLARE @periodo_desde int = 201703
  DECLARE @periodo_hasta int = CONVERT( INT, CONVERT(VARCHAR(4),DATEPART(YEAR, GETDATE())) + RIGHT('00' + CONVERT(VARCHAR, DATEPART(MONTH, GETDATE())), 2) )*/

 DECLARE @estado_doc varchar(10) = 'N,I,R,V'


 SELECT padrones_1.nombre_persona AS CONTRATISTA, padrones_1.numero as CUIT_CONTRATISTA,
 SUBCONTRATISTA = CASE
  WHEN led_docs.contratista <> led_docs.contratista_1 THEN padrones.nombre_persona ELSE NULL END, 
 CUIT_SUBCONTRATISTA= CASE
  WHEN led_docs.contratista <> led_docs.contratista_1 THEN padrones.numero ELSE NULL END, 
 led_tipos_doc.nombre_tipo_doc as 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(led_docs.periodo,4) AS ANIO,
 right(led_docs.periodo,2) AS MES,

 NULL AS RECURSO, NULL AS IDENTIFICACION,

 ESTADO_DOCUMENTO = CASE led_docs.estado_doc   
   WHEN 'N' THEN 'PENDIENTE DE INGRESAR'
   WHEN 'R' THEN 'RECHAZADO'
   WHEN 'V' THEN 'VERIFICADO'
   WHEN 'I' THEN 'INGRESADO'
 END,
 
 
 CONVERT(VARCHAR(10),led_docs.ingresado, 103) as FECHA_INGRESADO, 
 CONVERT(VARCHAR(10),led_docs.verificado, 103) as FECHA_VERIFICADO, 
 CONVERT(VARCHAR(10),led_docs.rechazado, 103) as FECHA_RECHAZADO, 
 /*
  CAST(led_docs.ingresado AS date) as FECHA_INGRESADO, 
  CAST(led_docs.verificado AS date) as FECHA_VERIFICADO, 
  CAST(led_docs.rechazado AS date) as FECHA_RECHAZADO,
  */

 
 iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as DETALLE

 from led_contratistas 
 inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
 inner join clientes on led_contratistas.cliente = clientes.cliente

 inner join padrones on led_contratistas.id_padron = padrones.id_padron
 inner join identificadores on padrones.identificador = identificadores.identificador

 inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
 inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

 inner join led_docs on led_contratistas.contratista = led_docs.contratista
 inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

 inner join users on led_contratistas_1.user_id = users.user_id

 inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
 inner join 
   (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
   from led_cliente_contratista lcc
   where lcc.afecta_compliance = 1
   and 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.cliente = @Cliente
 and led_docs.periodo between @periodo_desde AND @periodo_hasta
 and led_docs.doc_id_lista is null
 and led_contratistas.estado_contratista = 'A'
 and led_docs.estado_doc in ('N','I','R','V')
 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 padrones_1.nombre_persona, padrones_1.numero,
 led_docs.contratista, led_docs.contratista_1, 
 padrones.nombre_persona, padrones.numero, 
 led_tipos_doc.nombre_tipo_doc, 
 led_docs.led_seccion, led_docs.periodo, led_docs.estado_doc,
 led_docs.ingresado, led_docs.verificado, led_docs.rechazado,
 led_docs.aprobacion_parcial


 UNION ALL


 SELECT padrones_1.nombre_persona AS CONTRATISTA, padrones_1.numero as CUIT_CONTRATISTA,
 SUBCONTRATISTA = CASE
  WHEN led_docs.contratista <> led_docs.contratista_1 THEN padrones.nombre_persona ELSE NULL END, 
 CUIT_SUBCONTRATISTA= CASE
  WHEN led_docs.contratista <> led_docs.contratista_1 THEN padrones.numero ELSE NULL END, 
 led_tipos_doc.nombre_tipo_doc as 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(led_docs.periodo,4) AS ANIO,
 right(led_docs.periodo,2) AS MES,

 RECURSO = padrones_e.nombre_persona,
 IDENTIFICACION = padrones_e.numero,

 ESTADO_DOCUMENTO = CASE led_docs.estado_doc   
   WHEN 'N' THEN 'PENDIENTE DE INGRESAR'
   WHEN 'R' THEN 'RECHAZADO'
   WHEN 'V' THEN 'VERIFICADO'
   WHEN 'I' THEN 'INGRESADO'
 END,

 CONVERT(VARCHAR(10),led_docs.ingresado, 103) as FECHA_INGRESADO, 
 CONVERT(VARCHAR(10),led_docs.verificado, 103) as FECHA_VERIFICADO, 
 CONVERT(VARCHAR(10),led_docs.rechazado, 103) as FECHA_RECHAZADO, 
/*

CAST(led_docs.ingresado AS date) as FECHA_INGRESADO, 
CAST(led_docs.verificado AS date) as FECHA_VERIFICADO, 
CAST(led_docs.rechazado AS date) as FECHA_RECHAZADO,
*/


 iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as DETALLE


 from led_contratistas 
 inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
 inner join clientes on led_contratistas.cliente = clientes.cliente

 inner join padrones on led_contratistas.id_padron = padrones.id_padron
 inner join identificadores on padrones.identificador = identificadores.identificador

 inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
 inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

 inner join led_docs on led_contratistas.contratista = led_docs.contratista
 inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

 inner join users on led_contratistas_1.user_id = users.user_id

 inner join led_empleados on (led_docs.empleado = led_empleados.empleado AND led_docs.contratista = led_empleados.contratista)

 inner join padrones padrones_e on led_empleados.id_padron = padrones_e.id_padron
 inner join identificadores identificadores_e on padrones_e.identificador = identificadores_e.identificador


 inner join led_empleado_multi on led_empleados.empleado = led_empleado_multi.empleado
 inner join 
   (select lce.cliente, lce.tipo_empleado, lce.tipo_doc
   from led_cliente_empleado lce
   where lce.afecta_compliance = 1
   and lce.requiere_upload = 1
   and lce.activo = 1) CONFIG_TE
    ON (led_docs.cliente = CONFIG_TE.cliente 
     AND led_empleado_multi.tipo_empleado = CONFIG_TE.tipo_empleado
     AND led_docs.tipo_doc = CONFIG_TE.tipo_doc)


 where led_docs.cliente = @Cliente
 and led_docs.periodo between @periodo_desde AND @periodo_hasta
 and led_docs.doc_id_lista is null
 and led_contratistas.estado_contratista = 'A'
 and led_docs.estado_doc in ('N','I','R','V')
 and led_tipos_doc.tipo_doc_lista IS NULL
 and led_empleado_multi.vigencia_desde <= GETDATE()
 and (led_empleado_multi.vigencia_hasta IS NULL OR led_empleado_multi.vigencia_hasta >= GETDATE())
 and led_empleado_multi.activo = 1


 group by padrones_1.nombre_persona, padrones_1.numero,
 led_docs.contratista, led_docs.contratista_1, 
 padrones.nombre_persona, padrones.numero, 
 led_tipos_doc.nombre_tipo_doc, 
 led_docs.led_seccion, led_docs.periodo, padrones_e.nombre_persona,
 padrones_e.numero, led_docs.estado_doc,
 led_docs.ingresado, led_docs.verificado, led_docs.rechazado,
 led_docs.aprobacion_parcial


 UNION ALL


 SELECT padrones_1.nombre_persona AS CONTRATISTA, padrones_1.numero as CUIT_CONTRATISTA,
 SUBCONTRATISTA = CASE
  WHEN led_docs.contratista <> led_docs.contratista_1 THEN padrones.nombre_persona ELSE NULL END, 
 CUIT_SUBCONTRATISTA= CASE
  WHEN led_docs.contratista <> led_docs.contratista_1 THEN padrones.numero ELSE NULL END, 
 led_tipos_doc.nombre_tipo_doc as 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(led_docs.periodo,4) AS ANIO,
 right(led_docs.periodo,2) AS MES,

  
 RECURSO = led_vehiculos.nombre_vehiculo,
 IDENTIFICACION = led_vehiculos.dominio,

 ESTADO_DOCUMENTO = CASE led_docs.estado_doc   
   WHEN 'N' THEN 'PENDIENTE DE INGRESAR'
   WHEN 'R' THEN 'RECHAZADO'
   WHEN 'V' THEN 'VERIFICADO'
   WHEN 'I' THEN 'INGRESADO'
 END,

 CONVERT(VARCHAR(10),led_docs.ingresado, 103) as FECHA_INGRESADO, 
 CONVERT(VARCHAR(10),led_docs.verificado, 103) as FECHA_VERIFICADO, 
 CONVERT(VARCHAR(10),led_docs.rechazado, 103) as FECHA_RECHAZADO, 

/*
CAST(led_docs.ingresado AS date) as FECHA_INGRESADO, 
CAST(led_docs.verificado AS date) as FECHA_VERIFICADO, 
CAST(led_docs.rechazado AS date) as FECHA_RECHAZADO,
*/


 iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as DETALLE



 from led_contratistas 
 inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
 inner join clientes on led_contratistas.cliente = clientes.cliente

 inner join padrones on led_contratistas.id_padron = padrones.id_padron
 inner join identificadores on padrones.identificador = identificadores.identificador

 inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
 inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

 inner join led_docs on led_contratistas.contratista = led_docs.contratista
 inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

 inner join users on led_contratistas_1.user_id = users.user_id

 inner join led_vehiculos on (led_docs.vehiculo = led_vehiculos.vehiculo AND led_docs.contratista = led_vehiculos.contratista)

 inner join 
   (select lcv.cliente, lcv.tipo_vehiculo, lcv.tipo_doc
   from led_cliente_vehiculo lcv
   where lcv.afecta_compliance = 1
   and lcv.requiere_upload = 1
   and lcv.activo = 1) CONFIG_TV
    ON (led_docs.cliente = CONFIG_TV.cliente 
     AND led_vehiculos.tipo_vehiculo = CONFIG_TV.tipo_vehiculo
     AND led_docs.tipo_doc = CONFIG_TV.tipo_doc)


 where led_docs.cliente = @Cliente
 and led_docs.periodo between @periodo_desde AND @periodo_hasta
 and led_docs.doc_id_lista is null
 and led_contratistas.estado_contratista = 'A'
 and led_docs.estado_doc in ('N','I','R','V')
 and led_tipos_doc.tipo_doc_lista IS NULL

 group by padrones_1.nombre_persona, padrones_1.numero,
 led_docs.contratista, led_docs.contratista_1, 
 padrones.nombre_persona, padrones.numero, 
 led_tipos_doc.nombre_tipo_doc, 
 led_docs.led_seccion, led_docs.periodo, led_vehiculos.nombre_vehiculo,
 led_vehiculos.dominio, led_docs.estado_doc,
 led_docs.ingresado, led_docs.verificado, led_docs.rechazado,
 led_docs.aprobacion_parcial


 ORDER BY CONTRATISTA, ANIO, MES, SECCION, led_tipos_doc.nombre_tipo_doc, RECURSO



    -- Insert statements for procedure here
 /*SELECT p1.nombre_persona AS CONTRATISTA, p1.numero as CUIT_CONTRATISTA,
  SUBCONTRATISTA = CASE
  WHEN d.contratista <> d.contratista_1 THEN p.nombre_persona ELSE NULL END, 
  CUIT_SUBCONTRATISTA= CASE
  WHEN d.contratista <> d.contratista_1 THEN p.numero ELSE NULL END, 
  t.nombre_tipo_doc as DOCUMENTO, 
 
  SECCION = CASE d.led_seccion
  WHEN 'C' THEN 'CONTRATISTAS'
  WHEN 'S' THEN 'SUB CONTRATISTAS'
  WHEN 'E' THEN 'EMPLEADOS'
  WHEN 'V' THEN 'VEHICULOS'
  END,
  left(d.periodo,4) AS ANIO,
  right(d.periodo,2) AS MES,
  RECURSO = CASE d.led_seccion
  WHEN 'E' THEN pe.nombre_persona
  WHEN 'V' THEN v.nombre_vehiculo
  ELSE NULL
  END,
  IDENTIFICACION = CASE d.led_seccion
  WHEN 'E' THEN pe.numero
  WHEN 'V' THEN v.dominio
  ELSE NULL
  END,
  ESTADO_DOCUMENTO = CASE d.estado_doc   
   WHEN 'N' THEN 'PENDIENTE DE INGRESAR'
   WHEN 'R' THEN 'RECHAZADO'
   WHEN 'V' THEN 'VERIFICADO'
   WHEN 'I' THEN 'INGRESADO'
  END,
 
  d.ingresado as FECHA_INGRESADO, d.verificado as FECHA_VERIFICADO, d.rechazado as FECHA_RECHAZADO,
 
  iif(d.aprobacion_parcial = 1 AND d.estado_doc = 'I','APROBACION PARCIAL','') as DETALLE
 
  FROM led_docs d 
  inner join led_tipos_doc t on d.tipo_doc = t.tipo_doc
  inner join led_contratistas c on d.contratista = c.contratista
  inner join led_contratistas c1 on c.contratista_1 = c1.contratista
  inner join padrones p on c.id_padron = p.id_padron
  inner join padrones p1 on c1.id_padron = p1.id_padron
 
  left outer join led_empleados e on d.empleado = e.empleado
  left outer join padrones pe on e.id_padron = pe.id_padron
 
  left outer join led_vehiculos v on d.vehiculo = v.vehiculo
 
  where d.cliente = @Cliente
  and d.periodo between @periodo_desde AND @periodo_hasta
  and d.doc_id_lista is null
  and c.estado_contratista = 'A'
  and d.estado_doc in ('N','I','R','V')
 
  ORDER BY p1.nombre_persona, d.periodo, d.led_seccion, t.nombre_tipo_doc, pe.nombre_persona*/




END

GO

Used By

No items found