jotazetaec

Untitled

Jun 8th, 2023
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. select
  2.     u.idperiodo,
  3.     u.periodo,
  4.     u.facultad,
  5.     u.idfacultad ,
  6.     u.departamento,
  7.     u.iddepartamento ,
  8.     u.idescuela,
  9.     u.facultadEscuela,
  10.     u.escuela,
  11.     u.cedula,
  12.     u.id_docente,
  13.     u.docente,
  14.     u.idcategoria,
  15.     u.categoria,
  16.     u.dedicacion,
  17.     u.modalidad,
  18.     round(u.h_docencia,2) as h_docencia,
  19.     round(u.h_investigacion,2) as h_investigacion,
  20.     round(u.h_gestion,2) as h_gestion,
  21.     round(u.nd_hetero,2) as nd_hetero,
  22.     round(u.nd_auto,2) as nd_auto,
  23.     round(u.nd_direc,2) as nd_direc,
  24.     round(u.nd_par,2) as nd_par,
  25.     round(u.ni_auto,2) as ni_auto,
  26.     round(u.ni_direc,2) as ni_direc,
  27.     round(u.ni_par,2) as ni_par,
  28.     round(u.ng_auto,2) as ng_auto,
  29.     round(u.ng_par,2) as ng_par,
  30.     round(u.ng_direc,2) as ng_direc,
  31.     round((u.nd_hetero + u.nd_auto + u.nd_direc + u.nd_par),2) as "n_doc al 100%",
  32.     round((u.ni_auto + u.ni_direc + u.ni_par),2) as "n_invest  al 100%",
  33.     round((u.ng_auto + u.ng_par + u.ng_direc),2)  as "n_gest  al 100%",
  34.     round((u.nd_hetero + u.nd_auto + u.nd_direc + u.nd_par) * u.h_docencia/100,2) as n_doc_pond,
  35.     round((u.ni_auto + u.ni_direc + u.ni_par) * u.h_investigacion/100,2) as n_inv_pond,
  36.     round((u.ng_auto + u.ng_par + u.ng_direc) * u.h_gestion/100,2) as n_gest_pond,
  37.     round((((u.nd_hetero + u.nd_auto + u.nd_direc + u.nd_par) * u.h_docencia/100)+
  38.     ((u.ni_auto + u.ni_direc + u.ni_par) * u.h_investigacion/100)+
  39.     ((u.ng_auto + u.ng_par + u.ng_direc) * u.h_gestion/100)),2) as "n_total ponderada",
  40.     round(coalesce(cump.porc_cump_doc,0),2) as "cump_doc al 100%",
  41.     round(coalesce(cump.porc_cump_inv,0),2) as "cump_inv al 100%",
  42.     round(coalesce(cump.porc_cump_ges,0),2) as "cump_gest al 100%",
  43.     round((coalesce(cump.porc_cump_doc,0) * u.h_docencia/100),2) as cump_doc_pond,
  44.     round((coalesce(cump.porc_cump_inv,0) * u.h_investigacion/100),2) as cump_doc_pond,
  45.     round((coalesce(cump.porc_cump_ges,0) * u.h_gestion/100),2) as cump_doc_pond,
  46.     round(((coalesce(cump.porc_cump_doc,0) * u.h_docencia/100) +
  47.     (coalesce(cump.porc_cump_inv,0) * u.h_investigacion/100) +
  48.     (coalesce(cump.porc_cump_ges,0) * u.h_gestion/100)),2) as "cump_total ponderada",
  49.     round((((coalesce(cump.porc_cump_doc,0) * u.h_docencia/100) +
  50.     (coalesce(cump.porc_cump_inv,0) * u.h_investigacion/100) +
  51.     (coalesce(cump.porc_cump_ges,0) * u.h_gestion/100))+
  52.     (((u.nd_hetero + u.nd_auto + u.nd_direc + u.nd_par) * u.h_docencia/100)+
  53.     ((u.ni_auto + u.ni_direc + u.ni_par) * u.h_investigacion/100)+
  54.     ((u.ng_auto + u.ng_par + u.ng_direc) * u.h_gestion/100)))/2,2) as nota_final,
  55.     tiip.meritos,
  56.     tiip.penalizaciones,
  57.     tied.descripcion as "OBSERVACIÓN"
  58. from (
  59. select
  60.     pa.idperiodo,
  61.     case when pa.idperiodo=139 then 138 when pa.idperiodo=149 then 148 else pa.idperiodo end as idperiodo_cump,
  62.     pa.nombre as periodo,
  63.     f.nombre as facultad,
  64.     f.idfacultad ,
  65.     xx.idescuela,
  66.     xx.escuela,
  67.     xx.facultadEscuela,
  68.     d.iddepartamento,
  69.     d.nombre as departamento,
  70.     p.idpersonal as id_docente,
  71.     p.cedula,
  72.     concat(p.apellido1, ' ', p.apellido2, ' ', p.nombres) as docente,
  73.     ct.idcategoria,
  74.     ct.abrevia  as categoria,
  75.     dt.abrevia  as dedicacion,
  76.     ml.abrevia  as modalidad,
  77.     tiae.num_horas_docencia * 100/(tiae.total_horas-tiae.num_horas_otros) as h_docencia,
  78.     tiae.num_horas_investigacion * 100/(tiae.total_horas-tiae.num_horas_otros) as h_investigacion,
  79.     tiae.num_horas_gestion * 100/(tiae.total_horas-tiae.num_horas_otros) as h_gestion,
  80.     coalesce((avg(tidr.nota) filter (where tidr.id_componente = 1 and tidr.id_carga_tipo = 1)/ 5) * 0.40 * 100,0) as nd_hetero,
  81.     coalesce((avg(tidr.nota) filter (where tidr.id_componente = 2 and tidr.id_carga_tipo = 1)/ 5) * 0.20 * 100,0) as nd_auto,
  82.     coalesce((avg(tidr.nota) filter (where tidr.id_componente = 3 and tidr.id_carga_tipo = 1)/ 5) * 0.30 * 100,0) as nd_direc,
  83.     coalesce((avg(tidr.nota) filter (where tidr.id_componente = 4 and tidr.id_carga_tipo = 1)/ 5) * 0.10 * 100,0) as nd_par,
  84.     coalesce((avg(tidr.nota) filter (where tidr.id_componente = 2 and tidr.id_carga_tipo = 2)/ 5) * 0.20 * 100,0) as ni_auto,
  85.     coalesce((avg(tidr.nota) filter (where tidr.id_componente = 3 and tidr.id_carga_tipo = 2)/ 5) * 0.60 * 100,0) as ni_direc,
  86.     coalesce((avg(tidr.nota) filter (where tidr.id_componente = 4 and tidr.id_carga_tipo = 2)/ 5) * 0.20 * 100,0) as ni_par,
  87.     coalesce((avg(tidr.nota) filter (where tidr.id_componente = 2 and tidr.id_carga_tipo = 3)/ 5) * 0.20 * 100,0) as ng_auto,
  88.     coalesce((avg(tidr.nota) filter (where tidr.id_componente = 4 and tidr.id_carga_tipo = 3)/ 5) * 0.20 * 100,0) as ng_par,
  89.     coalesce((avg(tidr.nota) filter (where tidr.id_componente = 3 and tidr.id_carga_tipo = 3)/ 5) * 0.60 * 100,0) as ng_direc
  90. from
  91.     esq_evaluacion.tbl_int_detalle_resultado tidr
  92.     join (select da.idpersonal, id.idescuela,pa.idperiodo, e.nombre as escuela, f2.nombre as facultadEscuela
  93. from esq_inscripciones.inscripcion_detalle id
  94. join esq_inscripciones.inscripcion i on i.idinscripcion = id.idinscripcion and i.idperiodo = id.idperiodo
  95. join esq_distributivos.distribucion_academica da on da.iddistributivo = id.iddistributivo
  96. join esq_distributivos.materia_unica mu  on mu.idmateria_unica = da.idmateria_unica  
  97. join esq_datos_personales.personal p on p.idpersonal = da.idpersonal
  98. join esq_periodos_academicos.periodo_academico pa on pa.idperiodo = id.idperiodo
  99. join esq_inscripciones.escuela e on e.idescuela = id.idescuela
  100. join esq_inscripciones.facultad f2 on f2.idfacultad = e.idfacultad
  101. --join esq_datos_personales.p_capacitacion pc on pc.idpersonal = p.idpersonal and pc.fecha_inicio >= pa.fecha_inicio  AND pc.fecha_inicio <=  pa.fecha_final
  102. --where id.idperiodo in (138) --and id.idescuela = 27
  103. and da.idpersonal > 0
  104. group by pa.idperiodo,da.idpersonal,p.apellido1 , p.apellido2 , p.nombres,id.idescuela ,e.nombre,f2.nombre
  105. order by pa.idperiodo,p.apellido1 , p.apellido2 , p.nombres) xx on xx.idpersonal = tidr.id_docente and xx.idperiodo = tidr.id_periodo
  106. inner join esq_periodos_academicos.periodo_academico pa on  pa.idperiodo = tidr.id_periodo
  107. inner join esq_datos_personales.personal p on   p.idpersonal = tidr.id_docente
  108. inner join (select id_periodo,id_docente,id_dedicacion,id_categoria,id_modalidad_laboral,id_departamento,
  109. coalesce(sum(case when id_carga_administrativa_tipo = 1 then horas end),0) as num_horas_docencia,
  110. coalesce(sum(case when id_carga_administrativa_tipo = 2 then horas end),0) as num_horas_investigacion,
  111. coalesce(sum(case when id_carga_administrativa_tipo = 4 then horas end),0) as num_horas_vinculacion,
  112. coalesce(sum(case when id_carga_administrativa_tipo = 3 then horas end),0) as num_horas_gestion,
  113. coalesce(sum(case when id_carga_administrativa_tipo not in (1,2,3,4) then horas end),0) as num_horas_otros,
  114. coalesce(sum(horas),0) as total_horas
  115. from esq_evaluacion.tbl_int_actividades_evaluadas
  116. group by id_periodo,id_docente,id_dedicacion,id_categoria,id_modalidad_laboral,id_departamento) tiae on
  117.     tiae.id_docente = tidr.id_docente
  118.     and tidr.id_periodo = tiae.id_periodo
  119. inner join esq_distributivos.departamento d on
  120.     d.iddepartamento = tiae.id_departamento
  121. inner join esq_inscripciones.facultad f on
  122.     f.idfacultad = d.idfacultad
  123. inner join esq_distributivos.categoria_tipo ct on
  124.     ct.idcategoria = tiae.id_categoria
  125. inner join esq_distributivos.dedicacion_tipo dt on
  126.     dt.iddedicacion = tiae.id_dedicacion
  127. inner join esq_distributivos.modalidad_laboral ml on
  128.     ml.idmodadalidad_laboral = tiae.id_modalidad_laboral
  129. --where pa.idperiodo = 148 and xx.idescuela = 27
  130. group by
  131.     pa.idperiodo,f.nombre,f.idfacultad,xx.idescuela,xx.escuela,xx.facultadEscuela,d.iddepartamento,p.idpersonal,p.cedula,ct.idcategoria,ct.abrevia ,dt.abrevia ,
  132.     ml.abrevia ,tiae.num_horas_docencia,tiae.total_horas,tiae.num_horas_investigacion,
  133.     tiae.num_horas_gestion,tiae.num_horas_otros
  134. order by f.nombre,d.nombre) u
  135. left join (select tpcde.iddocente,tpcde.idperiodo,
  136.     avg(case when tpcde.estado_validacion ='CMP' then 100
  137.     when tpcde.estado_validacion ='PAR' then 50
  138.     when tpcde.estado_validacion ='' then 100
  139.     when tpcde.estado_validacion ='NCM' then 0 else 0 end)
  140.     filter (where ca.idcarga_administrativa_tipo in (1,6)) as porc_cump_doc,
  141.     avg(case when tpcde.estado_validacion ='CMP' then 100
  142.     when tpcde.estado_validacion ='PAR' then 50
  143.     when tpcde.estado_validacion ='' then 100
  144.     when tpcde.estado_validacion ='NCM' then 0 else 0 end)
  145.     filter (where ca.idcarga_administrativa_tipo in (2,7)) as porc_cump_inv,
  146.     /*avg(case when tpcde.estado_validacion ='CMP' then 100
  147.     when tpcde.estado_validacion ='PAR' then 50
  148.     when tpcde.estado_validacion ='' then 100
  149.     when tpcde.estado_validacion ='NCM' then 0 else 0 end)
  150.     filter (where ca.idcarga_administrativa_tipo in (4,8)) as porc_cump_vin,*/
  151.     avg(case when tpcde.estado_validacion ='CMP' then 100
  152.     when tpcde.estado_validacion ='PAR' then 50
  153.     when tpcde.estado_validacion ='' then 100
  154.     when tpcde.estado_validacion ='NCM' then 0 else 0 end)
  155.     filter (where ca.idcarga_administrativa_tipo in (3)) as porc_cump_ges
  156.     from esq_evaluacion.tbl_plc_control_docente_evidencias tpcde
  157.     inner join esq_distributivos.carga_administrativa ca on ca.idcarga_administrativa = tpcde.idcarga_administrativa
  158.     where tpcde.id_rol_revisa is not null
  159.     and (tpcde.url is not null or (tpcde.url is null
  160.     and (tpcde.estado_validacion is not null or tpcde.estado_validacion != '')))
  161. group by tpcde.iddocente,tpcde.idperiodo) cump on
  162.     cump.iddocente = u.id_docente
  163.     and cump.idperiodo = u.idperiodo_cump
  164. left join (select id_docente,id_periodo,string_agg(observacion,', ') filter (where tipo  = 'PEN') as penalizaciones,
  165.     string_agg(observacion,', ') filter (where tipo = 'MRT') as meritos
  166.     from esq_evaluacion.tbl_int_incentivos_penalizaciones group by
  167.     id_docente,id_periodo) tiip on
  168.     tiip.id_docente = u.id_docente
  169.     and tiip.id_periodo = u.idperiodo
  170. left join (select id_docente,id_periodo, string_agg(descripcion,', ')as descripcion
  171.     from esq_evaluacion.tbl_int_excepciones_docentes
  172.     group by id_docente,id_periodo) tied on
  173.     tied.id_docente = u.id_docente
  174.     and tied.id_periodo = u.idperiodo
  175. where u.idperiodo in (138,139) and u.idescuela = 97 and u.idcategoria not in (15)
Add Comment
Please, Sign In to add comment