Pārlūkot izejas kodu

scorecard varios

Cristian Lucero 5 gadi atpakaļ
vecāks
revīzija
11f02015a1
2 mainītis faili ar 62 papildinājumiem un 3 dzēšanām
  1. 36 1
      alter_table.sql
  2. 26 2
      sp_create_replace.sql

+ 36 - 1
alter_table.sql

@@ -17,4 +17,39 @@ cREATE SEQUENCE score_provider_comments_seq
   MINVALUE 1
   MAXVALUE 9999999999
   START WITH 4
-  INCREMENT BY 1;
+  INCREMENT BY 1;
+
+cREATE SEQUENCE score_provider_workflow_seq
+  MINVALUE 1
+  MAXVALUE 9999999999
+  START WITH 4
+  INCREMENT BY 1;
+
+
+CREATE TABLE workflow_log
+(
+    ID int PRIMARY KEY,
+    entity_id int,
+    entity_type varchar2(50),
+    created_by varchar2(50),
+    step varchar2(100),
+    comments varchar2(1000),
+    created_date date DEFAULT current_timestamp NOT NULL
+);
+
+
+CREATE OR REPLACE TRIGGER TRG_SCORE_EVALUCION_LOG
+AFTER INSERT OR UPDATE OR DELETE ON SCORECARD_PROVIDER
+FOR EACH ROW
+DECLARE
+    L_ID NUMBER(15);
+BEGIN
+
+    insert into WORKFLOW_LOG(id,ENTITY_ID,ENTITY_TYPE,CREATED_BY,STEP,CREATED_DATE,comments )
+    VALUES(score_provider_workflow_seq.nextval,:new.id,'SCORECARD_PROVIDER',:new.UPDATED_BY,:new.STATUS,SYSDATE,:new.REJECT_REASON);
+
+
+END;
+
+
+ALTER TABLE EVALUACION_PROVEEDOR ADD SCORECARD_ID int NULL;

+ 26 - 2
sp_create_replace.sql

@@ -373,6 +373,16 @@ IS
     and p.YEAR = p_year
     and p.MONTH = p_month;
 
+  CURSOR cur_evaluaciones (
+      p_provider_id scorecard_PROVIDER.PROVEEDORES_ID%TYPE,
+      p_month IN SCORECARD_PROVIDER_MONTH.MONTH%TYPE,
+      p_year scorecard_PROVIDER.YEAR%TYPE) is
+  select e.id
+  from EVALUACION_DET e,evaluacion ee
+  where ee.PROVEEDORES_ID = p_provider_id
+    and ee.YEAR = p_year
+    and to_number(to_char(e.mes,'MM')) = p_month;
+
   CURSOR cur_quiz_comments
     (p_provider_id scorecard_PROVIDER.PROVEEDORES_ID%TYPE,
      p_month SCORECARD_PROVIDER_MONTH.MONTH%TYPE,
@@ -409,6 +419,7 @@ IS
   L_COMMENT_ID     EVALUACION_DET_COMMENTARIOS.ID%TYPE;
   L_COMMENT_CREATED_DATE        EVALUACION_DET_COMMENTARIOS.CREATED_DATE%TYPE;
   L_CREATED_BY       EVALUACION_DET_COMMENTARIOS.CREATED_BY%TYPE;
+  L_EVALUACION_PROVEEDOR_ID        EVALUACION_PROVEEDOR.ID%TYPE;
 
   BEGIN
 
@@ -435,6 +446,7 @@ IS
                   UPDATED_DATE = CURRENT_DATE
               WHERE ID = L_SCORECARD_PROVIDER_ID;
 
+
             else
               L_SCORECARD_PROVIDER_ID := scorecard_provider_seq.nextval;
               INSERT INTO SCORECARD_PROVIDER (ID,
@@ -514,6 +526,7 @@ IS
 
       EXIT WHEN cur_quiz_comments%NOTFOUND OR cur_quiz_comments%NOTFOUND IS NULL;
 
+            delete SCORECARD_PROVIDER_COMMENTS where id = L_COMMENT_ID;
 
             INSERT INTO SCORECARD_PROVIDER_COMMENTS (ID,
                                                               COMMENTS,
@@ -530,10 +543,21 @@ IS
     END LOOP ;
     CLOSE cur_quiz_comments;
 
+    OPEN cur_evaluaciones(p_provider_id, p_month, p_year);
+        LOOP
+          FETCH  cur_evaluaciones INTO L_EVALUACION_PROVEEDOR_ID;
+          EXIT WHEN cur_evaluaciones%NOTFOUND OR cur_evaluaciones%NOTFOUND IS NULL;
 
-  END pc_create_up_scorecard;
+          UPDATE EVALUACION_PROVEEDOR SET SCORECARD_ID = L_SCORECARD_PROVIDER_ID
+          where ID=L_EVALUACION_PROVEEDOR_ID;
 
-  ;
+         END LOOP ;
+      CLOSE cur_evaluaciones;
+
+
+END pc_create_up_scorecard;
+
+;