Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_contratista | int | 4 | |
| @p_servicio_contratado | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec Imperium_cliente_cumplimiento_general 1983
/*
select * from led_cliente_cumplimiento_general
delete led_cliente_cumplimiento_general
*/
*/
/*
select * from led_contratistas where contratista = 1983
declare @p_contratista int
DECLARE C_padron CURSOR FOR
select distinct contratista_1 from led_contratistas where cliente = 7048064 and estado_contratista='A'
OPEN C_Padron
FETCH NEXT FROM C_Padron INTO @p_contratista
WHILE @@fetch_status = 0
BEGIN
exec Imperium_cliente_cumplimiento_general @p_contratista
FETCH NEXT FROM C_Padron INTO @p_contratista
END
CLOSE C_Padron
DEALLOCATE C_Padron
select padrones.identificacion,padrones.nombre_persona,LTC.nombre_tipo_contratista,LCCG.cumplimiento,LCCG.periodo
from led_cliente_cumplimiento_general LCCG inner join led_contratistas LC on LCCG.contratista_1=LC.contratista
inner join padrones on LC.id_padron=padrones.id_padron
inner join led_tipos_contratista LTC on LC.tipo_contratista=LTC.tipo_contratista
-- where cumplimiento=100
order by cumplimiento desc, padrones.nombre_persona ASC
*/
CREATE OR ALTER PROCEDURE dbo.Imperium_cliente_cumplimiento_general
-- Add the parameters for the stored procedure here
@p_contratista int,
@p_servicio_contratado int = null
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
--
-- Insert statements for procedure here
DECLARE @rate FLOAT
DECLARE @verificados FLOAT
DECLARE @totales FLOAT
SELECT @verificados =
(SELECT COUNT(*)
FROM led_docs INNER JOIN led_contratista_periodo
ON (led_docs.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_cliente_contratista ON
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_contratistas.cliente = led_cliente_contratista.cliente
AND ISNULL(led_cliente_contratista.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc = 'V'
AND led_docs.doc_id_lista IS NULL)
+ (SELECT COUNT(*)
FROM led_docs INNER JOIN led_empleados_periodo
ON (led_docs.empleado = led_empleados_periodo.empleado
AND led_docs.periodo = led_empleados_periodo.periodo)
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_empleados.cliente = led_cliente_empleado.cliente
AND ISNULL(led_cliente_empleado.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc = 'V'
AND led_docs.doc_id_lista IS NULL)
+ (SELECT COUNT(*)
FROM led_docs INNER JOIN led_vehiculos_periodo
ON (led_docs.vehiculo = led_vehiculos_periodo.vehiculo
AND led_docs.periodo = led_vehiculos_periodo.periodo)
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_vehiculos.cliente = led_cliente_vehiculo.cliente
AND ISNULL(led_cliente_vehiculo.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc = 'V'
AND led_docs.doc_id_lista IS NULL)
+ (SELECT COUNT(*)
FROM led_docs INNER JOIN led_subcontratista_periodo
ON (led_docs.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_cliente_contratista ON
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_contratistas.cliente = led_cliente_contratista.cliente
AND ISNULL(led_cliente_contratista.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc = 'V'
AND led_docs.doc_id_lista IS NULL)
SELECT @totales =
(SELECT COUNT(*)
FROM led_docs INNER JOIN led_contratista_periodo
ON (led_docs.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_cliente_contratista ON
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_contratistas.cliente = led_cliente_contratista.cliente
AND ISNULL(led_cliente_contratista.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc IN ('N','I','R','V')
AND led_docs.doc_id_lista IS NULL)
+ (SELECT COUNT(*)
FROM led_docs INNER JOIN led_empleados_periodo
ON (led_docs.empleado = led_empleados_periodo.empleado
AND led_docs.periodo = led_empleados_periodo.periodo)
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_empleados.cliente = led_cliente_empleado.cliente
AND ISNULL(led_cliente_empleado.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc IN ('N','I','R','V')
AND led_docs.doc_id_lista IS NULL)
+ (SELECT COUNT(*)
FROM led_docs INNER JOIN led_vehiculos_periodo
ON (led_docs.vehiculo = led_vehiculos_periodo.vehiculo
AND led_docs.periodo = led_vehiculos_periodo.periodo)
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_vehiculos.cliente = led_cliente_vehiculo.cliente
AND ISNULL(led_cliente_vehiculo.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc IN ('N','I','R','V')
AND led_docs.doc_id_lista IS NULL)
+ (SELECT COUNT(*)
FROM led_docs INNER JOIN led_subcontratista_periodo
ON (led_docs.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_cliente_contratista ON
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_contratistas.cliente = led_cliente_contratista.cliente
AND ISNULL(led_cliente_contratista.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc IN ('N','I','R','V')
AND led_docs.doc_id_lista IS NULL)
DECLARE @cumplimiento INT
IF (@totales > 0)
BEGIN
SET @rate = ROUND(@verificados / @totales * 100, 0)
SET @cumplimiento = CAST(@rate AS int)
END
ELSE
begin
SET @cumplimiento = 0
end
insert into led_cliente_cumplimiento_general (cumplimiento,contratista_1,periodo,verificados,totales,created)
values (@cumplimiento,@p_contratista,dbo.PeriodoAdelantado(),@verificados,@totales,getdate())
/*
CREATE TABLE [dbo].[led_cliente_cumplimiento_general]
(
id_cumplimiento int identity(1,1) not null,
contratista_1 int,
cumplimiento int,
periodo int,
verificados int,
totales int,
created datetime default(getdate())
) ON [PRIMARY]
*/
--SELECT @cumplimiento as cumplimiento,@totales as totales,@verificados as verificados
END
GO
GO
/*
exec Imperium_cliente_cumplimiento_general 1983
/*
select * from led_cliente_cumplimiento_general
delete led_cliente_cumplimiento_general
*/
*/
/*
select * from led_contratistas where contratista = 1983
declare @p_contratista int
DECLARE C_padron CURSOR FOR
select distinct contratista_1 from led_contratistas where cliente = 7048064 and estado_contratista='A'
OPEN C_Padron
FETCH NEXT FROM C_Padron INTO @p_contratista
WHILE @@fetch_status = 0
BEGIN
exec Imperium_cliente_cumplimiento_general @p_contratista
FETCH NEXT FROM C_Padron INTO @p_contratista
END
CLOSE C_Padron
DEALLOCATE C_Padron
select padrones.identificacion,padrones.nombre_persona,LTC.nombre_tipo_contratista,LCCG.cumplimiento,LCCG.periodo
from led_cliente_cumplimiento_general LCCG inner join led_contratistas LC on LCCG.contratista_1=LC.contratista
inner join padrones on LC.id_padron=padrones.id_padron
inner join led_tipos_contratista LTC on LC.tipo_contratista=LTC.tipo_contratista
-- where cumplimiento=100
order by cumplimiento desc, padrones.nombre_persona ASC
*/
CREATE OR ALTER PROCEDURE dbo.Imperium_cliente_cumplimiento_general
-- Add the parameters for the stored procedure here
@p_contratista int,
@p_servicio_contratado int = null
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
--
-- Insert statements for procedure here
DECLARE @rate FLOAT
DECLARE @verificados FLOAT
DECLARE @totales FLOAT
SELECT @verificados =
(SELECT COUNT(*)
FROM led_docs INNER JOIN led_contratista_periodo
ON (led_docs.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_cliente_contratista ON
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_contratistas.cliente = led_cliente_contratista.cliente
AND ISNULL(led_cliente_contratista.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc = 'V'
AND led_docs.doc_id_lista IS NULL)
+ (SELECT COUNT(*)
FROM led_docs INNER JOIN led_empleados_periodo
ON (led_docs.empleado = led_empleados_periodo.empleado
AND led_docs.periodo = led_empleados_periodo.periodo)
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_empleados.cliente = led_cliente_empleado.cliente
AND ISNULL(led_cliente_empleado.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc = 'V'
AND led_docs.doc_id_lista IS NULL)
+ (SELECT COUNT(*)
FROM led_docs INNER JOIN led_vehiculos_periodo
ON (led_docs.vehiculo = led_vehiculos_periodo.vehiculo
AND led_docs.periodo = led_vehiculos_periodo.periodo)
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_vehiculos.cliente = led_cliente_vehiculo.cliente
AND ISNULL(led_cliente_vehiculo.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc = 'V'
AND led_docs.doc_id_lista IS NULL)
+ (SELECT COUNT(*)
FROM led_docs INNER JOIN led_subcontratista_periodo
ON (led_docs.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_cliente_contratista ON
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_contratistas.cliente = led_cliente_contratista.cliente
AND ISNULL(led_cliente_contratista.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc = 'V'
AND led_docs.doc_id_lista IS NULL)
SELECT @totales =
(SELECT COUNT(*)
FROM led_docs INNER JOIN led_contratista_periodo
ON (led_docs.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_cliente_contratista ON
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_contratistas.cliente = led_cliente_contratista.cliente
AND ISNULL(led_cliente_contratista.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc IN ('N','I','R','V')
AND led_docs.doc_id_lista IS NULL)
+ (SELECT COUNT(*)
FROM led_docs INNER JOIN led_empleados_periodo
ON (led_docs.empleado = led_empleados_periodo.empleado
AND led_docs.periodo = led_empleados_periodo.periodo)
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_empleados.cliente = led_cliente_empleado.cliente
AND ISNULL(led_cliente_empleado.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc IN ('N','I','R','V')
AND led_docs.doc_id_lista IS NULL)
+ (SELECT COUNT(*)
FROM led_docs INNER JOIN led_vehiculos_periodo
ON (led_docs.vehiculo = led_vehiculos_periodo.vehiculo
AND led_docs.periodo = led_vehiculos_periodo.periodo)
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_vehiculos.cliente = led_cliente_vehiculo.cliente
AND ISNULL(led_cliente_vehiculo.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc IN ('N','I','R','V')
AND led_docs.doc_id_lista IS NULL)
+ (SELECT COUNT(*)
FROM led_docs INNER JOIN led_subcontratista_periodo
ON (led_docs.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_cliente_contratista ON
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_contratistas.cliente = led_cliente_contratista.cliente
AND ISNULL(led_cliente_contratista.afecta_compliance, 0) > 0)
WHERE led_docs.contratista_1 = @p_contratista
AND led_docs.periodo BETWEEN dbo.PeriodoAdelantado() AND dbo.PeriodoAdelantado()
AND led_docs.estado_doc IN ('N','I','R','V')
AND led_docs.doc_id_lista IS NULL)
DECLARE @cumplimiento INT
IF (@totales > 0)
BEGIN
SET @rate = ROUND(@verificados / @totales * 100, 0)
SET @cumplimiento = CAST(@rate AS int)
END
ELSE
begin
SET @cumplimiento = 0
end
insert into led_cliente_cumplimiento_general (cumplimiento,contratista_1,periodo,verificados,totales,created)
values (@cumplimiento,@p_contratista,dbo.PeriodoAdelantado(),@verificados,@totales,getdate())
/*
CREATE TABLE [dbo].[led_cliente_cumplimiento_general]
(
id_cumplimiento int identity(1,1) not null,
contratista_1 int,
cumplimiento int,
periodo int,
verificados int,
totales int,
created datetime default(getdate())
) ON [PRIMARY]
*/
--SELECT @cumplimiento as cumplimiento,@totales as totales,@verificados as verificados
END
GO
Depends On
12Used By
No items found