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
CREATE OR ALTER PROCEDURE dbo.Contravenciones_clasificacion
AS
BEGIN
SET NOCOUNT ON;
/*
select * from contravenciones_data where codigo_motivo_acta > 0 order by codigo_motivo_acta
select distinct codigo_motivo_acta,motivo_acta from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Carga y descarga%'
order by codigo_motivo_acta
PARAMETRO DE INFRACCIONES
ROJO -- 1 muy grave - 5 graves - 15 medias - 40 Leves
AMARILLO -- 1 grave - 8 medias - 20 leves
VERDE -- EL RESTO
N° INFRACCIÓN COMETIDA FALTA 1 muy grave - 5 graves - 15 medias - 40 Leves
1 Carga y descarga fuera de hora/lugar prohibido LEVE
2 Carriles o vías prohíbidas (tránsito rápido,diferenciado,metrobus) MEDIA 1 grave - 8 medias - 20 leves
3 Circular por Zona/Carril o c/peso/poten./tamaño Prohibido MEDIA
4 Conducir utilizando Celular / Auriculares / Reproductor de video MEDIA resto
5 Conductor redactando/enviando mensaje de texto MEDIA
6 Estac. lugar asc/desc pasajeros (Particular/Moto) LEVE
7 Estac. lugar prohib./forma indebida/antirreglamentaria LEVE
8 Estac. lugar reservado(rampa/discap/paradas/garage/otros LEVE
9 Estac. lugar sin ticket/hora vencida LEVE
10 Estacionamiento en areas peatonales LEVE
11 Exceso Velocidad hasta 10Km/h de la Máxima permitida para el tipo de arteria LEVE
12 Exceso Velocidad hasta 20Km/h de la Máxima permitida en vías rápidas LEVE
13 Exceso Velocidad más 20Km de la Máxima permitida para el tipo de arteria LEVE
14 Exceso Velocidad más de 40Km/h de la Máxima permitida en vías rápidas GRAVE
15 Forzar barrera/evadir pago peaje autopista LEVE
16 Girar a izquierda/derecha en lugar prohibido LEVE
17 No Cumplir Normas/requisitos Vehículos de Transporte sin habilitación LEVE
18 No respetar Senda Peatonal/Paso Peaton LEVE
19 No uso cinturon de seguridad MEDIA
20 Placas dominio. Falta/antirreglamentarias/mal estado LEVE
21 Prohibición circular según DIA/HORA/CARACTERISTICA vehíc LEVE
22 Uso indebido de luces LEVE
23 Violar Luz Roja GRAVE
24 Conducir en estado de ebriedad MUY GRAVE
*/
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Carga y descarga%')
update contravenciones_data set clasificacion = 5 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Carriles o vías prohíbidas%')
update contravenciones_data set clasificacion = 5 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Circular por Zona%')
update contravenciones_data set clasificacion = 5 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%utilizando Celular%')
update contravenciones_data set clasificacion = 5 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Conductor redactando%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%lugar asc/desc%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%lugar prohib.%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%lugar reservado%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%lugar sin ticket%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Estacionamiento en areas peatonales%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad más de 10%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad más de 20%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso de Velocidad mas de 20%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad más 20%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso de velocidad de hasta 20%')
update contravenciones_data set clasificacion = 9 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad más de 140%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso de velocidad de hasta 40%')
update contravenciones_data set clasificacion = 6 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso de velocidad en mas de 40%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad hasta 20%')
update contravenciones_data set clasificacion = 5 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Por no respetar los límites reglamentarios%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad hasta 10%')
update contravenciones_data set clasificacion = 8 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad más de 40%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Forzar barrera%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Girar a izquierda%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Cumplir Normas%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Senda Peatonal%'
)
update contravenciones_data set clasificacion = 5 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%cinturon de seguridad%'
)
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Placas dominio%'
)
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%circular%'
)
update contravenciones_data set clasificacion = 10 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%ebriedad%'
)
update contravenciones_data set clasificacion = 8 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%roja%'
)
DECLARE @estadoMuyGrave INT ,@estadoGrave INT ,@estadoMedio INT ,@estadoLeve INT
declare @IDContra int
DECLARE Contravencionesidx Cursor
FOR
select id_contravencion from contravenciones
open Contravencionesidx
Fetch NEXT FROM Contravencionesidx INTO @IDContra
While (@@FETCH_STATUS <> -1)
BEGIN
SELECT
@estadoLeve = (select count(*) as cantLeve from contravenciones_data where id_contravencion = @IDContra and clasificacion in (0,1,2,3,4)),
@estadoMedio = (select count(*) as cantMedio from contravenciones_data where id_contravencion = @IDContra and clasificacion in (5,6,7)),
@estadoGrave = (select count(*) as cantGrave from contravenciones_data where id_contravencion = @IDContra and clasificacion in (8,9)),
@estadoMuyGrave = (select count(*) as cantMuyGrave from contravenciones_data where id_contravencion = @IDContra and clasificacion in (10))
SELECT @estadoLeve as estadoLeve,@estadoMedio as estadoMedio,@estadoGrave as estadoGrave,@estadoMuyGrave as estadoMuyGrave
/*
PARAMETRO DE INFRACCIONES
ROJO -- 1 muy grave - 5 graves - 15 medias - 40 Leves
AMARILLO -- 1 grave - 8 medias - 20 leves
VERDE -- EL RESTO
*/
if (@estadoMuyGrave > 0 or @estadoGrave > 4 or @estadoMedio > 14 or @estadoLeve > 39)
BEGIN
UPDATE contravenciones SET CLASIFICACION = 'R' WHERE id_contravencion = @IDContra
END
ELSE IF ((@estadoGrave > 0 AND @estadoGrave < 5) or (@estadoMedio > 7 AND @estadoMedio < 15) or (@estadoLeve > 19 AND @estadoLeve < 40))
BEGIN
UPDATE contravenciones SET CLASIFICACION = 'A' WHERE id_contravencion = @IDContra
END
ELSE
BEGIN
UPDATE contravenciones SET CLASIFICACION = 'V' WHERE id_contravencion = @IDContra
END
Fetch NEXT FROM Contravencionesidx INTO @IDContra
END
CLOSE Contravencionesidx
DEALLOCATE Contravencionesidx
/*
select distinct motivo_acta from contravenciones_data where clasificacion is null and acta is not null
SELECT * FROM CONTRAVENCIONES WHERE id_contravencion = 5865
*/
END
GO
GO
CREATE OR ALTER PROCEDURE dbo.Contravenciones_clasificacion
AS
BEGIN
SET NOCOUNT ON;
/*
select * from contravenciones_data where codigo_motivo_acta > 0 order by codigo_motivo_acta
select distinct codigo_motivo_acta,motivo_acta from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Carga y descarga%'
order by codigo_motivo_acta
PARAMETRO DE INFRACCIONES
ROJO -- 1 muy grave - 5 graves - 15 medias - 40 Leves
AMARILLO -- 1 grave - 8 medias - 20 leves
VERDE -- EL RESTO
N° INFRACCIÓN COMETIDA FALTA 1 muy grave - 5 graves - 15 medias - 40 Leves
1 Carga y descarga fuera de hora/lugar prohibido LEVE
2 Carriles o vías prohíbidas (tránsito rápido,diferenciado,metrobus) MEDIA 1 grave - 8 medias - 20 leves
3 Circular por Zona/Carril o c/peso/poten./tamaño Prohibido MEDIA
4 Conducir utilizando Celular / Auriculares / Reproductor de video MEDIA resto
5 Conductor redactando/enviando mensaje de texto MEDIA
6 Estac. lugar asc/desc pasajeros (Particular/Moto) LEVE
7 Estac. lugar prohib./forma indebida/antirreglamentaria LEVE
8 Estac. lugar reservado(rampa/discap/paradas/garage/otros LEVE
9 Estac. lugar sin ticket/hora vencida LEVE
10 Estacionamiento en areas peatonales LEVE
11 Exceso Velocidad hasta 10Km/h de la Máxima permitida para el tipo de arteria LEVE
12 Exceso Velocidad hasta 20Km/h de la Máxima permitida en vías rápidas LEVE
13 Exceso Velocidad más 20Km de la Máxima permitida para el tipo de arteria LEVE
14 Exceso Velocidad más de 40Km/h de la Máxima permitida en vías rápidas GRAVE
15 Forzar barrera/evadir pago peaje autopista LEVE
16 Girar a izquierda/derecha en lugar prohibido LEVE
17 No Cumplir Normas/requisitos Vehículos de Transporte sin habilitación LEVE
18 No respetar Senda Peatonal/Paso Peaton LEVE
19 No uso cinturon de seguridad MEDIA
20 Placas dominio. Falta/antirreglamentarias/mal estado LEVE
21 Prohibición circular según DIA/HORA/CARACTERISTICA vehíc LEVE
22 Uso indebido de luces LEVE
23 Violar Luz Roja GRAVE
24 Conducir en estado de ebriedad MUY GRAVE
*/
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Carga y descarga%')
update contravenciones_data set clasificacion = 5 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Carriles o vías prohíbidas%')
update contravenciones_data set clasificacion = 5 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Circular por Zona%')
update contravenciones_data set clasificacion = 5 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%utilizando Celular%')
update contravenciones_data set clasificacion = 5 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Conductor redactando%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%lugar asc/desc%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%lugar prohib.%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%lugar reservado%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%lugar sin ticket%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Estacionamiento en areas peatonales%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad más de 10%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad más de 20%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso de Velocidad mas de 20%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad más 20%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso de velocidad de hasta 20%')
update contravenciones_data set clasificacion = 9 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad más de 140%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso de velocidad de hasta 40%')
update contravenciones_data set clasificacion = 6 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso de velocidad en mas de 40%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad hasta 20%')
update contravenciones_data set clasificacion = 5 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Por no respetar los límites reglamentarios%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad hasta 10%')
update contravenciones_data set clasificacion = 8 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Exceso Velocidad más de 40%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Forzar barrera%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Girar a izquierda%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Cumplir Normas%')
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Senda Peatonal%'
)
update contravenciones_data set clasificacion = 5 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%cinturon de seguridad%'
)
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%Placas dominio%'
)
update contravenciones_data set clasificacion = 2 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%circular%'
)
update contravenciones_data set clasificacion = 10 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%ebriedad%'
)
update contravenciones_data set clasificacion = 8 where id_data in (
select id_data from contravenciones_data where codigo_motivo_acta > 0
and motivo_acta like '%roja%'
)
DECLARE @estadoMuyGrave INT ,@estadoGrave INT ,@estadoMedio INT ,@estadoLeve INT
declare @IDContra int
DECLARE Contravencionesidx Cursor
FOR
select id_contravencion from contravenciones
open Contravencionesidx
Fetch NEXT FROM Contravencionesidx INTO @IDContra
While (@@FETCH_STATUS <> -1)
BEGIN
SELECT
@estadoLeve = (select count(*) as cantLeve from contravenciones_data where id_contravencion = @IDContra and clasificacion in (0,1,2,3,4)),
@estadoMedio = (select count(*) as cantMedio from contravenciones_data where id_contravencion = @IDContra and clasificacion in (5,6,7)),
@estadoGrave = (select count(*) as cantGrave from contravenciones_data where id_contravencion = @IDContra and clasificacion in (8,9)),
@estadoMuyGrave = (select count(*) as cantMuyGrave from contravenciones_data where id_contravencion = @IDContra and clasificacion in (10))
SELECT @estadoLeve as estadoLeve,@estadoMedio as estadoMedio,@estadoGrave as estadoGrave,@estadoMuyGrave as estadoMuyGrave
/*
PARAMETRO DE INFRACCIONES
ROJO -- 1 muy grave - 5 graves - 15 medias - 40 Leves
AMARILLO -- 1 grave - 8 medias - 20 leves
VERDE -- EL RESTO
*/
if (@estadoMuyGrave > 0 or @estadoGrave > 4 or @estadoMedio > 14 or @estadoLeve > 39)
BEGIN
UPDATE contravenciones SET CLASIFICACION = 'R' WHERE id_contravencion = @IDContra
END
ELSE IF ((@estadoGrave > 0 AND @estadoGrave < 5) or (@estadoMedio > 7 AND @estadoMedio < 15) or (@estadoLeve > 19 AND @estadoLeve < 40))
BEGIN
UPDATE contravenciones SET CLASIFICACION = 'A' WHERE id_contravencion = @IDContra
END
ELSE
BEGIN
UPDATE contravenciones SET CLASIFICACION = 'V' WHERE id_contravencion = @IDContra
END
Fetch NEXT FROM Contravencionesidx INTO @IDContra
END
CLOSE Contravencionesidx
DEALLOCATE Contravencionesidx
/*
select distinct motivo_acta from contravenciones_data where clasificacion is null and acta is not null
SELECT * FROM CONTRAVENCIONES WHERE id_contravencion = 5865
*/
END
GO
Depends On
2Used By
No items found