|
@@ -447,7 +447,7 @@ create table AUTHORITIES
|
|
|
AUTHORITY NVARCHAR2(100)
|
|
|
)
|
|
|
;
|
|
|
-create PROCEDURE dashboard_generateScoreYear(pid_evaluacion IN NUMBER,
|
|
|
+CREATE OR REPLACE PROCEDURE dashboard_generateScoreYear(pid_evaluacion IN NUMBER,
|
|
|
result_code OUT NUMBER)
|
|
|
AS
|
|
|
|
|
@@ -528,11 +528,14 @@ EXCEPTION WHEN OTHERS
|
|
|
|
|
|
END;
|
|
|
;
|
|
|
-create PROCEDURE dash_global_by_kpi_month(pid_kpi IN NUMBER,
|
|
|
- pmes IN NUMBER,
|
|
|
- result_code OUT NUMBER)
|
|
|
+CREATE OR REPLACE PROCEDURE dash_global_by_kpi(pid_kpi IN NUMBER,
|
|
|
+ result_code OUT NUMBER)
|
|
|
AS
|
|
|
|
|
|
+
|
|
|
+ paa_id INT := 0;
|
|
|
+
|
|
|
+
|
|
|
BEGIN
|
|
|
|
|
|
result_code := 0;
|
|
@@ -561,31 +564,27 @@ BEGIN
|
|
|
JOIN EVALUACION e ON ed.EVALUACION_ID = e.id
|
|
|
JOIN areas a ON e.AREAS_ID = a.id
|
|
|
JOIN categorias c ON ed.CATEGORIAS_ID = c.id
|
|
|
- JOIN kpi k ON a.KPI_ID = k.id AND k.id = pid_kpi
|
|
|
- WHERE to_number(EXTRACT(MONTH FROM ed.mes), 99) = pmes) detail
|
|
|
+ JOIN kpi k ON a.KPI_ID = k.id
|
|
|
+ AND k.id = pid_kpi) detail
|
|
|
ON (orig.id = detail.detail_id)
|
|
|
WHEN MATCHED THEN UPDATE SET orig.CALIFICACION_GLOBAL = detail.global_categoria;
|
|
|
|
|
|
COMMIT;
|
|
|
|
|
|
-EXCEPTION
|
|
|
- WHEN OTHERS
|
|
|
- THEN
|
|
|
- result_code := -1;
|
|
|
- ROLLBACK;
|
|
|
- RAISE;
|
|
|
+EXCEPTION WHEN OTHERS
|
|
|
+ THEN
|
|
|
+ result_code := -1;
|
|
|
+ ROLLBACK;
|
|
|
+ RAISE;
|
|
|
|
|
|
|
|
|
END;
|
|
|
;
|
|
|
-create PROCEDURE dash_global_by_kpi(pid_kpi IN NUMBER,
|
|
|
- result_code OUT NUMBER)
|
|
|
+CREATE OR REPLACE PROCEDURE dash_global_by_kpi_month(pid_kpi IN NUMBER,
|
|
|
+ pmes IN NUMBER,
|
|
|
+ result_code OUT NUMBER)
|
|
|
AS
|
|
|
|
|
|
-
|
|
|
- paa_id INT := 0;
|
|
|
-
|
|
|
-
|
|
|
BEGIN
|
|
|
|
|
|
result_code := 0;
|
|
@@ -614,23 +613,24 @@ BEGIN
|
|
|
JOIN EVALUACION e ON ed.EVALUACION_ID = e.id
|
|
|
JOIN areas a ON e.AREAS_ID = a.id
|
|
|
JOIN categorias c ON ed.CATEGORIAS_ID = c.id
|
|
|
- JOIN kpi k ON a.KPI_ID = k.id
|
|
|
- AND k.id = pid_kpi) detail
|
|
|
+ JOIN kpi k ON a.KPI_ID = k.id AND k.id = pid_kpi
|
|
|
+ WHERE to_number(EXTRACT(MONTH FROM ed.mes), 99) = pmes) detail
|
|
|
ON (orig.id = detail.detail_id)
|
|
|
WHEN MATCHED THEN UPDATE SET orig.CALIFICACION_GLOBAL = detail.global_categoria;
|
|
|
|
|
|
COMMIT;
|
|
|
|
|
|
-EXCEPTION WHEN OTHERS
|
|
|
- THEN
|
|
|
- result_code := -1;
|
|
|
- ROLLBACK;
|
|
|
- RAISE;
|
|
|
+EXCEPTION
|
|
|
+ WHEN OTHERS
|
|
|
+ THEN
|
|
|
+ result_code := -1;
|
|
|
+ ROLLBACK;
|
|
|
+ RAISE;
|
|
|
|
|
|
|
|
|
END;
|
|
|
;
|
|
|
-create PROCEDURE d_eval_global_month(pid_kpi IN NUMBER, pmes IN NUMBER,
|
|
|
+CREATE OR REPLACE PROCEDURE d_eval_global_month(pid_kpi IN NUMBER, pmes IN NUMBER,
|
|
|
result_code OUT NUMBER)
|
|
|
AS
|
|
|
|
|
@@ -665,7 +665,7 @@ EXCEPTION WHEN OTHERS
|
|
|
|
|
|
END;
|
|
|
;
|
|
|
-create PROCEDURE get_detail_month(pkpi_id IN NUMBER, pmes IN NUMBER, p_cursor IN OUT SYS_REFCURSOR)
|
|
|
+CREATE OR REPLACE PROCEDURE get_detail_month(pkpi_id IN NUMBER, pmes IN NUMBER, p_cursor IN OUT SYS_REFCURSOR)
|
|
|
AS
|
|
|
BEGIN
|
|
|
OPEN p_cursor FOR
|
|
@@ -693,7 +693,7 @@ BEGIN
|
|
|
|
|
|
END;
|
|
|
;
|
|
|
-create PROCEDURE get_detail_global(pkpi_id IN NUMBER, p_cursor IN OUT SYS_REFCURSOR)
|
|
|
+CREATE OR REPLACE PROCEDURE get_detail_global(pkpi_id IN NUMBER, p_cursor IN OUT SYS_REFCURSOR)
|
|
|
AS
|
|
|
BEGIN
|
|
|
OPEN p_cursor FOR
|
|
@@ -720,7 +720,7 @@ BEGIN
|
|
|
|
|
|
END;
|
|
|
;
|
|
|
-create PROCEDURE get_detail_global_month(pkpi_id IN NUMBER, p_cursor IN OUT SYS_REFCURSOR)
|
|
|
+CREATE OR REPLACE PROCEDURE get_detail_global_month(pkpi_id IN NUMBER, p_cursor IN OUT SYS_REFCURSOR)
|
|
|
AS
|
|
|
BEGIN
|
|
|
OPEN p_cursor FOR
|
|
@@ -741,249 +741,244 @@ BEGIN
|
|
|
|
|
|
END;
|
|
|
;
|
|
|
-create PROCEDURE pc_create_up_scorecard(p_provider_id IN PROVEEDORES.ID%TYPE,
|
|
|
- p_year IN SCORECARD_PROVIDER.YEAR%TYPE,
|
|
|
- p_month IN SCORECARD_PROVIDER_MONTH.MONTH%TYPE)
|
|
|
- IS
|
|
|
- -- area
|
|
|
---type acursor is ref cursor;
|
|
|
---cur_score_area acursor;
|
|
|
-
|
|
|
- CURSOR cur_score_cate (p_provider_id IN scorecard_PROVIDER.PROVEEDORES_ID%TYPE,
|
|
|
- p_month IN SCORECARD_PROVIDER_MONTH.MONTH%TYPE,
|
|
|
- p_year IN scorecard_PROVIDER.YEAR%TYPE) is
|
|
|
- SELECT to_number(EXTRACT(MONTH FROM ed.mes), 99) mes,
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+CREATE OR REPLACE PROCEDURE pc_create_up_scorecard(p_provider_id IN INTEGER,
|
|
|
+ p_year IN INTEGER,
|
|
|
+ p_month IN INTEGER)
|
|
|
+IS
|
|
|
+
|
|
|
+ CURSOR cur_score_cate (p_provider_id IN scorecard_PROVIDER.PROVEEDORES_ID%TYPE,
|
|
|
+ p_month IN SCORECARD_PROVIDER_MONTH.MONTH%TYPE,
|
|
|
+ p_year IN scorecard_PROVIDER.YEAR%TYPE) is
|
|
|
+ SELECT to_number(EXTRACT(MONTH FROM ed.mes), 99) mes,
|
|
|
+ to_number(EXTRACT(YEAR FROM ed.mes), 9999) YEAR,
|
|
|
+ p.NOMBRE,a.NOMBRE,c.NOMBRE,
|
|
|
+ p.id,
|
|
|
+ a.ID,c.id,
|
|
|
+ avg(ed.CALIFICACION_ACTUAL) promedio_area
|
|
|
+ FROM EVALUACION_DET ed
|
|
|
+ JOIN EVALUACION e ON ed.EVALUACION_ID = e.id
|
|
|
+ JOIN areas a ON e.AREAS_ID = a.id
|
|
|
+ JOIN categorias c ON ed.CATEGORIAS_ID = c.id
|
|
|
+ JOIN kpi k ON a.KPI_ID = k.id
|
|
|
+ JOIN PROVEEDORES P on e.PROVEEDORES_ID = P.ID
|
|
|
+ WHERE p.id = p_provider_id
|
|
|
+ AND to_number(EXTRACT(MONTH FROM ed.mes), 99) = p_month
|
|
|
+ AND to_number(EXTRACT(year FROM ed.mes), 9999) = p_year
|
|
|
+ GROUP BY k.id, e.id, a.id,c.id, p.nombre,a.nombre,c.nombre, p.id
|
|
|
+ , to_number(EXTRACT(MONTH FROM ed.mes), 99),
|
|
|
+ to_number(EXTRACT(YEAR FROM ed.mes), 9999)
|
|
|
+ order by mes;
|
|
|
+
|
|
|
+ CURSOR cur_score_area (
|
|
|
+ p_provider_id scorecard_PROVIDER.PROVEEDORES_ID%TYPE,
|
|
|
+ p_month SCORECARD_PROVIDER_MONTH.MONTH%TYPE,
|
|
|
+ p_year scorecard_PROVIDER.YEAR%TYPE,
|
|
|
+ p_area_id IN scorecard_PROVIDER.YEAR%TYPE) is
|
|
|
+ SELECT avg(ed.CALIFICACION_ACTUAL)
|
|
|
+ FROM EVALUACION_DET ed
|
|
|
+ JOIN EVALUACION e ON ed.EVALUACION_ID = e.id
|
|
|
+ JOIN areas a ON e.AREAS_ID = a.id
|
|
|
+ JOIN categorias c ON ed.CATEGORIAS_ID = c.id
|
|
|
+ JOIN PROVEEDORES P on e.PROVEEDORES_ID = P.ID
|
|
|
+ WHERE p.id = p_provider_id
|
|
|
+ AND to_number(EXTRACT(MONTH FROM ed.mes), 99) = p_month
|
|
|
+ AND to_number(EXTRACT(year FROM ed.mes), 9999) = p_year
|
|
|
+ and a.id = p_area_id;
|
|
|
+
|
|
|
+ CURSOR cur_score_global (p_provider_id scorecard_PROVIDER.PROVEEDORES_ID%TYPE,
|
|
|
+ p_month SCORECARD_PROVIDER_MONTH.MONTH%TYPE,
|
|
|
+ p_year scorecard_PROVIDER.YEAR%TYPE) is
|
|
|
+ select avg(promedio_categoria),NOMBRE
|
|
|
+ from (SELECT e.id eval_id,
|
|
|
+ c.id categoria_id,
|
|
|
+ to_number(EXTRACT(MONTH FROM ed.mes), 99) mes,
|
|
|
to_number(EXTRACT(YEAR FROM ed.mes), 9999) YEAR,
|
|
|
p.NOMBRE,
|
|
|
- a.NOMBRE,
|
|
|
- c.NOMBRE,
|
|
|
- p.id,
|
|
|
- a.ID,
|
|
|
- c.id,
|
|
|
- avg(ed.CALIFICACION_ACTUAL) promedio_area
|
|
|
- -- INTO L_MONTH, L_YEAR, L_NAME, L_PROVEEDORES_ID, L_LAST_SCORE
|
|
|
- FROM EVALUACION_DET ed
|
|
|
- JOIN EVALUACION e ON ed.EVALUACION_ID = e.id
|
|
|
- JOIN areas a ON e.AREAS_ID = a.id
|
|
|
- JOIN categorias c ON ed.CATEGORIAS_ID = c.id
|
|
|
- JOIN kpi k ON a.KPI_ID = k.id
|
|
|
- JOIN PROVEEDORES P on e.PROVEEDORES_ID = P.ID
|
|
|
- WHERE p.id = p_provider_id
|
|
|
- AND to_number(EXTRACT(MONTH FROM ed.mes), 99) = p_month
|
|
|
- AND to_number(EXTRACT(year FROM ed.mes), 9999) = p_year
|
|
|
- GROUP BY k.id, e.id, a.id, c.id, p.nombre, a.nombre, c.nombre, p.id, to_number(EXTRACT(MONTH FROM ed.mes), 99),
|
|
|
- to_number(EXTRACT(YEAR FROM ed.mes), 9999)
|
|
|
- order by mes;
|
|
|
-
|
|
|
- -- -- por area nota total de todas las areas agrupadas por categoria
|
|
|
- CURSOR cur_score_area (
|
|
|
- p_provider_id scorecard_PROVIDER.PROVEEDORES_ID%TYPE,
|
|
|
- p_month SCORECARD_PROVIDER_MONTH.MONTH%TYPE,
|
|
|
- p_year scorecard_PROVIDER.YEAR%TYPE,
|
|
|
- p_area_id IN scorecard_PROVIDER.YEAR%TYPE) is
|
|
|
- SELECT avg(ed.CALIFICACION_ACTUAL)
|
|
|
+ p.id provedorId,
|
|
|
+ avg(ed.CALIFICACION_ACTUAL) promedio_categoria
|
|
|
FROM EVALUACION_DET ed
|
|
|
- JOIN EVALUACION e ON ed.EVALUACION_ID = e.id
|
|
|
- JOIN areas a ON e.AREAS_ID = a.id
|
|
|
- JOIN categorias c ON ed.CATEGORIAS_ID = c.id
|
|
|
- JOIN PROVEEDORES P on e.PROVEEDORES_ID = P.ID
|
|
|
- WHERE p.id = p_provider_id
|
|
|
- AND to_number(EXTRACT(MONTH FROM ed.mes), 99) = p_month
|
|
|
+ JOIN EVALUACION e ON ed.EVALUACION_ID = e.id
|
|
|
+ JOIN categorias c ON ed.CATEGORIAS_ID = c.id
|
|
|
+ JOIN PROVEEDORES P on e.PROVEEDORES_ID = P.ID
|
|
|
+ where p.id = p_provider_id
|
|
|
+ and to_number(EXTRACT(MONTH FROM ed.mes), 99) = p_month
|
|
|
AND to_number(EXTRACT(year FROM ed.mes), 9999) = p_year
|
|
|
- and a.id = p_area_id
|
|
|
- --group by ed.id
|
|
|
- -- GROUP BY c.id, p.nombre,c.nombre, p.id, to_number(EXTRACT(MONTH FROM ed.mes), 99),
|
|
|
- -- to_number(EXTRACT(YEAR FROM ed.mes), 9999)
|
|
|
- ;
|
|
|
-
|
|
|
- -- p.NOMBRE,a.NOMBRE,c.nombre catname,
|
|
|
- -- p.id,
|
|
|
-
|
|
|
- --global
|
|
|
- CURSOR cur_score_global (p_provider_id scorecard_PROVIDER.PROVEEDORES_ID%TYPE,
|
|
|
- p_month SCORECARD_PROVIDER_MONTH.MONTH%TYPE,
|
|
|
- p_year scorecard_PROVIDER.YEAR%TYPE) is
|
|
|
- select -- mes, YEAR, NOMBRE, provedorId,
|
|
|
- -- categoria_id,
|
|
|
- avg(promedio_categoria), NOMBRE
|
|
|
- -- INTO L_TOTAL_AVG
|
|
|
- from (SELECT e.id eval_id,
|
|
|
- c.id categoria_id,
|
|
|
- to_number(EXTRACT(MONTH FROM ed.mes), 99) mes,
|
|
|
- to_number(EXTRACT(YEAR FROM ed.mes), 9999) YEAR,
|
|
|
- p.NOMBRE,
|
|
|
- p.id provedorId,
|
|
|
- avg(ed.CALIFICACION_ACTUAL) promedio_categoria
|
|
|
- FROM EVALUACION_DET ed
|
|
|
- JOIN EVALUACION e ON ed.EVALUACION_ID = e.id
|
|
|
- JOIN categorias c ON ed.CATEGORIAS_ID = c.id
|
|
|
- JOIN PROVEEDORES P on e.PROVEEDORES_ID = P.ID
|
|
|
- where p.id = p_provider_id
|
|
|
- and to_number(EXTRACT(MONTH FROM ed.mes), 99) = p_month
|
|
|
- AND to_number(EXTRACT(year FROM ed.mes), 9999) = p_year
|
|
|
- GROUP BY e.id, c.id, p.nombre, p.id, to_number(EXTRACT(MONTH FROM ed.mes), 99),
|
|
|
- to_number(EXTRACT(YEAR FROM ed.mes), 9999))
|
|
|
- group by YEAR, NOMBRE, provedorId; --mes,
|
|
|
-
|
|
|
- CURSOR cur_score_year (
|
|
|
- p_provider_id scorecard_PROVIDER.PROVEEDORES_ID%TYPE,
|
|
|
- p_month IN SCORECARD_PROVIDER_MONTH.MONTH%TYPE,
|
|
|
- p_year scorecard_PROVIDER.YEAR%TYPE) is
|
|
|
- select p.id, p.LAST_SCORE
|
|
|
- from SCORECARD_PROVIDER p
|
|
|
- where p.PROVEEDORES_ID = p_provider_id
|
|
|
- and p.YEAR = p_year
|
|
|
- and p.MONTH = p_month;
|
|
|
-
|
|
|
- CURSOR cur_quiz_comments
|
|
|
- (p_provider_id scorecard_PROVIDER.PROVEEDORES_ID%TYPE,
|
|
|
- p_month SCORECARD_PROVIDER_MONTH.MONTH%TYPE,
|
|
|
- p_year scorecard_PROVIDER.YEAR%TYPE)
|
|
|
- is
|
|
|
- select d.id, d.comentario, d.CREATED_DATE, d.CREATED_BY
|
|
|
- from EVALUACION_DET_COMMENTARIOS d
|
|
|
- join evaluacion_det e on e.id = d.EVALUACION_DET_ID
|
|
|
- join evaluacion x on x.id = e.EVALUACION_ID
|
|
|
- and x.PROVEEDORES_ID = p_provider_id
|
|
|
- and to_number(EXTRACT(MONTH FROM e.mes), 99) = p_month
|
|
|
- AND to_number(EXTRACT(year FROM e.mes), 9999) = p_year;
|
|
|
-
|
|
|
-
|
|
|
- L_NAME scorecard_PROVIDER.NAME%TYPE;
|
|
|
- L_LAST_SCORE_AREA SCORECARD_PROVIDER_MONTH.SCORE%TYPE;
|
|
|
- L_LAST_SCORE scorecard_PROVIDER.LAST_SCORE%TYPE; -- CATGORIAS
|
|
|
- L_BEFORE_SCORE scorecard_PROVIDER.BEFORE_SCORE%TYPE;
|
|
|
- L_TOTAL_AVG scorecard_PROVIDER.TOTAL_AVG%TYPE;
|
|
|
- L_TARGET scorecard_PROVIDER.TARGET%TYPE := 5;
|
|
|
- L_YEAR scorecard_PROVIDER.YEAR%TYPE := p_year;
|
|
|
- L_CREATED_DATE scorecard_PROVIDER.CREATED_DATE%TYPE;
|
|
|
- L_PROVEEDORES_ID scorecard_PROVIDER.PROVEEDORES_ID%TYPE := p_provider_id;
|
|
|
- L_SCORECARD_PROVIDER SCORECARD_PROVIDER.PROVEEDORES_ID%TYPE;
|
|
|
- L_MONTH SCORECARD_PROVIDER_MONTH.MONTH%TYPE := p_month;
|
|
|
- L_SCORECARD_PROVIDER_ID SCORECARD_PROVIDER.ID%TYPE;
|
|
|
- L_NOMBRE_AREA scorecard_PROVIDER_MONTH.NOMBRE_AREA%TYPE;
|
|
|
- L_NOMBRE_CATEGORIA scorecard_PROVIDER_MONTH.NOMBRE_CATEGORIA%TYPE;
|
|
|
- L_ID_AREA AREAS.ID%TYPE;
|
|
|
- L_ID_CATEGORIA CATEGORIAS.ID%TYPE;
|
|
|
- L_COMMENT EVALUACION_DET_COMMENTARIOS.COMENTARIO%TYPE;
|
|
|
- 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;
|
|
|
-
|
|
|
- --d.comentario,d.CREATED_DATE,x.PROVEEDORES_ID,e.MES
|
|
|
-
|
|
|
-BEGIN
|
|
|
- --DBMS_OUTPUT.ENABLE (buffer_size IN INTEGER DEFAULT 20000);
|
|
|
-
|
|
|
- OPEN cur_score_global(p_provider_id, p_month, p_year);
|
|
|
- FETCH cur_score_global INTO L_TOTAL_AVG, L_NAME;
|
|
|
+ GROUP BY e.id, c.id, p.nombre, p.id, to_number(EXTRACT(MONTH FROM ed.mes), 99),
|
|
|
+ to_number(EXTRACT(YEAR FROM ed.mes), 9999))
|
|
|
+ group by YEAR, NOMBRE, provedorId; --mes,
|
|
|
+
|
|
|
+ CURSOR cur_score_year (
|
|
|
+ p_provider_id scorecard_PROVIDER.PROVEEDORES_ID%TYPE,
|
|
|
+ p_month IN SCORECARD_PROVIDER_MONTH.MONTH%TYPE,
|
|
|
+ p_year scorecard_PROVIDER.YEAR%TYPE) is
|
|
|
+ select p.id, p.LAST_SCORE
|
|
|
+ from SCORECARD_PROVIDER p
|
|
|
+ where p.PROVEEDORES_ID = p_provider_id
|
|
|
+ and p.YEAR = p_year
|
|
|
+ and p.MONTH = p_month;
|
|
|
+
|
|
|
+ CURSOR cur_quiz_comments
|
|
|
+ (p_provider_id scorecard_PROVIDER.PROVEEDORES_ID%TYPE,
|
|
|
+ p_month SCORECARD_PROVIDER_MONTH.MONTH%TYPE,
|
|
|
+ p_year scorecard_PROVIDER.YEAR%TYPE)
|
|
|
+ is
|
|
|
+ select d.id,d.comentario,d.CREATED_DATE,d.CREATED_BY
|
|
|
+ from EVALUACION_DET_COMMENTARIOS d
|
|
|
+ join evaluacion_det e on e.id =d.EVALUACION_DET_ID
|
|
|
+ join evaluacion x on x.id = e.EVALUACION_ID
|
|
|
+ and x.PROVEEDORES_ID = p_provider_id
|
|
|
+ and to_number(EXTRACT(MONTH FROM e.mes), 99) = p_month
|
|
|
+ AND to_number(EXTRACT(year FROM e.mes), 9999) = p_year;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ L_NAME scorecard_PROVIDER.NAME%TYPE;
|
|
|
+ L_LAST_SCORE_AREA SCORECARD_PROVIDER_MONTH.SCORE%TYPE;
|
|
|
+ L_LAST_SCORE scorecard_PROVIDER.LAST_SCORE%TYPE; -- CATGORIAS
|
|
|
+ L_BEFORE_SCORE scorecard_PROVIDER.BEFORE_SCORE%TYPE;
|
|
|
+ L_TOTAL_AVG scorecard_PROVIDER.TOTAL_AVG%TYPE;
|
|
|
+ L_TARGET scorecard_PROVIDER.TARGET%TYPE:=5;
|
|
|
+ L_YEAR scorecard_PROVIDER.YEAR%TYPE:=p_year;
|
|
|
+ L_CREATED_DATE scorecard_PROVIDER.CREATED_DATE%TYPE;
|
|
|
+ L_PROVEEDORES_ID scorecard_PROVIDER.PROVEEDORES_ID%TYPE:=p_provider_id;
|
|
|
+ L_SCORECARD_PROVIDER SCORECARD_PROVIDER.PROVEEDORES_ID%TYPE;
|
|
|
+ L_MONTH SCORECARD_PROVIDER_MONTH.MONTH%TYPE:=p_month;
|
|
|
+ L_SCORECARD_PROVIDER_ID SCORECARD_PROVIDER.ID%TYPE;
|
|
|
+ L_NOMBRE_AREA scorecard_PROVIDER_MONTH.NOMBRE_AREA%TYPE;
|
|
|
+ L_NOMBRE_CATEGORIA scorecard_PROVIDER_MONTH.NOMBRE_CATEGORIA%TYPE;
|
|
|
+ L_ID_AREA AREAS.ID%TYPE;
|
|
|
+ L_ID_CATEGORIA CATEGORIAS.ID%TYPE;
|
|
|
+ L_COMMENT EVALUACION_DET_COMMENTARIOS.COMENTARIO%TYPE;
|
|
|
+ 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;
|
|
|
+
|
|
|
+ BEGIN
|
|
|
+
|
|
|
+ OPEN cur_score_global(p_provider_id,p_month,p_year);
|
|
|
+ FETCH cur_score_global INTO L_TOTAL_AVG,L_NAME;
|
|
|
CLOSE cur_score_global;
|
|
|
|
|
|
- OPEN cur_score_year(p_provider_id, p_month, p_year);
|
|
|
+ OPEN cur_score_year (p_provider_id,p_month,p_year);
|
|
|
FETCH cur_score_year INTO L_SCORECARD_PROVIDER_ID, L_LAST_SCORE;
|
|
|
|
|
|
CLOSE cur_score_year;
|
|
|
|
|
|
|
|
|
if L_SCORECARD_PROVIDER_ID > 0
|
|
|
- then
|
|
|
- UPDATE SCORECARD_PROVIDER
|
|
|
- SET NAME = L_NAME,
|
|
|
- LAST_SCORE = L_TOTAL_AVG, --L_LAST_SCORE,
|
|
|
- BEFORE_SCORE = L_BEFORE_SCORE,
|
|
|
- TOTAL_AVG = L_TOTAL_AVG,
|
|
|
- TARGET = L_TARGET,
|
|
|
- YEAR = L_YEAR,
|
|
|
- UPDATED_DATE = CURRENT_DATE
|
|
|
- WHERE ID = L_SCORECARD_PROVIDER_ID;
|
|
|
-
|
|
|
- else
|
|
|
- --NVL(MAX(CodigoImpacto),0)+1
|
|
|
- --select scorecard_provider_seq.nextval into L_SCORECARD_PROVIDER_ID from dual;
|
|
|
- L_SCORECARD_PROVIDER_ID := scorecard_provider_seq.nextval;
|
|
|
- INSERT INTO SCORECARD_PROVIDER (ID,
|
|
|
- NAME,
|
|
|
- LAST_SCORE,
|
|
|
- BEFORE_SCORE,
|
|
|
- TOTAL_AVG,
|
|
|
- TARGET,
|
|
|
- YEAR,
|
|
|
- CREATED_DATE,
|
|
|
- PROVEEDORES_ID,
|
|
|
- STATUS,
|
|
|
- MONTH)
|
|
|
- --select NVL(MAX(id),0)+1,
|
|
|
- values (L_SCORECARD_PROVIDER_ID, --SCORECARD_PROVIDER_SEQ.nextval,
|
|
|
- L_NAME, L_TOTAL_AVG, --L_LAST_SCORE,
|
|
|
- L_TOTAL_AVG, --L_BEFORE_SCORE,
|
|
|
- L_TOTAL_AVG, L_TARGET, p_year, CURRENT_DATE, p_provider_id, 'NO INICIADO', p_month)
|
|
|
- --from SCORECARD_PROVIDER
|
|
|
- ;
|
|
|
- end if;
|
|
|
+ then
|
|
|
+ UPDATE SCORECARD_PROVIDER
|
|
|
+ SET NAME = L_NAME,
|
|
|
+ LAST_SCORE = L_TOTAL_AVG,
|
|
|
+ BEFORE_SCORE = L_BEFORE_SCORE,
|
|
|
+ TOTAL_AVG = L_TOTAL_AVG,
|
|
|
+ TARGET = L_TARGET,
|
|
|
+ YEAR = L_YEAR,
|
|
|
+ UPDATED_DATE = CURRENT_DATE
|
|
|
+ WHERE ID = L_SCORECARD_PROVIDER_ID;
|
|
|
+
|
|
|
+ else
|
|
|
+ L_SCORECARD_PROVIDER_ID := scorecard_provider_seq.nextval;
|
|
|
+ INSERT INTO SCORECARD_PROVIDER (ID,
|
|
|
+ NAME,
|
|
|
+ LAST_SCORE,
|
|
|
+ BEFORE_SCORE,
|
|
|
+ TOTAL_AVG,
|
|
|
+ TARGET,
|
|
|
+ YEAR,
|
|
|
+ CREATED_DATE,
|
|
|
+ PROVEEDORES_ID,
|
|
|
+ STATUS,
|
|
|
+ MONTH)
|
|
|
+
|
|
|
+ values( L_SCORECARD_PROVIDER_ID,
|
|
|
+ L_NAME,
|
|
|
+ L_TOTAL_AVG,
|
|
|
+ 0,
|
|
|
+ L_TOTAL_AVG,--L_LAST_SCORE,
|
|
|
+ L_TARGET,--L_BEFORE_SCORE,
|
|
|
+ p_year,
|
|
|
+ CURRENT_DATE,
|
|
|
+ p_provider_id,
|
|
|
+ 'NO INICIADO',
|
|
|
+ p_month)
|
|
|
+ ;
|
|
|
+ end if;
|
|
|
|
|
|
OPEN cur_score_cate(p_provider_id, p_month, p_year);
|
|
|
- LOOP
|
|
|
- FETCH cur_score_cate INTO L_MONTH, L_YEAR,
|
|
|
- L_NAME, L_NOMBRE_AREA, L_NOMBRE_CATEGORIA, L_PROVEEDORES_ID, L_ID_AREA, L_ID_CATEGORIA,
|
|
|
- L_LAST_SCORE;
|
|
|
- EXIT WHEN cur_score_cate%NOTFOUND OR cur_score_cate%NOTFOUND IS NULL;
|
|
|
-
|
|
|
-
|
|
|
- open cur_score_area(p_provider_id, p_month, p_year, L_ID_AREA); --nota agrupada de las categorias al area
|
|
|
- FETCH cur_score_area INTO L_LAST_SCORE_AREA;
|
|
|
- CLOSE cur_score_area;
|
|
|
+ LOOP
|
|
|
+ FETCH cur_score_cate INTO L_MONTH,L_YEAR,
|
|
|
+ L_NAME,L_NOMBRE_AREA,L_NOMBRE_CATEGORIA,L_PROVEEDORES_ID,L_ID_AREA,L_ID_CATEGORIA,
|
|
|
+ L_LAST_SCORE;
|
|
|
+ EXIT WHEN cur_score_cate%NOTFOUND OR cur_score_cate%NOTFOUND IS NULL;
|
|
|
+
|
|
|
+
|
|
|
+ open cur_score_area(p_provider_id, p_month, p_year,L_ID_AREA);--nota agrupada de las categorias al area
|
|
|
+ FETCH cur_score_area INTO L_LAST_SCORE_AREA;
|
|
|
+ CLOSE cur_score_area;
|
|
|
+
|
|
|
+ INSERT INTO SCORECARD_PROVIDER_MONTH (ID,
|
|
|
+ MONTH,
|
|
|
+ SCORE,
|
|
|
+ BEFORE_SCORE,
|
|
|
+ SCORE_CATEGORY,
|
|
|
+ BEFORE_SCORE_CATEGORY,
|
|
|
+ CREATED_DATE,
|
|
|
+ SCORECARD_PROVIDER_ID,
|
|
|
+ ESTADO,
|
|
|
+ NOMBRE_AREA,
|
|
|
+ NOMBRE_CATEGORIA,
|
|
|
+ ID_AREA,ID_CATEGORIA)
|
|
|
+ VALUES (scorecard_provider_month_seq.nextval,
|
|
|
+ L_MONTH,
|
|
|
+ L_LAST_SCORE_AREA,
|
|
|
+ L_LAST_SCORE_AREA,
|
|
|
+ L_LAST_SCORE,
|
|
|
+ L_LAST_SCORE,
|
|
|
+ CURRENT_DATE,
|
|
|
+ L_SCORECARD_PROVIDER_ID,
|
|
|
+ 'NO INICIADO',
|
|
|
+ L_NOMBRE_AREA,
|
|
|
+ L_NOMBRE_CATEGORIA,
|
|
|
+ L_ID_AREA,L_ID_CATEGORIA);
|
|
|
|
|
|
- --insert into log values ('*****');
|
|
|
- INSERT INTO SCORECARD_PROVIDER_MONTH (ID,
|
|
|
- MONTH,
|
|
|
- SCORE,
|
|
|
- BEFORE_SCORE,
|
|
|
- SCORE_CATEGORY,
|
|
|
- BEFORE_SCORE_CATEGORY,
|
|
|
- CREATED_DATE,
|
|
|
- SCORECARD_PROVIDER_ID,
|
|
|
- ESTADO,
|
|
|
- NOMBRE_AREA,
|
|
|
- NOMBRE_CATEGORIA,
|
|
|
- ID_AREA,
|
|
|
- ID_CATEGORIA)
|
|
|
- VALUES (scorecard_provider_month_seq.nextval,
|
|
|
- L_MONTH,
|
|
|
- L_LAST_SCORE_AREA,
|
|
|
- L_LAST_SCORE_AREA,
|
|
|
- L_LAST_SCORE,
|
|
|
- L_LAST_SCORE,
|
|
|
- CURRENT_DATE,
|
|
|
- L_SCORECARD_PROVIDER_ID,
|
|
|
- 'NO INICIADO',
|
|
|
- L_NOMBRE_AREA,
|
|
|
- L_NOMBRE_CATEGORIA,
|
|
|
- L_ID_AREA,
|
|
|
- L_ID_CATEGORIA);
|
|
|
-
|
|
|
- END LOOP;
|
|
|
+ END LOOP;
|
|
|
close cur_score_cate;
|
|
|
|
|
|
- OPEN cur_quiz_comments(p_provider_id, p_month, p_year);
|
|
|
+ OPEN cur_quiz_comments (p_provider_id,p_month,p_year);
|
|
|
LOOP
|
|
|
- FETCH cur_quiz_comments INTO L_COMMENT_ID, L_COMMENT, L_COMMENT_CREATED_DATE, L_CREATED_BY;
|
|
|
+ FETCH cur_quiz_comments INTO L_COMMENT_ID,L_COMMENT,L_COMMENT_CREATED_DATE,L_CREATED_BY;
|
|
|
+
|
|
|
+ EXIT WHEN cur_quiz_comments%NOTFOUND OR cur_quiz_comments%NOTFOUND IS NULL;
|
|
|
+
|
|
|
+ INSERT INTO SCORECARD_PROVIDER_COMMENTS (ID,
|
|
|
+ COMMENTS,
|
|
|
+ CREATED_DATE,
|
|
|
+ CREATED_USER,
|
|
|
+ SCORECARD_PROVIDER_ID)
|
|
|
+ VALUES (L_COMMENT_ID,
|
|
|
+ L_COMMENT,
|
|
|
+ L_COMMENT_CREATED_DATE,
|
|
|
+ L_CREATED_BY,
|
|
|
+ L_SCORECARD_PROVIDER_ID
|
|
|
+ );
|
|
|
+
|
|
|
+ END LOOP ;
|
|
|
+ CLOSE cur_quiz_comments;
|
|
|
|
|
|
- EXIT WHEN cur_quiz_comments%NOTFOUND OR cur_quiz_comments%NOTFOUND IS NULL;
|
|
|
|
|
|
- INSERT INTO SCORECARD_PROVIDER_COMMENTS (ID,
|
|
|
- COMMENTS,
|
|
|
- CREATED_DATE,
|
|
|
- CREATED_USER,
|
|
|
- SCORECARD_PROVIDER_ID)
|
|
|
- VALUES (L_COMMENT_ID, L_COMMENT, L_COMMENT_CREATED_DATE, L_CREATED_BY, L_SCORECARD_PROVIDER_ID);
|
|
|
+ END pc_create_up_scorecard;
|
|
|
+ ;
|
|
|
|
|
|
- END LOOP;
|
|
|
- CLOSE cur_quiz_comments;
|
|
|
|
|
|
|
|
|
-END pc_create_up_scorecard;
|
|
|
-;
|
|
|
-create PROCEDURE GET_RESUME_SCORE_AREA(
|
|
|
+
|
|
|
+
|
|
|
+CREATE OR REPLACE PROCEDURE GET_RESUME_SCORE_AREA(
|
|
|
p_scoreprovider_id IN SCORECARD_PROVIDER.ID%TYPE
|
|
|
, p_cursor IN OUT SYS_REFCURSOR)
|
|
|
IS
|
|
@@ -994,13 +989,16 @@ BEGIN
|
|
|
from scorecard_provider_month s
|
|
|
where scorecard_provider_id = p_scoreprovider_id
|
|
|
group by s.ID_AREA, s.nombre_area, s.score;
|
|
|
-
|
|
|
+--
|
|
|
|
|
|
END GET_RESUME_SCORE_AREA;
|
|
|
;
|
|
|
-create PROCEDURE GET_RESUME_LASTEST_MONTHS(
|
|
|
- p_provider_id IN SCORECARD_PROVIDER.ID%TYPE
|
|
|
- , p_cursor IN OUT SYS_REFCURSOR)
|
|
|
+
|
|
|
+
|
|
|
+CREATE OR REPLACE PROCEDURE GET_RESUME_LASTEST_MONTHS(
|
|
|
+ p_provider_id IN SCORECARD_PROVIDER.ID%TYPE,
|
|
|
+ p_year in INTEGER,
|
|
|
+ p_cursor IN OUT SYS_REFCURSOR)
|
|
|
IS
|
|
|
|
|
|
BEGIN
|
|
@@ -1008,15 +1006,16 @@ BEGIN
|
|
|
select p.MONTH as name, (p.TOTAL_AVG / 5 * 100) as score
|
|
|
from scorecard_provider p
|
|
|
where p.proveedores_id = p_provider_id
|
|
|
- and p.year = 2019
|
|
|
+ and p.year = p_year
|
|
|
and p.month > 0
|
|
|
order by p.MONTH;
|
|
|
- --and p.status = 'APROBADO';
|
|
|
|
|
|
|
|
|
END GET_RESUME_LASTEST_MONTHS;
|
|
|
;
|
|
|
-create PROCEDURE GET_SCOREPRO_CATEGORY_SCORES(
|
|
|
+
|
|
|
+
|
|
|
+CREATE OR REPLACE PROCEDURE GET_SCOREPRO_CATEGORY_SCORES(
|
|
|
p_scoreprovider_id IN SCORECARD_PROVIDER.ID%TYPE,
|
|
|
p_area_id IN SCORECARD_PROVIDER_MONTH.ID_AREA%TYPE,
|
|
|
p_cursor IN OUT SYS_REFCURSOR)
|
|
@@ -1029,8 +1028,102 @@ BEGIN
|
|
|
where s.scorecard_provider_id = p_scoreprovider_id
|
|
|
and s.ID_AREA = p_area_id;
|
|
|
|
|
|
+
|
|
|
--and p.status = 'APROBADO';
|
|
|
|
|
|
|
|
|
END GET_SCOREPRO_CATEGORY_SCORES;
|
|
|
;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+CREATE OR REPLACE PROCEDURE P_GET_TREND_GLOBAL_MONTH(p_providerId IN NUMBER, p_cursor IN OUT SYS_REFCURSOR)
|
|
|
+AS
|
|
|
+ BEGIN
|
|
|
+ OPEN p_cursor FOR
|
|
|
+
|
|
|
+ select * from scorecard_provider p
|
|
|
+ where p.PROVEEDORES_ID = p_providerId
|
|
|
+ order BY TO_NUMBER(p.YEAR), TO_NUMBER(p.MONTH) ASC;
|
|
|
+ --and status ='PUBLICADO'
|
|
|
+
|
|
|
+ END;
|
|
|
+
|
|
|
+CREATE OR REPLACE PROCEDURE P_GET_DETAIL_BY_PROVIDER(
|
|
|
+ p_provider_id IN NUMBER,
|
|
|
+ p_year in number,
|
|
|
+ p_cursor IN OUT SYS_REFCURSOR
|
|
|
+)
|
|
|
+AS
|
|
|
+ BEGIN
|
|
|
+ OPEN p_cursor FOR
|
|
|
+ select 1 as kpi_id,
|
|
|
+ m.nombre_area kpi_nombre,
|
|
|
+ 1 as evalId,
|
|
|
+ p.TOTAL_AVG global_actual,
|
|
|
+ m.ID_AREA areas_id,
|
|
|
+ m.NOMBRE_AREA area_nombre,
|
|
|
+ m.ID_CATEGORIA categoria_id,
|
|
|
+ m.NOMBRE_CATEGORIA cat_nombre,
|
|
|
+ p.TARGET meta,
|
|
|
+ (m.SCORE_CATEGORY / 5 ) global_categoria,
|
|
|
+ 1 detail_id,
|
|
|
+ m.MONTH mes_number,
|
|
|
+ p.YEAR,
|
|
|
+ m.SCORE calificacion_actual,
|
|
|
+ p.LAST_SCORE calificacion_global
|
|
|
+ from SCORECARD_PROVIDER p
|
|
|
+ join SCORECARD_PROVIDER_MONTH m on m.SCORECARD_PROVIDER_ID = p.id
|
|
|
+ where p.PROVEEDORES_ID = p_provider_id
|
|
|
+ and p.TOTAL_AVG is not null
|
|
|
+ order by TO_NUMBER(p.YEAR),TO_NUMBER(m.MONTH),m.ID_AREA,m.ID_CATEGORIA ;
|
|
|
+
|
|
|
+ END;
|
|
|
+
|
|
|
+
|
|
|
+CREATE OR REPLACE PROCEDURE P_GET_PROGRESS_ACTION_PLAN(
|
|
|
+ p_providerId IN NUMBER,
|
|
|
+ p_year IN NUMBER,
|
|
|
+ p_cursor IN OUT SYS_REFCURSOR)
|
|
|
+AS
|
|
|
+ BEGIN
|
|
|
+ OPEN p_cursor FOR
|
|
|
+
|
|
|
+ SELECT SUM(AVANCE_CM)/COUNT(*) progress from PLAN_ACCION
|
|
|
+ where PROVEEDOR_ID = p_providerId
|
|
|
+-- AND ESTADO = 'EN PROGRESO'
|
|
|
+-- AND YEAR =
|
|
|
+ GROUP BY PROVEEDOR_ID;
|
|
|
+
|
|
|
+ END;
|
|
|
+
|
|
|
+CREATE OR REPLACE PROCEDURE P_GET_ACTION_PLAN_STATUS(
|
|
|
+ p_providerId IN NUMBER,
|
|
|
+ p_year IN NUMBER,
|
|
|
+ p_cursor IN OUT SYS_REFCURSOR)
|
|
|
+AS
|
|
|
+ BEGIN
|
|
|
+ OPEN p_cursor FOR
|
|
|
+
|
|
|
+ select p.ESTADO,COUNT(*) qty from PLAN_ACCION p
|
|
|
+ where PROVEEDOR_ID = p_providerId
|
|
|
+-- AND YEAR =
|
|
|
+ group by p.ESTADO;
|
|
|
+
|
|
|
+ END;
|
|
|
+
|
|
|
+CREATE OR REPLACE PROCEDURE P_GET_GLOBAL_AVG(
|
|
|
+ p_providerId IN NUMBER,
|
|
|
+ p_year IN NUMBER,
|
|
|
+ p_cursor IN OUT SYS_REFCURSOR)
|
|
|
+AS
|
|
|
+ BEGIN
|
|
|
+ OPEN p_cursor FOR
|
|
|
+
|
|
|
+ select sum(last_score)/count(*) global_avg
|
|
|
+ from SCORECARD_PROVIDER p
|
|
|
+ where p.PROVEEDORES_ID =p_providerId
|
|
|
+ AND p.year = p_year
|
|
|
+ ;
|
|
|
+
|
|
|
+ END;
|