dbo.Imperium_Crea_Periodocidades

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

4
Name Data Type Length Description
@periodoOriginal int 4
@periodoSig int 4
@LedSeccion varchar 2
@Modalidad varchar 1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

/*

DECLARE @nuevo INT = NULL
DECLARE @viejo INT = NULL
DECLARE @anterior INT = NULL

set @anterior = dbo.PeriodoMenosDos()
set @viejo = dbo.PeriodoVencido()
set @nuevo = dbo.PeriodoAdelantado()

--select @nuevo,@viejo,@anterior

exec Imperium_Crea_Periodocidades @viejo,@nuevo,'C','A'
exec Imperium_Crea_Periodocidades @viejo,@nuevo,'S','A'
exec Imperium_Crea_Periodocidades @viejo,@nuevo,'E','A'
exec Imperium_Crea_Periodocidades @viejo,@nuevo,'V','A'


exec Imperium_Crea_Periodocidades @anterior,@viejo,'C','V'
exec Imperium_Crea_Periodocidades @anterior,@viejo,'S','V'
exec Imperium_Crea_Periodocidades @anterior,@viejo,'E','V'
exec Imperium_Crea_Periodocidades @anterior,@viejo,'V','V'



*/


CREATE OR ALTER PROCEDURE  dbo.Imperium_Crea_Periodocidades
@periodoOriginal int,
@periodoSig int,
@LedSeccion varchar(2),
@Modalidad varchar(1)

AS

BEGIN
 SET NOCOUNT ON;

DECLARE @ERRORNUMBER SMALLINT 

DECLARE ImperiumDocs Cursor
FOR
/*
select * from ln_contrapartes where contraparte = 182850
select * from led_contratistas where contratista = 8046
select * from led_docs where doc_id = 4990150906
*/


select tipo_doc,estado_doc,led_seccion,cliente,contratista,empleado,vehiculo,getdate() as ingresado,ingresado_por,verificado,verificado_por,rechazado,rechazado_por,fecha_vigencia,texto_rechazo,
doc_log,@periodoSig as periodo,contratista_1,
grupo_doc,getdate() as insertado,fecha_tolerancia,compliance_doc,doc_id_lista,doc_id
 from led_docs where 
 tipo_doc in (
 select tipo_doc from led_tipos_doc where modalidad = @Modalidad 
)
and periodo = @periodoOriginal and estado_doc = 'V' 
and fecha_vigencia >  GETDATE() 
and led_seccion = @LedSeccion
/*
and cliente=1226057645
and led_docs.tipo_doc=346
*/

/*
and led_docs.tipo_doc=346
and led_docs.contratista=1986

and cliente=7048064

and led_docs.tipo_doc=460
*/


order by fecha_vigencia desc

Open ImperiumDocs

declare @tipo_doc int,@doc_id bigint
declare @estado_doc varchar(2),@led_seccion varchar(1),@cliente int ,@contratista int,@empleado int,@vehiculo int
declare @ingresado datetime,@ingresado_por int,@verificado datetime,@verificado_por int,@rechazado datetime,@rechazado_por int
declare @fecha_vigencia datetime, @texto_rechazo varchar(max),@doc_log varchar(max),@periodo int,@contratista_1 int
declare @grupo_doc int ,@insertado datetime,@fecha_tolerancia datetime,@compliance_doc varchar(1),@doc_id_lista int

Fetch NEXT FROM ImperiumDocs INTO @tipo_doc,@estado_doc,@led_seccion,@cliente,@contratista,@empleado,@vehiculo,@ingresado,@ingresado_por,@verificado,@verificado_por,@rechazado,@rechazado_por,@fecha_vigencia,@texto_rechazo,@doc_log,@periodo,@contratista_1,@grupo_doc,@insertado,@fecha_tolerancia,@compliance_doc,@doc_id_lista,@doc_id
While @@FETCH_STATUS =0
BEGIN
 BEGIN try
 /*
 
  insert into led_docs (tipo_doc,estado_doc,led_seccion,cliente,contratista,empleado,vehiculo,ingresado,ingresado_por,verificado,verificado_por,rechazado,rechazado_por,fecha_vigencia,texto_rechazo,doc_log,periodo,contratista_1,
  grupo_doc,insertado,fecha_tolerancia,compliance_doc,doc_id_lista)
  values (@tipo_doc,@estado_doc,@led_seccion,@cliente,@contratista,@empleado,@vehiculo,@ingresado,@ingresado_por,@verificado,@verificado_por,@rechazado,@rechazado_por,@fecha_vigencia,@texto_rechazo,'REPLICACION AUTOMATICA:' + @doc_log,@periodo,@contratista_1,@grupo_doc,@insertado,@fecha_tolerancia,@compliance_doc,@doc_id_lista)
  */


if (@led_seccion = 'C')
begin 
 update led_docs set ingresado_por = @ingresado_por,verificado = @verificado,estado_doc=@estado_doc,compliance_doc= @compliance_doc,
 verificado_por = @verificado_por,rechazado = @rechazado,rechazado_por = @rechazado_por,fecha_vigencia = @fecha_vigencia,texto_rechazo = @texto_rechazo,
 doc_log = 'PERIODICIDAD AUTOMATICA: ' + @doc_log,
 replicated_doc_id = @doc_id,last_modified=getdate()
 where tipo_doc = @tipo_doc and led_seccion= @led_seccion 
 and cliente = @cliente
 and contratista = @contratista
 and periodo = @periodoSig
 /*AND estado_doc  IN ('N','P','I')*/
 AND estado_doc  IN ('N','P')
end

