|
@@ -52,4 +52,50 @@ BEGIN
|
|
|
END;
|
|
|
|
|
|
|
|
|
-ALTER TABLE EVALUACION_PROVEEDOR ADD SCORECARD_ID int NULL;
|
|
|
+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);
|
|
|
+
|
|
|
+ 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;
|
|
|
+-- where ID = :new.ID AND PARENT_ID IS NULL;
|
|
|
+
|
|
|
+
|
|
|
+ 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;
|
|
|
+
|
|
|
+
|
|
|
+END;
|