Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.75 KB | None | 0 0
  1. SELECT
  2. fn.fun_cod AS id,
  3. CASE
  4. WHEN fn.fun_matricula IS NOT NULL
  5. THEN CAST ( psfn.pes_nome AS varchar )|| CAST ( ' - ' AS varchar )|| CAST ( fn.fun_matricula AS varchar )
  6. ELSE psfn.pes_nome
  7. END AS label
  8.  
  9. FROM edu_funcionario efn
  10.  
  11. INNER JOIN rh_funcionario fn
  12. ON fn.fun_cod = efn.efunc_funcod
  13.  
  14. INNER JOIN rh_contrato ct
  15. ON ct.contr_funcod = fn.fun_cod
  16.  
  17. INNER JOIN rh_cargo cg
  18. ON cg.carg_cod = ct.contr_cargcod
  19. AND cg.carg_docencia = 1
  20.  
  21. INNER JOIN rh_tipo_cargo tcg
  22. ON tcg.tpcarg_cod = cg.carg_tpcargcod
  23.  
  24. INNER JOIN bas_status st_tp_cargo_classificacao
  25. ON st_tp_cargo_classificacao.sta_cod = tcg.tpcarg_classficacao
  26.  
  27. INNER JOIN rh_contrato_sede cts
  28. ON cts.contrsede_contrcod = ct.contr_cod
  29. -- sede ativa
  30. AND (
  31. (
  32. cts.contrsede_dt_fim IS NOT NULL
  33. AND '2019-08-19' BETWEEN cts.contrsede_dt_ini AND cts.contrsede_dt_fim
  34. )
  35. OR (
  36. cts.contrsede_dt_fim IS NULL
  37. AND '2019-08-19' >= cts.contrsede_dt_ini
  38. )
  39. )
  40.  
  41.  
  42. INNER JOIN bas_pessoa psfn
  43. ON psfn.pes_cod = fn.fun_pescod
  44.  
  45. LEFT JOIN edu_inscricao_atribuicao ia
  46. ON ia.insat_funcod = fn.fun_cod
  47. AND ia.insat_atribuicao = 1
  48. AND ia.insat_ano = 2019
  49.  
  50. WHERE
  51. 1=1
  52. AND (
  53. (
  54. -- em cargo EFETIVO eh obrigatoria a inscricao
  55. tcg.tpcarg_classficacao = 54 -- (bas_status 'TP_CARGO_CLASSIFICACAO')
  56. AND (
  57. -- se a inscrição não for nula, ele entra
  58. ia.insat_cod IS NOT NULL
  59. OR(
  60. -- se a inscrição for nula e a adimissão dele foi posterior ao periodo de inscrição para atribuição
  61. ia.insat_cod IS NULL
  62. AND (
  63. SELECT
  64. ecp.cfgptu_insc_atrib_de < ct.contr_dtadmissao
  65.  
  66. FROM edu_cfg_pontuacao ecp
  67.  
  68. WHERE 1=1
  69. AND ecp.cfgptu_ano_letivo = 2019
  70. )
  71. )
  72. )
  73. )
  74. OR (
  75. -- em cargo nao EFITIVO a inscricaonao eh obrigatoria
  76. tcg.tpcarg_classficacao<> 54 -- (bas_status 'TP_CARGO_CLASSIFICACAO')
  77. AND ia.insat_cod IS NULL
  78. )
  79. )
  80. AND (
  81. (
  82. -- funcionarios de locais de trabalho que o usuario logado tem permissao
  83. SELECT
  84. count(1)
  85. FROM rh_cargo_funcionario cfn
  86.  
  87. INNER JOIN rh_cargo_fun_loc_trab cfnlt
  88. ON cfnlt.cfunlctrab_cfuncod = cfn.cfun_cod
  89. AND (
  90. (
  91. cfnlt.cfunlctrab_dt_fim IS NOT NULL
  92. AND '2019-08-19' BETWEEN cfnlt.cfunlctrab_dt_inicio AND cfnlt.cfunlctrab_dt_fim
  93. )
  94. OR (
  95. cfnlt.cfunlctrab_dt_fim IS NULL
  96. AND '2019-08-19' >= cfnlt.cfunlctrab_dt_inicio
  97. )
  98. )
  99.  
  100. INNER JOIN bas_local_trabalho lt
  101. ON lt.lctrab_cod = cfnlt.cfunlctrab_lctrabcod
  102.  
  103. INNER JOIN edu_escola es
  104. ON es.escol_pescod = lt.lctrab_pescod
  105.  
  106. INNER JOIN edu_escola_usuario eu
  107. ON eu.escolusu_escolcod = es.escol_cod
  108.  
  109. WHERE
  110. 1=1
  111. AND cfn.cfun_funcod = fn.fun_cod
  112.  
  113. AND (
  114. (
  115. cfn.cfun_dtfim IS NOT NULL
  116. AND '2019-08-19' BETWEEN cfn.cfun_dtinicio AND cfn.cfun_dtfim
  117. )
  118. OR (
  119. cfn.cfun_dtfim IS NULL
  120. AND '2019-08-19' >= cfn.cfun_dtinicio
  121. )
  122. )
  123. ) > 0
  124. OR (
  125. -- funcionarios de sede que o usuario logado tem permissao
  126. cts.contrsede_lctrabcod IN (
  127. SELECT
  128. lt.lctrab_cod
  129. FROM edu_escola_usuario eu
  130.  
  131. INNER JOIN edu_escola es
  132. ON es.escol_cod = eu.escolusu_escolcod
  133.  
  134. INNER JOIN bas_local_trabalho lt
  135. ON lt.lctrab_pescod = es.escol_pescod
  136.  
  137. WHERE
  138. 1=1
  139.  
  140. )
  141. )
  142. )
  143.  
  144. GROUP BY
  145. fn.fun_cod,
  146. psfn.pes_nome,
  147. fn.fun_matricula
  148.  
  149. ORDER BY
  150. psfn.pes_nome
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement