function testeReadByCriteria()
{
    $criteria = array();
    $criteria[UsuarioRastreadorCriteria::USUARIO_FK_EQ] = 7;
    $entityArray = ServiceLocator::getUsuarioRastreadorService()->readByCriteria($criteria);
    foreach ($entityArray as $entity) {
        echo $entity . "<br>";
    }
}
예제 #2
0
function desvincularUsuarioRastreador()
{
    $usuario = ServiceLocator::getUsuarioService()->readById(3);
    if ($usuario != null) {
        foreach ($usuario->getRastreadorArray() as $rastreador) {
            $criteria = array();
            $criteria[UsuarioRastreadorCriteria::USUARIO_FK_EQ] = $usuario->getId();
            $criteria[UsuarioRastreadorCriteria::RASTREADOR_FK_EQ] = $rastreador->getId();
            $usuarioRastreadorArray = ServiceLocator::getUsuarioRastreadorService()->readByCriteria($criteria);
            foreach ($usuarioRastreadorArray as $usuarioRastreador) {
                echo ServiceLocator::getUsuarioRastreadorService()->delete($usuarioRastreador->getId());
            }
        }
    }
}
 private function tratarRecebimentoConfigInicialRastreador($valores, $clienteWS)
 {
     $this->printar("CONFIGURACAO INICIAL RASTREADOR\n", false, false);
     $clienteWSDestino = null;
     $resposta = array();
     $resposta[] = TipoComunicacao::CONFIG_INICIAL_RASTREADOR;
     switch ($clienteWS->getTipoCliente()) {
         case TipoCliente::USUARIO:
             $serialRastreador = $valores[1];
             $tokenRastreador = $valores[2];
             $criteria = array();
             $criteria[RastreadorCriteria::SERIAL_EQ] = $serialRastreador;
             $criteria[RastreadorCriteria::TOKEN_EQ] = $tokenRastreador;
             $rastreador = ServiceLocator::getRastreadorService()->readByCriteria($criteria)[0];
             if ($rastreador != null) {
                 $clienteWSRas = $this->clienteWSController->buscarCliente(TipoCliente::RASTREADOR, $rastreador->getId());
                 if ($clienteWSRas != null) {
                     // VERIFICA SE USUÁRIO JÁ ESTÁ VINCULADO AO RASTREADOR
                     if ($this->verificarAcessoDeUsuarioAoRastreador($clienteWS->getCadastro(), $clienteWSRas->getCadastro()) != true) {
                         // VERIFICA SE RASTREADOR NÃO POSSUI NENHUM USUÁRIO VINCULADO
                         if (count($rastreador->getUsuarioArray()) == 0) {
                             // MENSAGEM DE CONFIGURAÇÃO INICIAL PARA RASTREADOR
                             $clienteWSDestino = $clienteWSRas;
                             $resposta[] = $rastreador->getId();
                             $resposta[] = $rastreador->getSerial();
                             $resposta[] = $rastreador->getToken();
                             $clienteWS->setTipoComunicacaoAtual(TipoComunicacao::CONFIG_INICIAL_RASTREADOR);
                             $clienteWS->setSocketPar($clienteWSRas->getSocket());
                             $clienteWSRas->setTipoComunicacaoAtual(TipoComunicacao::CONFIG_INICIAL_RASTREADOR);
                             $clienteWSRas->setSocketPar($clienteWS->getSocket());
                         } else {
                             // TENTA VINCULAR USUÁRIO A RASTREADOR
                             $usuarioRastreador = new UsuarioRastreador();
                             $usuarioRastreador->setUsuario($clienteWS->getCadastro());
                             $usuarioRastreador->setRastreador($clienteWSRas->getCadastro());
                             if (ServiceLocator::getUsuarioRastreadorService()->create($usuarioRastreador) == true) {
                                 // MENSAGEM DE SUCESSO PARA USUÁRIO (OK)
                                 $clienteWSDestino = $clienteWS;
                                 $resposta[] = $clienteWS->getId();
                                 $resposta[] = 1;
                                 $clienteWS->atualizarCadastro();
                                 $clienteWSRas->atualizarCadastro();
                             } else {
                                 // MENSAGEM DE ERRO PARA USUÁRIO (VICULAÇÃO USUÁRIO/RASTREADOR FALHOU)
                                 $clienteWSDestino = $clienteWS;
                                 $resposta[] = $clienteWSRas->getId();
                                 $resposta[] = 22;
                             }
                         }
                     } else {
                         // MENSAGEM DE SUCESSO PARA USUÁRIO (RASTREAOR JÁ VINCULADO A USUÁRIO)
                         $clienteWSDestino = $clienteWS;
                         $resposta[] = $rastreador->getId();
                         $resposta[] = 2;
                     }
                 } else {
                     // MENSAGEM DE ERRO PARA USUÁRIO (RASTREADOR DESCONECTADO)
                     $clienteWSDestino = $clienteWS;
                     $resposta[] = $rastreador->getId();
                     $resposta[] = 21;
                 }
             } else {
                 // MENSAGEM DE ERRO PARA USUÁRIO (SERIAL E/OU TOKEN NÃO EXISTE)
                 $clienteWSDestino = $clienteWS;
                 $resposta[] = 0;
                 $resposta[] = 20;
             }
             break;
         case TipoCliente::RASTREADOR:
             $resultado = $valores[1];
             if ($clienteWS->getTipoComunicacaoAtual() == TipoComunicacao::CONFIG_INICIAL_RASTREADOR && $clienteWS->getSocketPar() != null) {
                 $clienteWSUsu = $this->clienteWSController->buscarClientePorSocket($clienteWS->getSocketPar());
                 if ($clienteWSUsu != null) {
                     if ($resultado == 1) {
                         // TENTA VINCULAR USUÁRIO A RASTREADOR
                         $usuarioRastreador = new UsuarioRastreador();
                         $usuarioRastreador->setUsuario($clienteWSUsu->getCadastro());
                         $usuarioRastreador->setRastreador($clienteWS->getCadastro());
                         if (ServiceLocator::getUsuarioRastreadorService()->create($usuarioRastreador) == true) {
                             $clienteWS->atualizarCadastro();
                             $clienteWSUsu->atualizarCadastro();
                             // MENSAGEM DE SUCESSO PARA USUÁRIO (OK)
                             $clienteWSDestino = $clienteWSUsu;
                             $resposta[] = $clienteWS->getId();
                             $resposta[] = 1;
                         } else {
                             // MENSAGEM DE ERRO PARA USUÁRIO (VICULAÇÃO USUÁRIO/RASTREADOR FALHOU)
                             $clienteWSDestino = $clienteWSUsu;
                             $resposta[] = $clienteWS->getId();
                             $resposta[] = 22;
                         }
                     }
                     $clienteWSUsu->setTipoComunicacaoAtual(null);
                     $clienteWSUsu->setSocketPar(null);
                 }
             }
             $clienteWS->setTipoComunicacaoAtual(null);
             $clienteWS->setSocketPar(null);
             break;
     }
     if ($clienteWSDestino != null && count($resposta) > 0) {
         $this->enviarValoresParaClienteWS($resposta, $clienteWSDestino);
     }
 }