ALTER TABLE EVALUACION_DET MODIFY CREATED_BY NVARCHAR2(50) DEFAULT NULL;
ALTER TABLE EVALUACION_DET MODIFY UPDATED_BY NVARCHAR2(50) DEFAULT NULL;

################################################
cREATE SEQUENCE proveedores_seq
  MINVALUE 1
  MAXVALUE 9999999999
  START WITH 4
  INCREMENT BY 1;

cREATE SEQUENCE users_seq
  MINVALUE 1
  MAXVALUE 9999999999
  START WITH 4
  INCREMENT BY 1;

cREATE SEQUENCE kpis_seq
    MINVALUE 1
    MAXVALUE 9999999999
    START WITH 4
    INCREMENT BY 1;

cREATE SEQUENCE areas_seq
    MINVALUE 1
    MAXVALUE 9999999999
    START WITH 4
    INCREMENT BY 1;

cREATE SEQUENCE categorys_seq
    MINVALUE 1
    MAXVALUE 9999999999
    START WITH 4
    INCREMENT BY 1;

CREATE SEQUENCE ev_detail_seq
  MINVALUE 1
  MAXVALUE 9999999999
  START WITH 10
  INCREMENT BY 1;





##############################################
    DROP PROCEDURE dashboard_generateScoreYear;


    CREATE PROCEDURE dashboard_generateScoreYear(pid_evaluacion IN  NUMBER,
                                                 result_code    OUT NUMBER)
    AS


      paa_id INT := 0;


      CURSOR c1 IS

        SELECT e.id     AS id_evaluacion,
               e.meta   AS meta_evaluacion,
               e.CALIFICACION,
               e.CALIFICACION_ANTERIOR,
               a.id     AS id_area,
               a.nombre AS nombre_area,
               a.meta      meta_area,
               a.kpi_id,
               k.NOMBRE AS nombre_kpi,
               c.id     AS id_categoria,
               c.nombre AS nombre_categoria
        FROM EVALUACION e
               JOIN areas a ON e.AREAS_ID = a.ID
               JOIN kpi k ON a.KPI_ID = k.id
               LEFT JOIN categorias c ON a.id = c.AREAS_ID;

      BEGIN

        result_code := 0;


        FOR custom IN c1
        LOOP

          FOR i IN 1..11
          LOOP
            INSERT INTO EVALUACION_DET (ID,
                                        COMENTARIO,
                                        CM_USER_UPDATE,
                                        VISIBLE_PROVEEDOR,
                                        CALIFICACION_ANTERIOR,
                                        CALIFICACION_ACTUAL,
                                        CALIFICACION_GLOBAL,
                                        MES,
                                        CREATED_BY,
                                        UPDATED_BY,
                                        CREATED_DATE,
                                        UPDATED_DATE,
                                        EVALUACION_ID,
                                        CATEGORIAS_ID)
            VALUES (EV_DETAIL_SEQ.nextval,
                    'inicial',
                    'admin',
                    's',
                    4.00,
                    5.00,
                    6.00,
                    TO_DATE('2019-' || i || '-25 19:00:00', 'YYYY-MM-DD HH24:MI:SS'),
                    'admin',
                    'admin',
                    current_date,
                    current_date,
                    custom.id_evaluacion,
                    custom.id_categoria);
          END LOOP;

        END LOOP;

        result_code := 0;

        -- COMMIT;

        EXCEPTION WHEN OTHERS
        THEN
          result_code := -1;
          ROLLBACK;
          RAISE;


      END;
    /
