jzgeorge

sql evidenciamensualrpt

Aug 2nd, 2021
596
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. select
  2. f.nombre as nfacultad,
  3. d.nombre as ndepartamento,
  4. pa.nombre as nperiodo,
  5. tpcd.idmes,
  6. da.idcarga_administrativa,
  7. (case tpcd.idmes
  8.         when 1 then 'Enero'
  9.         when 2 then 'Febrero'
  10.         when 3 then 'Marzo'    
  11.         when 4 then 'Abril'
  12.         when 5 then 'Mayo'
  13.         when 6 then 'Junio'
  14.         when 7 then 'Julio'
  15.         when 8 then 'Agosto'
  16.         when 9 then 'Septiembre'
  17.         when 10 then 'Octubre'
  18.         when 11 then 'Noviembre'
  19.         when 12 then 'Diciembre'
  20.         else ' '
  21. end) as mes,
  22. p.cedula,
  23. p.idpersonal,
  24. INITCAP(concat(p.apellido1,' ',p.apellido2,' ', p.nombres)) as nombre_docente,
  25. INITCAP(cat.nombre) as cargatipo,
  26. upper(substring(ca.nombre from 1 for 1)) ||
  27.           LOWER(substring(ca.nombre from 2 for length(ca.nombre))) as actividad,
  28. tpcd.url,
  29. tpcd.idfichero,
  30. (case tpcd.estado
  31.         when 'PLA' then 'PLANIFICADO'
  32.         when 'ED' then 'DESARROLLO'
  33.         when 'FN' then 'FINALIZADO'
  34.         else ' '
  35. end) as estado,
  36. tpcd.id_personal_revisa,
  37. (case tpcd.estado_validacion
  38.         when 'CMP' then 'CUMPLIDO'
  39.         when 'PAR' then 'PARCIAL'
  40.         when 'NCM' then 'NO CUMPLIDO'
  41.         else ' '
  42. end) as estado_validacion,
  43. coalesce(tpcd.retroalimentacion,'') as retroalimentacion,
  44. tpcd.autoevaluacion,
  45. (case tpcd.autoevaluacion
  46.         when 'PLA' then 'PLANIFICADO'
  47.         when 'ED' then 'EN DESARROLLO'
  48.         when 'FN' then 'FINALIZADO'
  49.         else ' '
  50. end) as autoevaluaciodetalle,
  51. tpcd.horas_cumplidas_docente,
  52. case
  53. when da.idcarga_administrativa = 1 then (SELECT r_numero_horas from esq_distributivos.ft_distribucion_administrativa(da.idperiodo,0,da.idpersonal,0) WHERE r_idcarga_administrativa = 1 limit 1)
  54. else da.numero_horas
  55. end as numero_horas,
  56. INITCAP(cate.nombre) as categoria, INITCAP(dt.nombre) as dedicacion,
  57. (SELECT coalesce(array_to_string(array_agg(pd.observacion ), ','),'') as detalleFeriado FROM esq_configuraciones.tbl_spca_periodo_dias pd where pd.asueto = 'S' and  EXTRACT(MONTH FROM pd.fecha) = $P{IDMES} and EXTRACT(YEAR FROM pd.fecha) = $P{IDANIO}),
  58. (SELECT coalesce(count(*),0) as totalFeriado FROM esq_configuraciones.tbl_spca_periodo_dias pd where pd.asueto = 'S' and  EXTRACT(MONTH FROM pd.fecha) = $P{IDMES} and EXTRACT(YEAR FROM pd.fecha) = $P{IDANIO}),
  59. coalesce((select just.observacion from esq_evaluacion.tbl_plc_control_docente_evidencias just where  just.iddocente  = da.idpersonal and just.idperiodo = da.idperiodo  and just.idmes = $P{IDMES} and just.idcarga_administrativa  isnull),'') as obs_justificacion,
  60. coalesce((select just.horas_cumplidas_docente from esq_evaluacion.tbl_plc_control_docente_evidencias just where  just.iddocente  = da.idpersonal and just.idperiodo = da.idperiodo and just.idmes = $P{IDMES} and just.idcarga_administrativa  isnull),0)  as hrs_justificacion,
  61. (select INITCAP(coalesce(ARRAY_TO_STRING(ARRAY_AGG(DISTINCT CONCAT(p.apellido1,' ',p.apellido2,' ', p.nombres)), '<br> '),''))
  62. from esq_evaluacion.tbl_plc_control_docente_evidencias rev
  63. join esq_distributivos.distribucion_administrativa da2 on da2.idcarga_administrativa = rev.idcarga_administrativa and da2.idperiodo = rev.idperiodo    and da2.idpersonal = rev.iddocente
  64. join esq_datos_personales.personal p on p.idpersonal = rev.id_personal_revisa
  65. where  rev.idperiodo =  da.idperiodo  and rev.iddocente = da.idpersonal   and rev.idmes = $P{IDMES}   and rev.id_personal_revisa >0 and da2.habilitado = 'S') as nombres_revisores,
  66. tcda.porc_cumplimiento , tcda.autorizado
  67. from  esq_distributivos.distribucion_administrativa da
  68. inner join esq_distributivos.carga_administrativa ca on (ca.idcarga_administrativa = da.idcarga_administrativa)
  69. inner join esq_distributivos.carga_administrativa_tipo cat on cat.idcarga_administrativa_tipo  = ca.idcarga_administrativa_tipo
  70. inner join esq_datos_personales.personal p on (p.idpersonal = da.idpersonal)
  71. inner join esq_periodos_academicos.periodo_academico pa on (pa.idperiodo = da.idperiodo)
  72. inner join esq_distributivos.departamento_periodo dp on (dp.id_departamento_periodo = da.iddepartamento_periodo)
  73. inner join esq_distributivos.departamento d on (d.iddepartamento = dp.iddepartamento)
  74. inner join esq_inscripciones.facultad f on (d.idfacultad = f.idfacultad)
  75. left join esq_distributivos.distribucion_administrativa_resumen dar on dar.id_personal = da.idpersonal and dar.idperiodo_academico = da.idperiodo and dar.iddepartamento_periodo = da.iddepartamento_periodo
  76. left join esq_distributivos.categoria_tipo cate on dar.id_categoria = cate.idcategoria
  77. left join esq_distributivos.dedicacion_tipo dt on dar.id_dedicacion = dt.iddedicacion
  78. left join esq_evaluacion.tbl_plc_control_docente_evidencias tpcd on (ca.idcarga_administrativa = tpcd.idcarga_administrativa and tpcd.idperiodo = pa.idperiodo and tpcd.iddocente = p.idpersonal  )
  79. left join esq_evaluacion.tbl_control_docente_autorizacion tcda on tcda.id_periodo_academico = pa.idperiodo and tcda.id_personal = p.idpersonal and tcda.id_mes = $P{IDMES}
  80. where  tpcd.idmes  = $P{IDMES}
  81. and da.idperiodo = $P{IDPERIODO}
  82. and da.idpersonal =  $P{IDPERSONAL}
  83. and da.habilitado = 'S' --and da.numero_horas >0
  84. order by ca.idcarga_administrativa_tipo, ca.orden
RAW Paste Data