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
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
Depends On
2Used By
10- dbo.Imperium_Apertura_Periodo_2018
- dbo.Imperium_Crea_Doc_Periodo_Nuevo
- dbo.Imperium_Regeneracion_Documentacion_11
- dbo.Imperium_Regeneracion_Documentacion_Adelantada
- dbo.Imperium_Regeneracion_Documentacion_Vencida
- dbo.Imperium_Regeneracion_DocumentacionXCliente
- dbo.Imperium_Regeneracion_Inicio_Mes
- dbo.Task_ImperiumPeriodicidades
- dbo.Task_InicioPeriodoMulti
- dbo.Task_StatusVencidoPeriodoAnterior