if (@led_seccion = 'V')
begin 
 update led_docs set ingresado_por = @ingresado_por,verificado = @verificado,estado_doc=@estado_doc,compliance_doc= @compliance_doc,
 verificado_por = @verificado_por,rechazado = @rechazado,rechazado_por = @rechazado_por,fecha_vigencia = @fecha_vigencia,texto_rechazo = @texto_rechazo,doc_log = 'PERIODICIDAD AUTOMATICA: ' + @doc_log,
 replicated_doc_id = @doc_id,last_modified=getdate()
 where tipo_doc = @tipo_doc and led_seccion= @led_seccion 
 and cliente = @cliente
 and contratista = @contratista
 and vehiculo = @vehiculo
 and periodo = @periodoSig
 AND estado_doc  IN ('N','P')
end

if (@led_seccion = 'E')
begin 

 update led_docs set ingresado_por = @ingresado_por,verificado = @verificado,estado_doc=@estado_doc,compliance_doc= @compliance_doc,
 verificado_por = @verificado_por,rechazado = @rechazado,rechazado_por = @rechazado_por,fecha_vigencia = @fecha_vigencia,texto_rechazo = @texto_rechazo,doc_log = 'PERIODICIDAD AUTOMATICA: ' + @doc_log,
 replicated_doc_id = @doc_id,last_modified=getdate()
 where tipo_doc = @tipo_doc and led_seccion= @led_seccion 
 and cliente = @cliente
 and contratista = @contratista
 and empleado = @empleado
 and periodo = @periodoSig
 AND estado_doc  IN ('N','P')
end
/*
select @empleado,@vehiculo,@ingresado,@ingresado_por,@verificado,@verificado_por,@rechazado,@rechazado_por,@fecha_vigencia,@texto_rechazo,'REPLICACION AUTOMATICA:' + @doc_log,@periodo,@contratista_1,@grupo_doc,@insertado,@fecha_tolerancia,@compliance_doc,@doc_id_lista
*/

 end try
 begin catch

 select @tipo_doc AS tipo_doc,@estado_doc AS ESTADO_doc,
 @led_seccion as led_seccion,@cliente as cliente,@contratista as contratista,
 @empleado as empleado,@vehiculo as vehiculo,@ingresado as ingresado,@ingresado_por as ingresado_por,
 @verificado as verificado,@verificado_por as verificado_por,@rechazado as rechazado,@rechazado_por as rechazado_por,
 @fecha_vigencia as fecha_vigencia,@texto_rechazo as texto_rechazo,
 'PERIODICIDAD AUTOMATICA: ' + @doc_log as doc_log,@periodo as periodo,@contratista_1 as contratista_1,
 @grupo_doc as grupo_doc,@insertado as insertado,@fecha_tolerancia as fecha_tolerancia,
 @compliance_doc as compliance_doc,@doc_id_lista as doc_id_lista,@doc_id as replicated_doc_id

/*
if (@led_seccion = 'C')
begin
update led_docs set estado_doc = @estado_doc,
INGRESADO = @ingresado,
INGRESADO_POR = @ingresado_por,
VERIFICADO = @verificado,
VERIFICADO_POR = @verificado_por,
RECHAZADO = @rechazado,
RECHAZADO_POR=@rechazado_por,
fecha_vigencia = @fecha_vigencia,
TEXTO_RECHAZO = @texto_rechazo,
compliance_doc = @compliance_doc,
doc_log = 'REPLICACION AUTOMATICA: ' + @doc_log,
replicated_doc_id = @doc_id,last_modified=getdate()
WHERE 
tipo_doc = @tipo_doc
and cliente = @cliente 
and contratista = @contratista
and empleado is null
and vehiculo is null
and periodo = @periodo 

end

if (@led_seccion = 'E')
begin
update led_docs set estado_doc = @estado_doc,
INGRESADO = @ingresado,
INGRESADO_POR = @ingresado_por,
VERIFICADO = @verificado,
VERIFICADO_POR = @verificado_por,
RECHAZADO = @rechazado,
RECHAZADO_POR=@rechazado_por,
fecha_vigencia = @fecha_vigencia,
TEXTO_RECHAZO = @texto_rechazo,
compliance_doc = @compliance_doc,
doc_log = 'REPLICACION AUTOMATICA: ' + @doc_log,
replicated_doc_id = @doc_id,last_modified=getdate()
WHERE 
tipo_doc = @tipo_doc
and cliente = @cliente 
and contratista = @contratista
and empleado = @empleado
and vehiculo is null
and periodo = @periodo 

end

if (@led_seccion = 'V')
begin
update led_docs set estado_doc = @estado_doc,
INGRESADO = @ingresado,
INGRESADO_POR = @ingresado_por,
VERIFICADO = @verificado,
VERIFICADO_POR = @verificado_por,
RECHAZADO = @rechazado,
RECHAZADO_POR=@rechazado_por,
fecha_vigencia = @fecha_vigencia,
TEXTO_RECHAZO = @texto_rechazo,
compliance_doc = @compliance_doc,
doc_log = 'REPLICACION AUTOMATICA: ' + @doc_log,
replicated_doc_id = @doc_id,last_modified=getdate()
WHERE 
tipo_doc = @tipo_doc
and cliente = @cliente 
and contratista = @contratista
and empleado is null
and vehiculo = @vehiculo
and periodo = @periodo 

end
*/

end catch


Fetch NEXT FROM ImperiumDocs INTO @tipo_doc,@estado_doc,@led_seccion,@cliente,@contratista,@empleado,@vehiculo,@ingresado,@ingresado_por,@verificado,@verificado_por,@rechazado,@rechazado_por,@fecha_vigencia,@texto_rechazo,@doc_log,@periodo,@contratista_1,@grupo_doc,@insertado,@fecha_tolerancia,@compliance_doc,@doc_id_lista,@doc_id


END

CLOSE ImperiumDocs
DEALLOCATE ImperiumDocs

END

GO