0; //se usuario pertencer a um SIC central if($visibilidadeSICcentral) $filtro.= " and ifnull(secDestino.idsecretaria,'$idSecretariaUsuario') = '$idSecretariaUsuario' "; else { //caso exista SIC centralizador, só mostra as solicitações do SIC do usuario if(Solicitacao::existeSicCentralizador()) $filtro.= " and secDestino.idsecretaria = '$idSecretariaUsuario'"; //filtra so as que a ultima movimentação tem como destino a secretaria do usuario else $filtro.= " and (secDestino.idsecretaria = '$idSecretariaUsuario' or (sol.idsecretariaselecionada = '$idSecretariaUsuario' and sol.situacao = 'A'))"; //filtra so as que a ultima movimentação tem como destino a secretaria do usuario ou que a secretaria selecionada tenha sido a do usuario e o status esteja em aberto } //seleciona as solicitações não respondidas e sua ultima movimentação (recupera variaveis de configuracao de prazos) /* * Quando a situação for A ou T, trata da primeira tramitação do processo. */ $sql = "select sol.*, pes.nome as solicitante, ifnull(secOrigem.sigla,'Solicitante') as secretariaorigem, case when secDestino.sigla is null then ifnull(secSelecionada.sigla,'SIC Central') else 'SIC Central' end as secretariadestino, mov.idsecretariadestino, mov.datarecebimento, mov.idmovimentacao, c.*, DATEDIFF(sol.dataprevisaoresposta, NOW()) as prazorestante, tip.nome as instancia from lda_solicitacao sol join lda_tiposolicitacao tip on tip.idtiposolicitacao = sol.idtiposolicitacao join lda_solicitante pes on pes.idsolicitante = sol.idsolicitante left join lda_movimentacao mov on mov.idmovimentacao = (select max(m.idmovimentacao) from lda_movimentacao m where m.idsolicitacao = sol.idsolicitacao) left join sis_secretaria secOrigem on secOrigem.idsecretaria = mov.idsecretariaorigem left join sis_secretaria secDestino on secDestino.idsecretaria = mov.idsecretariadestino left join sis_secretaria secSelecionada on secSelecionada.idsecretaria = sol.idsecretariaselecionada join lda_configuracao c where sol.situacao not in('R','N') $filtro "; $rs = execQueryPag($sql); ?>