Você está na página 1de 3

BEGIN

DECLARE x INT;
DECLARE seguir INT;
DECLARE lnTurno INT;
DECLARE laConcepto VARCHAR(60);
DECLARE laContador VARCHAR(20);
DECLARE laNomFallo VARCHAR(60);
DECLARE laNomFallo2 VARCHAR(60);
DECLARE laFecha DATE;
DECLARE lnHora TIME;
SELECT cantidad INTO x FROM cf_resumenTR
WHERE fecha = NEW.fecha
AND turno = NEW.turno
AND numRonal= NEW.numRonal
AND depto = NEW.depto
AND accion = NEW.accion
AND fase = NEW.fase
AND tipo = NEW.tipo
AND idFallo = NEW.idFallo;
IF x Is NULL THEN
INSERT INTO cf_resumenTR VALUES(NEW.fecha,NEW.turno,NEW.numRonal,NEW.dept
o,NEW.accion,NEW.fase,NEW.tipo,NEW.idFallo,'1');
ELSE
UPDATE cf_resumenTR SET cantidad = cantidad+1
WHERE fecha = NEW.fecha
AND turno = NEW.turno
AND numRonal = NEW.numRonal
AND depto = NEW.depto
AND accion = NEW.accion
AND fase = NEW.fase
AND tipo = NEW.tipo
AND idFallo = NEW.idFallo;
END IF;
/*Se actualiza la fecha y hora en la tabla sistema*/
UPDATE SISTEMA SET fecha = sysDate(), hora = sysDate();
/*Se consulta la fecha y hora actual*/
SELECT fecha, hora INTO laFecha, lnHora FROM sistema;
IF (laFecha = NEW.fecha) THEN
IF NEW.turno = '1' THEN /*Verificamos que este en tiempo para ingresar al
turno*/
IF lnHora > '06:00:00' && lnHora < '14:00:00' THEN
SET seguir = 1;
ELSE
SET seguir = 0;
END IF;
ELSEIF NEW.turno = '2' THEN /*Verificamos que este en tiempo para ingresa
r al turno*/
IF lnHora > '14:00:00' && lnHora < '22:00:00' THEN
SET seguir = 1;
ELSE
SET seguir = 0;
END IF;
ELSEIF NEW.turno = '3' THEN /*Verificamos que este en tiempo para ingresa
r al turno*/
IF lnHora > '22:00:00' THEN
SET seguir = 1;
ELSE
SET seguir = 0;
END IF;
END IF;
ELSEIF laFecha-1 = NEW.fecha THEN
IF lnHora < '06:00:00' THEN
SET seguir = 1;
ELSE
SET seguir = 0;
END IF;
END IF;
IF seguir = 1 THEN
/*Se verifica que se trabaje en el turno correcto, en caso contrario
se borra la grafica */
SELECT turno INTO lnTurno FROM graficasTR GROUP BY turno;
IF lnTurno IS NOT NULL THEN
IF lnTurno != NEW.turno THEN
DELETE FROM graficasTR;
END IF;
END IF;
if(NEW.tipo = 'io') THEN
/****************************************N ú m e r o 1 ****************
************************/
/*Se verifica si existe el registro en la gráfica*/
SELECT concepto INTO laConcepto FROM graficasTR WHERE numGrafica = '1'
AND concepto = NEW.numRonal;
IF laConcepto IS NULL THEN
/*Se inserta el valor para la grafica No. 1 (Control final IO-Model
os)*/
INSERT INTO graficasTR VALUES('1',NEW.turno,NEW.numRonal,'1');
ELSE
/*Se modifica el valor para la grafica No. 1 (Control final IO-Mode
los)*/
UPDATE graficasTR SET cantidad = cantidad + 1 WHERE turno = NEW.tur
no AND concepto = NEW.numRonal AND numGrafica = '1';
END IF;
SELECT concepto INTO laContador FROM graficasTR WHERE concepto = 'Cont
adorIOs';
IF laContador IS NULL THEN
INSERT INTO graficasTR VALUES('10',NEW.turno,'ContadorIOs','1');
ELSE
UPDATE graficasTR SET cantidad = cantidad + 1 WHERE concepto = 'Con
tadorIOs';
END IF;
ELSE/*-----------------------------------------------------------------
----------------*/
/****************************************N ú m e r o 2 ****************
************************/
/*Se verifica si existe el registro en la gráfica*/
SELECT concepto INTO laConcepto FROM graficasTR WHERE numGrafica = '2'
AND concepto = NEW.numRonal;
IF laConcepto IS NULL THEN
/*Se inserta el valor para la grafica No. 2 (Control final NIO-Mode
los)*/
INSERT INTO graficasTR VALUES('2',NEW.turno,NEW.numRonal,'1');
ELSE
/*Se modifica el valor para la grafica No. 2 (Control final NIO-Mod
elos)*/
UPDATE graficasTR SET cantidad = cantidad + 1 WHERE turno = NEW.tur
no AND concepto = NEW.numRonal AND numGrafica = '2';
END IF;
IF (NEW.tipo = 'fu') THEN
SELECT concepto INTO laContador FROM graficasTR WHERE concepto = 'C
ontadorNIOs';
IF laContador IS NULL THEN
INSERT INTO graficasTR VALUES('10',NEW.turno,'ContadorNIOs','1')
;
ELSE
UPDATE graficasTR SET cantidad = cantidad + 1 WHERE concepto = '
ContadorNIOs';
END IF;
ELSEIF (NEW.tipo = 're') THEN
SELECT concepto INTO laConcepto FROM graficasTR WHERE numGrafica =
'10' AND concepto = 'ContadorRE';
IF laConcepto IS NULL THEN
INSERT INTO graficasTR VALUES('10',NEW.turno,'ContadorRE','1');
ELSE
UPDATE graficasTR SET cantidad = cantidad + 1 WHERE turno = NEW.
turno AND concepto = 'ContadorRE' AND numGrafica = '10';
END IF;
ELSEIF (NEW.tipo = 'de') THEN
SELECT concepto INTO laConcepto FROM graficasTR WHERE numGrafica =
'10' AND concepto = 'ContadorDE';
IF laConcepto IS NULL THEN
INSERT INTO graficasTR VALUES('10',NEW.turno,'ContadorDE','1');
ELSE
UPDATE graficasTR SET cantidad = cantidad + 1 WHERE turno = NEW.
turno AND concepto = 'ContadorDE' AND numGrafica = '10';
END IF;
END IF;
/****************************************N ú m e r o 3 ****************
************************/
/*Se consulta el defecto correspondiente*/
SELECT nomFallo INTO laNomFallo FROM fallosControlFinal WHERE idFallo
= NEW.idFallo;
/* Se verifica si existe el registro en la gráfica*/
SELECT concepto INTO laNomFallo2 FROM graficasTR WHERE numGrafica = '3
' AND concepto = laNomFallo;
IF laNomFallo2 IS NULL THEN
/*Se inserta el valor para la grafica No. 3 (Control final NIO - DE
FECTOS)*/
INSERT INTO graficasTR VALUES('3',NEW.turno,laNomFallo,'1');
ELSE
/*Se modifica el valor para la grafica No. 3 (Control final NIO - D
EFECTOS)*/
UPDATE graficasTR SET cantidad = cantidad + 1 WHERE concepto = laNo
mFallo AND numGrafica = '3';
END IF;
END IF;/***************************************************************
**************************************************/
END IF;/*intervalo correcto*/
END

Você também pode gostar