Operador do veículo
Verifica se agency_id está preenchido quando exigido e corresponde a uma agência de agency.txt.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | vehicle_agency_id_references_agency_table |
| Ficheiros | vehicles.txt, agency.txt |
| Campo | agency_id |
| Tipo | Identificador externo |
| Severidade | Obrigatório |
Descrição do campo: identifica a agência responsável pelo veículo indicado.
Mais informação em vehicles.txt e agency.txt.
Como funciona
Cada agency_id preenchido em vehicles.txt tem de existir em agency.txt. A regra não verifica outros dados da agência nem se esta opera serviços associados ao veículo.
A regra avalia cada linha do vehicles.txt, seguindo os passos abaixo por ordem, até um deles dar o resultado.
| # | Pergunta | Se sim | Se não |
|---|---|---|---|
| 1 | O campo está vazio? | Verifica se a configuração da regra exige ou recomenda este campo. Se sim, reporta o problema. Se não, aceita | Segue para o passo 2 |
| 2 | A configuração da regra define que este campo não deve ser preenchido? | ❌ Reporta o problema | Segue para o passo 3 |
| 3 | Existe uma linha com o mesmo agency_id em agency.txt? | ✅ Passa | ❌ Reporta o problema: agência inexistente |
Como se relacionam
O valor de agency_id em vehicles.txt identifica uma linha de agency.txt. O texto tem de coincidir exatamente nos dois ficheiros.
Exemplos
agency_id em vehicles.txt | agency_id em agency.txt | Resultado | Porquê |
|---|---|---|---|
A1 | A1 | ✅ Passa | Agência encontrada |
| vazio | A1 | ❌ Problema | Campo obrigatório |
A2 | A1 | ❌ Problema | Agência inexistente |
A1 quando o campo é proibido | A1 | ❌ Problema | Campo preenchido indevidamente |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
| Campo em falta | A configuração da regra exige ou recomenda agency_id | Preencher agency_id em vehicles.txt com o identificador da agência |
| Campo preenchido quando não devia | A configuração da regra proíbe agency_id | Remover o valor de agency_id em vehicles.txt |
| Agência inexistente | O agency_id de vehicles.txt não existe em agency.txt | Corrigir agency_id em vehicles.txt ou adicionar a agência correspondente a agency.txt |