dbo.Imperium_Freeze_Mes_Acceso

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

1
Name Data Type Length Description
@cliente int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

/*

exec Imperium_Freeze_Mes_Acceso 7048064

select * from imperiumfreeze2018 where anio = '2024' and mes = '07'
-- DELETE imperiumfreeze2018 where anio = '2023' and mes = '05'
select * from LN_contraparte_indicadores_historico where periodo=202307

-- DELETE LN_contraparte_indicadores_historico where periodo=202304


*/


CREATE OR ALTER PROCEDURE  dbo.Imperium_Freeze_Mes_Acceso
@cliente int
AS

BEGIN
 SET NOCOUNT ON;

DECLARE @ERRORNUMBER SMALLINT 
DECLARE @cuit varchar(11)
DECLARE @periodo_desde INT
DECLARE @periodo_hasta INT
DECLARE @estadoV SMALLINT
DECLARE @estadoY SMALLINT
DECLARE @estadoR SMALLINT
DECLARE @estadoA SMALLINT




/* FREEZE DE PANEL DE IMPERIUM PAE HISTORICO */
/* 
select * from LN_contraparte_indicadores_historico where periodo=202201
---- delete LN_contraparte_indicadores_historico where periodo = 202111

*/

insert into LN_contraparte_indicadores_historico (    contraparte, gestion, indicador, valor_numerico, valor_texto, created, created_by, modified, modified_by, valor_memo, valor_fecha, visible, balance_preexiste, familia,periodo) 
SELECT        contraparte, gestion, indicador, valor_numerico, valor_texto, created, created_by, modified, modified_by, valor_memo, valor_fecha, visible, balance_preexiste, familia, dbo.PeriodoVencido() AS periodo
FROM            LN_contraparte_indicadores
WHERE        (contraparte IN
                             (SELECT DISTINCT contraparte
                               FROM            LN_contrapartes
                               WHERE        (cliente = 2046807993) AND (servicio_contratado = 73)))






set @periodo_desde = dbo.PeriodoAdelantado()
set @periodo_hasta = dbo.PeriodoAdelantado()

/*
set @periodo_desde = 202112
set @periodo_hasta = 202112
*/



/*


ALTER TABLE imperiumfreeze2018 ADD RESUMEN VARCHAR(20)
ALTER TABLE imperiumfreeze2018 ADD created datetime default(getdate())
ALTER TABLE imperiumfreeze2018 ADD rojo smallint not null default(0)
ALTER TABLE imperiumfreeze2018 ADD amarillo smallint not null default(0)
ALTER TABLE imperiumfreeze2018 ADD verde smallint not null default(0)
ALTER TABLE imperiumfreeze2018 ADD azul smallint not null default(0)

select padrones.nombre_persona,LED_LOG.contratista,LED_LOG.descripcion_log,led_log.horario_log,users.username 
from led_log 
inner join led_contratistas on led_log.contratista = led_contratistas.contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join users on led_log.user_id = users.user_id 
where led_log.cliente = 7048064 and horario_log between '2018-06-01 00:00:00.000' and '2018-07-01 00:00:00.000' and tipo_log in ('B','D')
/*
AND LED_LOG.contratista = 3522
*/

order by horario_log asc,padrones.nombre_persona asc





select DISTINCT ESTADO from imperiumfreeze2018

select * from imperiumfreeze2018 where rechazado_por = 15342812 and pendiente_verificar = 'NO'

select distinct pendiente_verificar from imperiumfreeze2018

 
select  * from imperiumfreeze2018 where mes='07'

*/





/*
use fidelitas
go


DECLARE @cliente int = 7048064
DECLARE @periodo_desde int = 201906
DECLARE @periodo_hasta int = 201906

insert into imperium_freeze_rpb
exec Imperium_reporte_semanal_LUIS @cliente,@periodo_desde,@periodo_hasta

*/




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)

tru---ncate table imperiumfreeze2018

*/



