|
@@ -56,56 +56,4 @@ ALTER TABLE EVALUACION_PROVEEDOR ADD SCORECARD_ID int NULL;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
-CREATE OR REPLACE TRIGGER TRG_ACTION_PLAN_AVG
|
|
|
|
-AFTER INSERT OR UPDATE OR DELETE ON PLAN_ACCION_DET
|
|
|
|
-FOR EACH ROW
|
|
|
|
-DECLARE
|
|
|
|
-
|
|
|
|
- L_PLAN_ACCION_ID NUMBER(15);
|
|
|
|
- L_PLAN_PARENT_ID NUMBER(15);
|
|
|
|
- L_PLAN_ID NUMBER(15);
|
|
|
|
- L_PLAN_ACCION_DET_AVG NUMBER(15,2);
|
|
|
|
- L_PLAN_ACCION_AVG NUMBER(15,2);
|
|
|
|
- L_STATUS_PLAN varchar2(100);
|
|
|
|
-
|
|
|
|
- cursor cur_avg_det is
|
|
|
|
- select avg(AVANCE),PARENT_ID from PLAN_ACCION_DET d where d.id=:NEW.id
|
|
|
|
- and PARENT_ID is not null
|
|
|
|
- group by PARENT_ID ;
|
|
|
|
-
|
|
|
|
- cursor cur_avg_plan is
|
|
|
|
- select avg(AVANCE),PLAN_ACCION_ID from PLAN_ACCION_DET d where d.id=:NEW.id
|
|
|
|
- and PARENT_ID is null
|
|
|
|
- group by PLAN_ACCION_ID ;
|
|
|
|
-
|
|
|
|
-BEGIN
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- OPEN cur_avg_det;
|
|
|
|
- FETCH cur_avg_det INTO L_PLAN_ACCION_DET_AVG,L_PLAN_PARENT_ID;
|
|
|
|
- CLOSE cur_avg_det;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- UPDATE PLAN_ACCION_DET SET AVANCE = L_PLAN_ACCION_DET_AVG
|
|
|
|
- WHERE ID =L_PLAN_PARENT_ID;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- OPEN cur_avg_plan;
|
|
|
|
- FETCH cur_avg_plan INTO L_PLAN_ACCION_AVG,L_PLAN_ID;
|
|
|
|
- CLOSE cur_avg_plan;
|
|
|
|
-
|
|
|
|
- UPDATE PLAN_ACCION SET AVANCE_PROVEEDOR = L_PLAN_ACCION_AVG
|
|
|
|
- where ID = L_PLAN_ID;
|
|
|
|
-
|
|
|
|
- IF L_PLAN_ACCION_AVG = 100 THEN
|
|
|
|
- UPDATE PLAN_ACCION SET ESTADO = 'FINALIZADO'
|
|
|
|
- where ID = L_PLAN_ID;
|
|
|
|
- ELSE
|
|
|
|
- UPDATE PLAN_ACCION SET ESTADO = 'EN PROGRESO'
|
|
|
|
- where ID = L_PLAN_ID;
|
|
|
|
- end if;
|
|
|
|
-
|
|
|
|
-END;
|
|
|
|
|
|
+-- DROP TRIGGER TRG_ACTION_PLAN_AVG;
|