SHARE
TWEET

Untitled

a guest Feb 20th, 2019 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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-02-20' BETWEEN cts.contrsede_dt_ini AND cts.contrsede_dt_fim
  34.     )
  35.     OR (
  36.         cts.contrsede_dt_fim IS NULL
  37.             AND '2019-02-20' >= 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-02-20' BETWEEN cfnlt.cfunlctrab_dt_inicio AND cfnlt.cfunlctrab_dt_fim
  93.                     )
  94.                     OR (
  95.                         cfnlt.cfunlctrab_dt_fim IS NULL
  96.                         AND '2019-02-20' >= 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.                 AND eu.escolusu_usucod = 809
  109.                            
  110.         WHERE
  111.             1=1
  112.             AND cfn.cfun_funcod = fn.fun_cod
  113.             AND (
  114.                 (
  115.                     cfn.cfun_dtfim IS NOT NULL
  116.                     AND '2019-02-20' BETWEEN cfn.cfun_dtinicio AND cfn.cfun_dtfim
  117.                 )
  118.                 OR (
  119.                     cfn.cfun_dtfim IS NULL
  120.                     AND '2019-02-20' >= 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.                 AND eu.escolusu_usucod = 809
  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
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top