insert into imperiumfreeze2018 (contratista,contratista1,CLIENTE,ACTIVIDAD,RAZON_SOCIAL,CUIT,estado_CONTRATISTA,nombre_tipo_doc,SECCION,ANIO,MES,RECURSO,CUIT_EMPLEADO,ESTADO,
CONSULTA_DESDE,CONSULTA_HASTA,PERIODO_VIGENTE,PENDIENTE_VERIFICAR,color,doc_id,rechazado,rechazado_por,texto_rechazo)

SELECT led_docs.contratista, led_docs.contratista_1 as contratista1,nombre_cliente AS CLIENTE, 
led_tipos_contratista.nombre_tipo_contratista as ACTIVIDAD,
padrones.nombre_persona AS RAZON_SOCIAL, padrones.numero AS CUIT,led_contratistas.estado_CONTRATISTA ,
led_tipos_doc.nombre_tipo_doc, 

    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,

ESTADO = CASE led_docs.estado_doc   
     WHEN 'N' THEN 'PENDIENTE DE ENVIO'
  WHEN 'R' THEN 'RECHAZADO'
  WHEN 'V' THEN 'VERIFICADO'
  WHEN 'I' THEN 'PENDIENTE DE VERIFICAR FIDELITAS'
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 color,led_docs.doc_id,led_docs.rechazado,led_docs.rechazado_por,convert(varchar(512),led_docs.texto_rechazo) as texto_rechazo
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 on led_docs.contratista = led_contratistas.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join 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)



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_tipos_doc.tipo_doc_lista IS NULL
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('V','I','N','R')
/*
AND led_contratistas.estado_CONTRATISTA = 'A'
*/

AND led_tipos_doc.modalidad='A'

UNION ALL


SELECT led_docs.contratista, led_docs.contratista_1 as contratista1,clientes.nombre_cliente AS CLIENTE, 
led_tipos_contratista.nombre_tipo_contratista as ACTIVIDAD,
padrones.nombre_persona AS RAZON_SOCIAL, padrones.numero AS CUIT,led_contratistas.estado_CONTRATISTA ,
led_tipos_doc.nombre_tipo_doc, 

    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,

ESTADO = CASE led_docs.estado_doc   
     WHEN 'N' THEN 'PENDIENTE DE ENVIO'
  WHEN 'R' THEN 'RECHAZADO'
  WHEN 'V' THEN 'VERIFICADO'
  WHEN 'I' THEN 'PENDIENTE DE VERIFICAR FIDELITAS'
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 color,led_docs.doc_id,led_docs.rechazado,led_docs.rechazado_por,convert(varchar(512),led_docs.texto_rechazo) as texto_rechazo
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 on led_docs.contratista = led_contratistas.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join 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_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_tipos_doc.tipo_doc_lista IS NULL
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('V','I','N','R')
/*
AND led_contratistas.estado_CONTRATISTA = 'A'
*/

AND led_tipos_doc.modalidad='A'
UNION ALL


SELECT led_docs.contratista, led_docs.contratista_1 as contratista1,clientes.nombre_cliente AS CLIENTE, 
led_tipos_contratista.nombre_tipo_contratista as ACTIVIDAD,
padrones.nombre_persona AS RAZON_SOCIAL, padrones.numero AS CUIT,led_contratistas.estado_CONTRATISTA ,
led_tipos_doc.nombre_tipo_doc, 

    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,

ESTADO = CASE led_docs.estado_doc   
     WHEN 'N' THEN 'PENDIENTE DE ENVIO'
  WHEN 'R' THEN 'RECHAZADO'
  WHEN 'V' THEN 'VERIFICADO'
  WHEN 'I' THEN 'PENDIENTE DE VERIFICAR FIDELITAS'
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 color,led_docs.doc_id,led_docs.rechazado,led_docs.rechazado_por,convert(varchar(512),led_docs.texto_rechazo) as texto_rechazo
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 on led_docs.contratista = led_contratistas.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join 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_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_tipos_doc.tipo_doc_lista IS NULL
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('V','I','N','R')
/*
AND led_contratistas.estado_CONTRATISTA = 'A'
*/

AND led_tipos_doc.modalidad='A'
ORDER BY cliente asc, razon_social asc , led_tipos_doc.nombre_tipo_doc asc, anio, mes asc, recurso asc




update imperiumfreeze2018 set estado = 'RECHAZADO AUTOMATICAMENTE' where rechazado_por = 15342812 and pendiente_verificar = 'NO' and estado='RECHAZADO'
update imperiumfreeze2018 set RESUMEN = 'VERDE' where estado='VERIFICADO'
update imperiumfreeze2018 set RESUMEN = 'ROJO' where estado='RECHAZADO AUTOMATICAMENTE'
update imperiumfreeze2018 set RESUMEN = 'ROJO' where estado='PENDIENTE DE ENVIO'
update imperiumfreeze2018 set RESUMEN = 'AMARILLO' where estado='RECHAZADO'
update imperiumfreeze2018 set RESUMEN = 'AMARILLO' where estado='PENDIENTE DE VERIFICAR FIDELITAS'








  /*HAGO EL CALCULO FINAL*/


  DECLARE LedFreezeAcceso Cursor
  FOR
   
   select distinct cuit from imperiumfreeze2018
   
 
  Open LedFreezeAcceso

  Fetch NEXT FROM LedFreezeAcceso INTO @cuit

  While @@FETCH_STATUS = 0
  BEGIN


  BEGIN TRY
   /*
    select @cuit,@estadoV,@estadoY,@estadoR,@estadoA
    */

   select @estadoV = (SELECT count(*) from imperiumfreeze2018 WHERE CUIT = @cuit AND resumen = 'VERDE'),
   @estadoY = (SELECT count(*) from imperiumfreeze2018 WHERE CUIT = @cuit AND resumen = 'AMARILLO'),
   @estadoR = (SELECT count(*) from imperiumfreeze2018 WHERE CUIT = @cuit AND resumen = 'ROJO'),
   @estadoA = (SELECT count(*) from imperiumfreeze2018 WHERE CUIT = @cuit AND resumen = 'AZUL')


   if (@estadoV > 0 AND @estadoY = 0 AND @estadoR = 0)
   BEGIN
    update imperiumfreeze2018 set color = 'VERDE',verde=@estadoV,amarillo=@estadoY,rojo=@estadoR,azul=@estadoA where cuit = @cuit
   END

   if (@estadoY > 0)
   BEGIN
    update imperiumfreeze2018 set color = 'AMARILLO',verde=@estadoV,amarillo=@estadoY,rojo=@estadoR,azul=@estadoA where cuit = @cuit
   END

   if (@estadoV = 0 AND @estadoY = 0 AND @estadoR > 0)
   BEGIN
    update imperiumfreeze2018 set color = 'ROJO',verde=@estadoV,amarillo=@estadoY,rojo=@estadoR,azul=@estadoA where cuit = @cuit
   END

   if (@estadoV > 0 AND @estadoR > 0)
   BEGIN
    update imperiumfreeze2018 set color = 'AMARILLO',verde=@estadoV,amarillo=@estadoY,rojo=@estadoR,azul=@estadoA where cuit = @cuit
   END
   if (@estadoV > 0 AND @estadoY > 0)
   BEGIN
    update imperiumfreeze2018 set color = 'AMARILLO',verde=@estadoV,amarillo=@estadoY,rojo=@estadoR,azul=@estadoA where cuit = @cuit
   END
   if (@estadoR > 0 AND @estadoY > 0)
   BEGIN
    update imperiumfreeze2018 set color = 'AMARILLO',verde=@estadoV,amarillo=@estadoY,rojo=@estadoR,azul=@estadoA where cuit = @cuit
   END

  END TRY


  BEGIN CATCH

  SET @ERRORNUMBER = 1

  END CATCH

  Fetch NEXT FROM LedFreezeAcceso INTO @cuit

  END

  CLOSE LedFreezeAcceso
  DEALLOCATE LedFreezeAcceso



end
GO

Used By

No items found