public function listarCnhsVencidas($filtro, $dados) { $qb = $this->createQueryBuilder('mo'); $qb->andwhere(' mo.lotacao = :lotacao')->setParameter('lotacao', $dados['lotacao']); $qb->andwhere(' mo.dataValidadeCnh <= :dataValidadeCnh')->setParameter('dataValidadeCnh', DateUtil::adicionarMeses(\DateTime::createFromFormat('d/m/Y', DateUtil::dataAtual()), 1)); $qb->orderBy('mo.dataValidadeCnh', 'asc'); return $qb->getQuery()->getResult(); }
public function validaDatasMovimentacao($dados) { $dataSaida = DateUtil::criarDataHora($dados['dataSaida'], $dados['horaSaida']); $dataRetorno = DateUtil::criarDataHora($dados['dataRetorno'], $dados['horaRetorno']); //Caso seja alteração (terá um id) não compara com o próprio registro $id = $dados['id'] ? $dados['id'] : 0; $qb = $this->createQueryBuilder('m')->where('m.placaVeiculo = :placaVeiculo')->andWhere("m.id != :id ")->andWhere("\n :dataSaida between m.dataSaida and m.dataRetorno\n or\n :dataRetorno between m.dataSaida and m.dataRetorno\n ")->setParameter('placaVeiculo', $dados[placaVeiculo])->setParameter('dataSaida', $dataSaida)->setParameter('dataRetorno', $dataRetorno)->setParameter('id', $id); $trechos = $qb->getQuery()->getResult(); return $trechos; }
public static function validarData($valor, $mensagem) { if (!$valor) { throw new ValidacaoException($mensagem); } else { try { $data = DateUtil::criarData($valor); if (!$data) { throw new ValidacaoException($mensagem); } } catch (Exception $ex) { throw new ValidacaoException($mensagem); } } }
public function validarRevisaoFabrica($dados) { if (!$dados['veiculo']['placa']) { throw new ValidacaoException('Veículo não informado!'); } if (!$dados['kmRevisao']) { throw new ValidacaoException('KM da Revisão não informada!'); } if (!$dados['hodometro']) { throw new ValidacaoException('Hodômetro não informado!'); } if (!$dados['data']) { throw new ValidacaoException('Data da revisão não informada!'); } else { try { $data = DateUtil::criarData($dados['data']); if (!$data) { throw new ValidacaoException('Data da revisão inválida!'); } } catch (Exception $ex) { throw new ValidacaoException('Data da revisão inválida!'); } } }
public function isCnhVencida() { return $this->getDataValidadeCnh() < \DateTime::createFromFormat('d/m/Y', DateUtil::dataAtual()); }
public function validarMotorista($dados) { if (!$dados['matricula']) { throw new ValidacaoException('Matricula não informada!'); } if (!$dados['nome']) { throw new ValidacaoException('Nome não informado!'); } if (!$dados['nomeImpresso']) { throw new ValidacaoException('Nome Simplificado não informado!'); } if (!$dados['cnh']) { throw new ValidacaoException('Número da CNH não informado!'); } if (!$dados['tipoCategoriaCnh']) { throw new ValidacaoException('Categoria da CNH não informada!'); } if (!$dados['dataValidadeCnh']) { throw new ValidacaoException('Data de Validade da Cnh não informada!'); } else { try { $dataValidadeCnh = DateUtil::criarData($dados['dataValidadeCnh']); if (!$dataValidadeCnh) { throw new ValidacaoException('Data de Validade da Cnh inválida!'); } } catch (Exception $ex) { throw new ValidacaoException('Data de Validade da Cnh inválida!'); } } if (!$dados['endereco']) { throw new ValidacaoException('Logradouro do endereço não informado!'); } if (!$dados['bairro']) { throw new ValidacaoException('Bairro do endereço não informado!'); } if (!$dados['cep']) { throw new ValidacaoException('CEP do endereço não informado!'); } if (!$dados['municipio']['id']) { throw new ValidacaoException('Município do endereço não informado!'); } if (!$dados['lotacao']) { throw new ValidacaoException('Lotação não informada!'); } if (!$dados['cargo']['codigo']) { throw new ValidacaoException('Cargo não informado!'); } }
public function validarVeiculo($dados) { if (!$dados['placa']) { throw new ValidacaoException('Placa não informada!'); } if (!$dados['marcaModelo']) { throw new ValidacaoException('Marca e Modelo não informados!'); } if (!$dados['anoFabricacao']) { throw new ValidacaoException('Ano de Fabricação não informado!'); } if (!$dados['placaMpm']) { throw new ValidacaoException('Placa do MPM não informada!'); } if (!$dados['status']) { throw new ValidacaoException('Status não informado!'); } if (!$dados['chassi']) { throw new ValidacaoException('Chassi não informado!'); } if (!$dados['combustivel']) { throw new ValidacaoException('Combustível não informado!'); } if ($dados['status'] == '2') { //Se doado if (!$dados['dataDoacao']) { throw new ValidacaoException('Data de Doação não informada!'); } else { try { $dataDoacao = DateUtil::criarData($dados['dataDoacao']); if (!$dataDoacao) { throw new ValidacaoException('Data de Doação inválida!'); } } catch (Exception $ex) { throw new ValidacaoException('Data de Doação inválida!'); } } } }
public function validarTransferenciaVeiculo($dados) { if (!$dados['veiculo']) { throw new ValidacaoException('Veículo não informado!'); } if (!$dados['destino']) { throw new ValidacaoException('Destino não informado!'); } //Comentado para permitir registros passados/historico e alteração de dados // if ($dados['veiculo']['lotacao']['codigo'] == $dados['destino']['codigo']) { // throw new ValidacaoException('O destino deve ser diferente da lotação atual do veículo!'); // } if ($dados['origem']['codigo'] == $dados['destino']['codigo']) { throw new ValidacaoException('O destino deve ser diferente da origem!'); } if (!$dados['data']) { throw new ValidacaoException('Data de Transferência não informada!'); } else { try { $data = DateUtil::criarData($dados['data']); if (!$data) { throw new ValidacaoException('Data de Transferência inválida!'); } } catch (Exception $ex) { throw new ValidacaoException('Data de Transferência inválida!'); } } }
public function getProximaDataRevisao() { $ultimaRevisao = $this->getUltimaRevisao(); if ($ultimaRevisao) { $dataUltimaRevisao = $ultimaRevisao->getData(); } else { $dataUltimaRevisao = $this->getDataCompra(); } //Data da Proxima revisao será a data da ultima revisão mais os meses de revisões do veiculo $dataProximaRevisao = DateUtil::adicionarMeses($dataUltimaRevisao, $this->getMesesRevisao()); return $dataProximaRevisao; }
public function validarMovimentacao($dados) { if (!$dados['placaVeiculo']) { throw new ValidacaoException('Veículo não informado!'); } if (!$dados['dataSolicitacao']) { throw new ValidacaoException('Data da Solicitação não informada!'); } else { try { $dataSolicitacao = DateUtil::criarData($dados['dataSolicitacao']); if (!$dataSolicitacao) { throw new ValidacaoException('Data da Solicitação inválida!'); } } catch (Exception $ex) { throw new ValidacaoException('Data da Solicitação inválida!'); } } if (!$dados['horaSolicitacao']) { throw new ValidacaoException('Hora da solicitação não informada!'); } if (!$dados['itinerario']) { throw new ValidacaoException('Itinerário não informado!'); } if (!$dados['dataSaida']) { throw new ValidacaoException('Data de Saída não informada!'); } else { try { $dataSaida = DateUtil::criarData($dados['dataSaida']); if (!$dataSaida) { throw new ValidacaoException('Data de Saída inválida!'); } } catch (Exception $ex) { throw new ValidacaoException('Data de Saída inválida!'); } } if (!$dados['horaSaida']) { throw new ValidacaoException('Hora da saída não informada!'); } if (!$dados['dataRetorno']) { throw new ValidacaoException('Data de Retorno não informada!'); } else { try { $dataRetorno = DateUtil::criarData($dados['dataRetorno']); if (!$dataRetorno) { throw new ValidacaoException('Data de Retorno inválida!'); } } catch (Exception $ex) { throw new ValidacaoException('Data de Retorno inválida!'); } } if (!$dados['horaRetorno']) { throw new ValidacaoException('Hora do retorno não informada!'); } if (DateUtil::criarDataHora($dados['dataSolicitacao'], $dados['horaSolicitacao']) > DateUtil::criarDataHora($dados['dataSaida'], $dados['horaSaida'])) { throw new ValidacaoException('A Data de Solicitação deve ser igual ou anterior à Data de Saída!'); } if (DateUtil::criarDataHora($dados['dataRetorno'], $dados['horaRetorno']) < DateUtil::criarDataHora($dados['dataSaida'], $dados['horaSaida'])) { throw new ValidacaoException('A Data de Retorno deve ser igual ou posterior à Data de Saída!'); } if (DateUtil::criarDataHora($dados['dataSolicitacao'], $dados['horaSolicitacao']) > DateUtil::criarDataHora($dados['dataRetorno'], $dados['horaRetorno'])) { throw new ValidacaoException('A Data de Solicitação deve ser igual ou anterior à Data de Retorno!'); } if (!$dados['hodometroSaida']) { throw new ValidacaoException('Hodômetro de Saída não informado!'); } if (!$dados['hodometroRetorno']) { throw new ValidacaoException('Hodômetro de Retorno não informado!'); } if ($dados['hodometroRetorno'] <= $dados['hodometroSaida']) { throw new ValidacaoException('A marcação do Hodômetro de Retorno deve ser maior que a do Hodômetro de Saída!'); } if (!$dados['combustivelInicial']) { throw new ValidacaoException('Combustível inicial não informado!'); } if (!$dados['solicitante']) { throw new ValidacaoException('Solicitante não informado!'); } if (!$dados['motorista']) { throw new ValidacaoException('Motorista não informado!'); } if (!$dados['passageiros'] && !$dados['outrosPassageiros']) { throw new ValidacaoException('Nenhum passageiro informado!'); } if ($this->getRepository()->validaDatasMovimentacao($dados)) { throw new ValidacaoException('Existe uma movimentação para o veículo no período informado!'); } if ($this->getRepository()->validaHodometrosMovimentacao($dados)) { throw new ValidacaoException('Existe uma movimentação para o veículo neste intervalo dos hodômetros!'); } }
public function validarOcorrencia($dados) { if (!$dados['placaVeiculo']) { throw new ValidacaoException('Veículo não informado!'); } if (!$dados['hodometro']) { throw new ValidacaoException('Hodômetro não informado!'); } DateUtil::validarData($dados['data'], 'Data não informada'); if (!$dados['hora']) { throw new ValidacaoException('Hora não informada!'); } if (!$dados['motorista']) { throw new ValidacaoException('Motorista não informado!'); } if (!$dados['local']) { throw new ValidacaoException('Local não informado!'); } if ($dados['usaEcoFrotas']) { if (!$dados['cnpj']) { throw new ValidacaoException('CNPJ inválido ou não informado!'); } if (!$dados['cartao']) { throw new ValidacaoException('Nº do Cartão não informado!'); } if (!$dados['fatura']) { throw new ValidacaoException('Nº da Fatura não informado!'); } if (!$dados['transacao']) { throw new ValidacaoException('Nº da Transação não informado!'); } } }