Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT
- fn.fun_cod AS id,
- CASE
- WHEN fn.fun_matricula IS NOT NULL
- THEN CAST ( psfn.pes_nome AS varchar )|| CAST ( ' - ' AS varchar )|| CAST ( fn.fun_matricula AS varchar )
- ELSE psfn.pes_nome
- END AS label
- FROM edu_funcionario efn
- INNER JOIN rh_funcionario fn
- ON fn.fun_cod = efn.efunc_funcod
- INNER JOIN rh_contrato ct
- ON ct.contr_funcod = fn.fun_cod
- INNER JOIN rh_cargo cg
- ON cg.carg_cod = ct.contr_cargcod
- AND cg.carg_docencia = 1
- INNER JOIN rh_tipo_cargo tcg
- ON tcg.tpcarg_cod = cg.carg_tpcargcod
- INNER JOIN bas_status st_tp_cargo_classificacao
- ON st_tp_cargo_classificacao.sta_cod = tcg.tpcarg_classficacao
- INNER JOIN rh_contrato_sede cts
- ON cts.contrsede_contrcod = ct.contr_cod
- -- sede ativa
- AND (
- (
- cts.contrsede_dt_fim IS NOT NULL
- AND '2019-08-19' BETWEEN cts.contrsede_dt_ini AND cts.contrsede_dt_fim
- )
- OR (
- cts.contrsede_dt_fim IS NULL
- AND '2019-08-19' >= cts.contrsede_dt_ini
- )
- )
- INNER JOIN bas_pessoa psfn
- ON psfn.pes_cod = fn.fun_pescod
- LEFT JOIN edu_inscricao_atribuicao ia
- ON ia.insat_funcod = fn.fun_cod
- AND ia.insat_atribuicao = 1
- AND ia.insat_ano = 2019
- WHERE
- 1=1
- AND (
- (
- -- em cargo EFETIVO eh obrigatoria a inscricao
- tcg.tpcarg_classficacao = 54 -- (bas_status 'TP_CARGO_CLASSIFICACAO')
- AND (
- -- se a inscrição não for nula, ele entra
- ia.insat_cod IS NOT NULL
- OR(
- -- se a inscrição for nula e a adimissão dele foi posterior ao periodo de inscrição para atribuição
- ia.insat_cod IS NULL
- AND (
- SELECT
- ecp.cfgptu_insc_atrib_de < ct.contr_dtadmissao
- FROM edu_cfg_pontuacao ecp
- WHERE 1=1
- AND ecp.cfgptu_ano_letivo = 2019
- )
- )
- )
- )
- OR (
- -- em cargo nao EFITIVO a inscricaonao eh obrigatoria
- tcg.tpcarg_classficacao<> 54 -- (bas_status 'TP_CARGO_CLASSIFICACAO')
- AND ia.insat_cod IS NULL
- )
- )
- AND (
- (
- -- funcionarios de locais de trabalho que o usuario logado tem permissao
- SELECT
- count(1)
- FROM rh_cargo_funcionario cfn
- INNER JOIN rh_cargo_fun_loc_trab cfnlt
- ON cfnlt.cfunlctrab_cfuncod = cfn.cfun_cod
- AND (
- (
- cfnlt.cfunlctrab_dt_fim IS NOT NULL
- AND '2019-08-19' BETWEEN cfnlt.cfunlctrab_dt_inicio AND cfnlt.cfunlctrab_dt_fim
- )
- OR (
- cfnlt.cfunlctrab_dt_fim IS NULL
- AND '2019-08-19' >= cfnlt.cfunlctrab_dt_inicio
- )
- )
- INNER JOIN bas_local_trabalho lt
- ON lt.lctrab_cod = cfnlt.cfunlctrab_lctrabcod
- INNER JOIN edu_escola es
- ON es.escol_pescod = lt.lctrab_pescod
- INNER JOIN edu_escola_usuario eu
- ON eu.escolusu_escolcod = es.escol_cod
- WHERE
- 1=1
- AND cfn.cfun_funcod = fn.fun_cod
- AND (
- (
- cfn.cfun_dtfim IS NOT NULL
- AND '2019-08-19' BETWEEN cfn.cfun_dtinicio AND cfn.cfun_dtfim
- )
- OR (
- cfn.cfun_dtfim IS NULL
- AND '2019-08-19' >= cfn.cfun_dtinicio
- )
- )
- ) > 0
- OR (
- -- funcionarios de sede que o usuario logado tem permissao
- cts.contrsede_lctrabcod IN (
- SELECT
- lt.lctrab_cod
- FROM edu_escola_usuario eu
- INNER JOIN edu_escola es
- ON es.escol_cod = eu.escolusu_escolcod
- INNER JOIN bas_local_trabalho lt
- ON lt.lctrab_pescod = es.escol_pescod
- WHERE
- 1=1
- )
- )
- )
- GROUP BY
- fn.fun_cod,
- psfn.pes_nome,
- fn.fun_matricula
- ORDER BY
- psfn.pes_nome
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement