Ingeniero electricista

Solo disponible en BuenasTareas
  • Páginas : 20 (4870 palabras )
  • Descarga(s) : 0
  • Publicado : 26 de abril de 2011
Leer documento completo
Vista previa del texto
CREATE OR REPLACE PACKAGE BODY INTERFAZ_EVENTOS_DEF
IS

PROCEDURE CIERRE_EVENTOS_DISTRIBUCION
IS

BEGIN

UPDATE SOE_DESDISTRIBUCION SDD SET (CODIGOEVENTORESTABLECIMIENTO,FECHARESTABLECIMIENTO,DURACION,NORMALIDADELEMENTO)=
(SELECT CODIGOEVENTORESTABLECIMIENTO,FECHA_CIERRE,(FECHA_CIERRE-FECHACORTE)*1440,1 FROM T_EVENTOS_SOE_SC CE
WHERE SDD.CODIGOEVENTO=CE.CODIGO_EVENTO
AND CE.ESTADO='N'and sdd.codigoeventorestablecimiento is null
AND CE.CODIGOEVENTORESTABLECIMIENTO IS NOT NULL
)
WHERE EXISTS
(SELECT CODIGOEVENTORESTABLECIMIENTO,FECHA_CIERRE,(FECHA_CIERRE-FECHACORTE)*1440,1 FROM T_EVENTOS_SOE_SC CE
WHERE SDD.CODIGOEVENTO=CE.CODIGO_EVENTO
AND CE.ESTADO='N'
and sdd.codigoeventorestablecimiento is null
AND CE.CODIGOEVENTORESTABLECIMIENTO IS NOT NULL
);

COMMIT;DELETE FROM SOE_NODOMTNORMALIDAD SN
WHERE EXISTS
(SELECT * FROM T_EVENTOS_SOE_SC ESC
WHERE SN.CODIGOEVENTO=ESC.CODIGO_EVENTO
AND ESC.ESTADO='N'
)
AND NOT EXISTS
(SELECT * FROM SOE_NODOSMTNOSUBIR SNS
WHERE SN.CODIGOEVENTO=SNS.CODIGOEVENTO
AND SN.CODIGOAPOYO=SNS.CODIGOAPOYO
AND SN.CODIGONODOMT=SNS.CODIGONODOMT);

COMMIT;

DELETE FROM SOE_NODOMTNORMALIDAD SN
WHERE EXISTS
(SELECT *FROM SOE_DESDISTRIBUCION SDD WHERE
SDD.CODIGOEVENTO=SN.CODIGOEVENTO
AND SDD.CODIGOEVENTORESTABLECIMIENTO IS NOT NULL)
AND NOT EXISTS
(SELECT * FROM SOE_EVENTO SE
WHERE SN.CODIGOEVENTO=SE.CODIGOEVENTO);

COMMIT;

UPDATE T_EVENTOS_SOE_SC ESC SET ESC.ESTADO='S'
WHERE EXISTS
(SELECT * FROM SOE_DESDISTRIBUCION SDD
WHERE ESC.CODIGO_EVENTO=SDD.CODIGOEVENTO
ANDSDD.CODIGOEVENTORESTABLECIMIENTO IS NOT NULL)
AND ESC.ESTADO='N'
;

COMMIT;

INSERT INTO SOE_INTERRUPCIONDIS
select ESC.CODIGO_EVENTO AS CODIGOEVENTO,ESC.JUSTIFICACION,'07' AS CODIGOTIPOELEMENTO,I.CODIGOINTERRUPTORDIS AS CODIGOELEMENTO,NULL AS CODIGONODOMT,I.CODIGOAPOYO1 AS CODIGOAPOYO,ESC.CODIGO_CIRCUITO AS CODIGOCIRCUITO,ESC.PUNTO_FISICO AS PINTADOAPOYO,ESC.CODIGO_CAIDA AS CODIGOCAUSAEVENTO,NULL AS CODIGOMATERIALfrom t_eventos_soe_sc esc,INTERRUPTORDIS I
where NOT EXISTS
(SELECT * FROM SOE_INTERRUPCIONDIS SID
WHERE SID.CODIGOEVENTO=ESC.CODIGO_EVENTO)
AND ESC.ESTADO='S'
AND ESC.CODIGO_SECCIONAMIENTO=I.PINTADOINTERRUPTORDIS
UNION
select ESC.CODIGO_EVENTO AS CODIGOEVENTO,ESC.JUSTIFICACION,'05' AS CODIGOTIPOELEMENTO,I.CODIGOTRAMOMT AS CODIGOELEMENTO,NULL AS CODIGONODOMT,I.CODIGOAPOYO1 ASCODIGOAPOYO,ESC.CODIGO_CIRCUITO AS CODIGOCIRCUITO,ESC.PUNTO_FISICO AS PINTADOAPOYO,ESC.CODIGO_CAIDA AS CODIGOCAUSAEVENTO,NULL AS CODIGOMATERIAL
from t_eventos_soe_sc esc,TRAMOMT I
where NOT EXISTS
(SELECT * FROM SOE_INTERRUPCIONDIS SID
WHERE SID.CODIGOEVENTO=ESC.CODIGO_EVENTO
)
AND ESC.ESTADO='S'
AND ESC.CODIGO_SECCIONAMIENTO LIKE('%T%')
ANDTO_NUMBER(SUBSTR(ESC.CODIGO_SECCIONAMIENTO,INSTR(ESC.CODIGO_SECCIONAMIENTO,'T',1,1)+1))=I.CODIGOTRAMOMT
ORDER BY CODIGOEVENTO;

COMMIT;

INSERT INTO SOE_DISTRIBUCION
select CODIGOEVENTO,CODIGOTIPOELEMENTO,CODIGOELEMENTO,CODIGOAPOYO,SI.CODIGOCIRCUITO,T.NIVEL,0 AS NORMALIDADELEMENTO,T.NOMBRE AS TEXTOBUSCAR,PINTADOAPOYO,NULL AS CODIGOMATERIAL from soe_INTERRUPCIONDIS SI,TREENODES T
where DECODE(CODIGOTIPOELEMENTO,'07','SW: ','05','TR:')||SI.CODIGOELEMENTO=T.NOMBRE
AND T.TIPO='TF'
AND T.CODIGOCIRCUITO=SI.CODIGOCIRCUITO
AND NOT EXISTS
(SELECT * FROM SOE_DISTRIBUCION SD
WHERE SI.CODIGOEVENTO=SD.CODIGOEVENTO)
AND EXISTS
(SELECT * FROM SOE_EVENTO SE
WHERE SE.CODIGOEVENTO=SI.CODIGOEVENTO);

COMMIT;

UPDATE SOE_DISTRIBUCION SD SET NORMALIDADELEMENTO=1
WHERE EXISTS
(SELECT * FROM SOE_DESDISTRIBUCION SDD
WHERESD.CODIGOEVENTO=SDD.CODIGOEVENTO
AND SD.NORMALIDADELEMENTO=0
AND SDD.CODIGOEVENTORESTABLECIMIENTO IS NOT NULL
);

COMMIT;

UPDATE SOE_DISTRIBUCION SD SET NORMALIDADELEMENTO=1
WHERE EXISTS
(SELECT * FROM SOE_DESDISTRIBUCION SDD
WHERE SD.CODIGOEVENTO=SDD.CODIGOEVENTORESTABLECIMIENTO
AND SD.NORMALIDADELEMENTO=0
AND SDD.CODIGOEVENTORESTABLECIMIENTO IS NOT NULL
);

COMMIT;

END;...
tracking img