Пример #1
0
 /**
  * Retorna todos os usuarios e cargos (lotação) por unidade
  * @return array
  */
 private function lotacoes($unidadeId = 0, $nomeServico = '')
 {
     $nomeServico = trim($nomeServico);
     if (!empty($nomeServico)) {
         $nomeServico = Strings::sqlLikeParam($nomeServico);
     }
     $unidades = $this->unidadesArray($unidadeId);
     $dados = array();
     $usuarioService = new UsuarioService($this->em());
     $unidadeService = new UnidadeService($this->em());
     foreach ($unidades as $unidade) {
         $lotacoes = $unidadeService->lotacoesComServico($unidade->getId(), $nomeServico);
         $servicos = array();
         foreach ($lotacoes as $lotacao) {
             $servicos[$lotacao->getUsuario()->getId()] = $usuarioService->servicos($lotacao->getUsuario(), $unidade);
         }
         $dados[$unidade->getId()] = array('unidade' => $unidade->getNome(), 'lotacoes' => $lotacoes, 'servicos' => $servicos);
     }
     return $dados;
 }