Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
EXEC Imperium_Racalcula_Compliance_Completo
*/
CREATE OR ALTER PROCEDURE dbo.Imperium_Racalcula_Compliance_Completo
AS
/*
@Cliente INT,
@Per INT
*/
BEGIN
SET NOCOUNT ON;
DECLARE @ERRORNUMBER SMALLINT
/*
declare @nuevo int = dbo.PeriodoAdelantado()
declare @viejo int = dbo.PeriodoVencido()
declare @anterior int = dbo.PeriodoMenosDos()
set @nuevo = dbo.PeriodoAdelantado()
set @viejo = dbo.PeriodoVencido()
set @anterior = dbo.PeriodoMenosDos()
/*
select @nuevo as nuevo,@viejo as viejo,@anterior as 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'
update led_docs set estado_doc ='I',compliance_doc='A',status_doc='I', last_modified=getdate(),ingresado_por=15342812,ingresado=getdate() where doc_id in (
select doc_id from led_docs where tipo_doc in (730,735,736,753) and periodo = @nuevo and (fecha_vigencia is null or isnull(fecha_vigencia,getdate()-1) < getdate()))
/******* ACTUALIZACION DEL CAMPO STATUS_DOC PARA EL PERIODO QUE ACABA DE VENCER ******/
DECLARE @docum bigint
DECLARE DOCS_VENCIDOS CURSOR FOR
SELECT d.doc_id
FROM led_docs d
inner join led_contratistas r on d.contratista = r.contratista
inner join led_cliente_contratista lcc on
(d.cliente = lcc.cliente and lcc.tipo_contratista = r.tipo_contratista and d.tipo_doc = lcc.tipo_doc)
WHERE d.periodo = dbo.PeriodoMenosDos()
and d.led_seccion = 'C'
AND d.doc_id_lista IS NULL
AND d.estado_doc = 'N'
AND d.status_doc <> 'E'
UNION ALL
SELECT d.doc_id
FROM led_docs d
inner join led_empleados r on d.empleado = r.empleado
inner join led_cliente_empleado lce on
(d.cliente = lce.cliente and lce.tipo_empleado = r.tipo_empleado and d.tipo_doc = lce.tipo_doc)
WHERE d.periodo = dbo.PeriodoMenosDos()
and d.led_seccion = 'E'
AND d.doc_id_lista IS NULL
AND d.estado_doc = 'N'
AND d.status_doc <> 'E'
UNION ALL
SELECT d.doc_id
FROM led_docs d
inner join led_vehiculos r on d.vehiculo = r.vehiculo
inner join led_cliente_vehiculo lcv on
(d.cliente = lcv.cliente and lcv.tipo_vehiculo = r.tipo_vehiculo and d.tipo_doc = lcv.tipo_doc)
WHERE d.periodo = dbo.PeriodoMenosDos()
and d.led_seccion = 'V'
AND d.doc_id_lista IS NULL
AND d.estado_doc = 'N'
AND d.status_doc <> 'E'
OPEN DOCS_VENCIDOS
fetch next from DOCS_VENCIDOS into @docum
while @@FETCH_STATUS = 0 begin
exec Imperium_Status_Doc @docum
fetch next from DOCS_VENCIDOS into @docum
end
CLOSE DOCS_VENCIDOS
DEALLOCATE DOCS_VENCIDOS
*/
DECLARE ImperiumDocs Cursor
FOR
select distinct contratista,dbo.PeriodoAdelantado() as periodo,'C' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoAdelantado() as periodo,'E' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoAdelantado() as periodo,'V' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoAdelantado() as periodo,'S' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoVencido() as periodo,'C' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoVencido() as periodo,'E' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoVencido() as periodo,'V' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoVencido() as periodo,'S' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoMenosDos() as periodo,'C' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoMenosDos() as periodo,'E' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoMenosDos() as periodo,'V' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoMenosDos() as periodo,'S' as led_seccion from led_contratistas where estado_contratista='A'
order by periodo desc,contratista desc
/*
select distinct contratista, periodo,iif(contratista = contratista_1,'C','S') as led_seccion,contratista_1 from led_DOCS
WHERE led_seccion = 'C'
and cliente = 9700868
union
select distinct contratista, periodo,led_seccion,contratista_1 from led_DOCS
where led_seccion = 'E'
and cliente = 9700868
union
select distinct contratista, periodo,led_seccion,contratista_1 from led_DOCS
where led_seccion = 'V'
and cliente = 9700868
order by periodo desc
*/
Open ImperiumDocs
DECLARE @ledSeccion varchar(1)
DECLARE @IDContratista INT
DECLARE @IDContratista1 INT
DECLARE @periodo INT
Fetch NEXT FROM ImperiumDocs INTO @IDContratista,@periodo,@ledSeccion
While (@@FETCH_STATUS <> -1)
BEGIN
BEGIN
EXEC Imperium_Compliance_Periodo_Contratista @periodo,@IDContratista,@ledSeccion
END
/*
BEGIN
EXEC Imperium_Compliance_Periodo_Contratista @periodo,@IDContratista,'S'
END
BEGIN
EXEC Imperium_Compliance_Periodo_Contratista @periodo,@IDContratista,'E'
END
BEGIN
EXEC Imperium_Compliance_Periodo_Contratista @periodo,@IDContratista,'V'
END
*/
Fetch NEXT FROM ImperiumDocs INTO @IDContratista,@periodo,@ledSeccion
END
CLOSE ImperiumDocs
DEALLOCATE ImperiumDocs
END
GO
GO
/*
EXEC Imperium_Racalcula_Compliance_Completo
*/
CREATE OR ALTER PROCEDURE dbo.Imperium_Racalcula_Compliance_Completo
AS
/*
@Cliente INT,
@Per INT
*/
BEGIN
SET NOCOUNT ON;
DECLARE @ERRORNUMBER SMALLINT
/*
declare @nuevo int = dbo.PeriodoAdelantado()
declare @viejo int = dbo.PeriodoVencido()
declare @anterior int = dbo.PeriodoMenosDos()
set @nuevo = dbo.PeriodoAdelantado()
set @viejo = dbo.PeriodoVencido()
set @anterior = dbo.PeriodoMenosDos()
/*
select @nuevo as nuevo,@viejo as viejo,@anterior as 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'
update led_docs set estado_doc ='I',compliance_doc='A',status_doc='I', last_modified=getdate(),ingresado_por=15342812,ingresado=getdate() where doc_id in (
select doc_id from led_docs where tipo_doc in (730,735,736,753) and periodo = @nuevo and (fecha_vigencia is null or isnull(fecha_vigencia,getdate()-1) < getdate()))
/******* ACTUALIZACION DEL CAMPO STATUS_DOC PARA EL PERIODO QUE ACABA DE VENCER ******/
DECLARE @docum bigint
DECLARE DOCS_VENCIDOS CURSOR FOR
SELECT d.doc_id
FROM led_docs d
inner join led_contratistas r on d.contratista = r.contratista
inner join led_cliente_contratista lcc on
(d.cliente = lcc.cliente and lcc.tipo_contratista = r.tipo_contratista and d.tipo_doc = lcc.tipo_doc)
WHERE d.periodo = dbo.PeriodoMenosDos()
and d.led_seccion = 'C'
AND d.doc_id_lista IS NULL
AND d.estado_doc = 'N'
AND d.status_doc <> 'E'
UNION ALL
SELECT d.doc_id
FROM led_docs d
inner join led_empleados r on d.empleado = r.empleado
inner join led_cliente_empleado lce on
(d.cliente = lce.cliente and lce.tipo_empleado = r.tipo_empleado and d.tipo_doc = lce.tipo_doc)
WHERE d.periodo = dbo.PeriodoMenosDos()
and d.led_seccion = 'E'
AND d.doc_id_lista IS NULL
AND d.estado_doc = 'N'
AND d.status_doc <> 'E'
UNION ALL
SELECT d.doc_id
FROM led_docs d
inner join led_vehiculos r on d.vehiculo = r.vehiculo
inner join led_cliente_vehiculo lcv on
(d.cliente = lcv.cliente and lcv.tipo_vehiculo = r.tipo_vehiculo and d.tipo_doc = lcv.tipo_doc)
WHERE d.periodo = dbo.PeriodoMenosDos()
and d.led_seccion = 'V'
AND d.doc_id_lista IS NULL
AND d.estado_doc = 'N'
AND d.status_doc <> 'E'
OPEN DOCS_VENCIDOS
fetch next from DOCS_VENCIDOS into @docum
while @@FETCH_STATUS = 0 begin
exec Imperium_Status_Doc @docum
fetch next from DOCS_VENCIDOS into @docum
end
CLOSE DOCS_VENCIDOS
DEALLOCATE DOCS_VENCIDOS
*/
DECLARE ImperiumDocs Cursor
FOR
select distinct contratista,dbo.PeriodoAdelantado() as periodo,'C' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoAdelantado() as periodo,'E' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoAdelantado() as periodo,'V' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoAdelantado() as periodo,'S' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoVencido() as periodo,'C' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoVencido() as periodo,'E' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoVencido() as periodo,'V' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoVencido() as periodo,'S' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoMenosDos() as periodo,'C' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoMenosDos() as periodo,'E' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoMenosDos() as periodo,'V' as led_seccion from led_contratistas where estado_contratista='A'
union
select distinct contratista,dbo.PeriodoMenosDos() as periodo,'S' as led_seccion from led_contratistas where estado_contratista='A'
order by periodo desc,contratista desc
/*
select distinct contratista, periodo,iif(contratista = contratista_1,'C','S') as led_seccion,contratista_1 from led_DOCS
WHERE led_seccion = 'C'
and cliente = 9700868
union
select distinct contratista, periodo,led_seccion,contratista_1 from led_DOCS
where led_seccion = 'E'
and cliente = 9700868
union
select distinct contratista, periodo,led_seccion,contratista_1 from led_DOCS
where led_seccion = 'V'
and cliente = 9700868
order by periodo desc
*/
Open ImperiumDocs
DECLARE @ledSeccion varchar(1)
DECLARE @IDContratista INT
DECLARE @IDContratista1 INT
DECLARE @periodo INT
Fetch NEXT FROM ImperiumDocs INTO @IDContratista,@periodo,@ledSeccion
While (@@FETCH_STATUS <> -1)
BEGIN
BEGIN
EXEC Imperium_Compliance_Periodo_Contratista @periodo,@IDContratista,@ledSeccion
END
/*
BEGIN
EXEC Imperium_Compliance_Periodo_Contratista @periodo,@IDContratista,'S'
END
BEGIN
EXEC Imperium_Compliance_Periodo_Contratista @periodo,@IDContratista,'E'
END
BEGIN
EXEC Imperium_Compliance_Periodo_Contratista @periodo,@IDContratista,'V'
END
*/
Fetch NEXT FROM ImperiumDocs INTO @IDContratista,@periodo,@ledSeccion
END
CLOSE ImperiumDocs
DEALLOCATE ImperiumDocs
END
GO