Regras e Validações do SDP para inclusão dos dados
vindo dos Portos.
Validação de Sintaxe (arquivo XSD)
1.
Verifica se o arquivo recebido possui a mesma sintaxe apresentada no arquivo XSD.
Campos:
• Grupo: agrupador.
• Numéricos: caracteres de 0 a 9.
• Numéricos(N): N caracteres de 0 a 9.
• Texto: caracteres alfas-numéricos.
• Texto(N): N caracteres alfas-numéricos.
• Constante(X): valor fixo X.
• Data/Hora: data disposta na forma yyyy-MM-ddTHH:mm:ss onde:
o yyyy = ano, 4 dígitos
o MM = mês, 2 dígitos
o dd = dia, 2 dígitos
o T = constante, caractere 'T'
o HH = hora, 2 dígitos
o mm = minuto, 2 dígitos
o ss = segundos, 2 dígitos
• Decimal: Numérico com casas decimais
• Decimal (N,M): Numérico de N dígitos com M casas decimais.
• Valores (tipo - a,b,c...): apenas os valores específicos (a,b,c...)
• Tempo: caracteres numéricos no formato hhh:mm onde:
o hhh = hora, até 3 dígitos
o mm = minuto, 2 dígitos
As sintaxes verificadas são:
• Movimento: agrupador; uma ocorrência.
• Remetente: agrupador; uma ocorrência por movimento.
• CNPJ: numérico (14); uma ocorrência por remetente.
• RazaoSocial: texto; uma ocorrência por remetente.
• ResponsavelEnvio: texto; uma ocorrência por remetente.
• TipoRemetente: constante (1); uma ocorrência por remetente.
• DataHoraEnvio: data/hora; uma ocorrência por remetente.
• Atracacao: agrupador; uma ou mais ocorrências por movimento.
• TrigramaPorto: texto (3); uma ocorrência por atracação.
• NumeroAtracacao: texto (15); uma ocorrência por atracação.
• LocalAtracacao: texto (4); uma ocorrência por atracação.
• IMON: numérico; zero a uma ocorrência por atracação.
• NumeroInscricaoCapitania: texto (10), zero a uma ocorrência por atracação.
• Navegacao: valores (numérico - 1,3,5); uma ocorrência por atracação.
• TipoOperacao: valores (numérico - 1,2,3,4,5,6); uma ocorrência por atracação.
• CnpjAgente: 14 dígitos numéricos; uma ocorrência por atracação.
• CnpjOperador: 14 dígitos numéricos; uma ocorrência por atracação.
• DataHoraChegada: data/hora; uma ocorrência por atracação.
• DataHoraAtracacao: data/hora; uma ocorrência por atracação.
• DataHoraDesatracacao: data/hora; uma ocorrência por atracação.
• DataHoraInicioOperacao: data/hora; zero a uma ocorrência por atracação.
• DataHoraTerminoOperacao: data/hora; zero a uma ocorrência por atracação.
• TempoEspera: tempo; zero a uma ocorrência por atracação.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
2.
3.
4.
ParalizacaoPorto: tempo; zero a uma ocorrência por atracação.
ParalizacaoOperador: tempo; zero a uma ocorrência por atracação.
InfraEstruturaMaritima: decimal; zero a uma ocorrência por atracação.
InfraEstruturaTerrestre: decimal; zero a uma ocorrência por atracação.
TaxaAtracacao: decimal; zero a uma ocorrência por atracação.
Equipamentos: decimal; zero a uma ocorrência por atracação.
MaoObraTerra: decimal; zero a uma ocorrência por atracação.
TransporteInterno: decimal, zero a uma ocorrência por atracação.
OutrasTaxas: decimal; zero a uma ocorrência por atracação.
Carga: agrupador; zero ou mais por atracação.
CodigoCarga: texto (8); uma ocorrência por carga.
NaturezaCarga: valores (numérico - 1,2,3); uma ocorrência por carga.
Sentido: valores (numérico - 1,2); uma ocorrência por carga.
Navegacao: valores (numérico - 1,3,5); uma ocorrência por carga.
BigramaPaisOrigem: texto (2); uma ocorrência por carga.
TrigramaPaisOrigem: texto (3); uma ocorrência por carga.
BigramaPaisDestino: texto (2); uma ocorrência por carga.
TrigramaPaisDestino: texto (3); uma ocorrência por carga.
QuantidadeConteiner: numérico (5); uma ocorrência por carga.
PesoCargaBruta: decimal (11,3); uma ocorrência por carga.
CargaConteinerizada: agrupador; zero ou mais ocorrências por carga.
CodigoCargaConteinerizada: texto (8); uma ocorrência por carga conteinerizada.
PesoCargaLiquida: decimal (11,3); uma ocorrência por carga conteinerizada.
Verifica se o arquivo é do tipo XML. Exceção: O arquivo deve ter o formato XML.
Verifica se o arquivo possui extensão XML. Exceção: O arquivo não possui extensão XML.
Verifica se o arquivo possui tamanho maior que o limite (4MB). Exceção: O arquivo excede o
tamanho máximo permitido (4MB).
Validação do Negócio (regras de negócio)
Verifica se as informações se adequam às regras de funcionamento do sistema.
As verificações são:
•
Remetente
o CNPJ
1. Verifica se o CNPJ do remetente é válido (regra de formação). Exceção: O CNPJ
do Remetente é inválido.
•
Atracação
o Trigrama
1. Verifica se a autoridade portuária está vinculada ao Trigrama informado. Exceção:
A autoridade portuária não está vinculada ao Trigrama informado.
o IMO e Número Inscrição Capitania
1. Verifica se pelo menos um dos dois está preenchido. Exceção: A embarcação deve
ter IMON e/ou Número Inscrição Capitania.
o CNPJ do Agente
1. Verifica se o CNPJ do Agente é válido. Exceção: O CNPJ do Agente é inválido.
o CNPJ do Operador
1. Verifica se o CNPJ do Operador é válido. Exceção: O CNPJ do Operador é
inválido.
o Data/Hora Atracação
1. Verifica se a Data/Hora de Atracação é superior à Data/Hora atual. Exceção: Data/
Hora de Atracação deve ser menor que a data atual.
2.
o
o
o
o
Verifica se a Data/Hora de Atracação é superior à Data/Hora de Desatracação.
Exceção: Data/Hora de Atracação deve ser menor que a Data/Hora de
Desatracação.
Data/Hora Desatracação
1. Verifica se a Data/Hora de Desatracação é superior à Data/Hora atual. Exceção:
Data/Hora de Desatracação deve ser menor que a data atual.
2. Verifica se a Data/Hora de Desatracação é inferior à Data/Hora de Término da
Operação. Exceção: Data/Hora de Desatracação deve ser maior que a Data/Hora
de Término da Operação.
Data/Hora Chegada
1. Verifica se a Data/Hora de chegada é superior à Data/Hora atual. Exceção:
Data/Hora de Chegada deve ser menor que a data atual.
2. Verifica se a Data/Hora de chegada é superior à Data/Hora de Atracação. Exceção:
Data/Hora de Chegada não deve ser menor que a Data/Hora de Atracação.
Data/Hora Início da Operação
1. Verifica se a Data/Hora de Início da Operação é superior à Data/Hora atual.
Exceção: Data/Hora de Início da Operação deve ser menor que a data atual.
2. Verifica se a Data/Hora de Início da Operação é superior à Data/Hora de Término
da Operação. Exceção: Data/Hora de Início da Operação deve ser menor que a
Data/Hora de Término da Operação.
Data/Hora Término da Operação
1. Verifica se a Data/Hora de Término da Operação é superior à Data/Hora atual.
Exceção: Data/Hora de Término da Operação deve ser menor que a data atual.
•
Carga
o Tipo de Operação
1. Verifica se o Tipo de Operação é diferente do definido para Movimentação de
Carga e se possui Cargas. Exceção: Essa atracação não é "Movimentação de
Carga" e não pode possuir cargas.
2. Verifica se o Tipo de Operação é igual ao definido para Movimentação de Carga e
se possui Cargas. Exceção: Toda atracação para "Movimentação de Carga" deve
ter pelo menos uma carga cadastrada.
o Contêineres
1. Verifica se a carga é do tipo contêiner cheio e se possui as informações para o
contêiner. Exceção: A carga do tipo contêiner cheio exige a descrição da carga
conteinerizada.
2. Verifica se o contêiner é do tipo contêiner vazio e se possui carga conteinerizada.
Exceção: O contêiner deve ser cheio para que haja carga conteinerizada.
3. Verifica se a quantidade de contêineres é igual a zero e se possui carga
conteinerizada. Exceção: Quantidade de contêiner deve ser maior que zero para
que haja carga conteinerizada.
4. Verifica se há cargas conteinerizadas para uma carga que não seja do tipo
contêiner. Exceção: O código de carga não permite que se informe carga
conteinerizada.
5. Verifica se o campo Quantidade de Contêiner é maior que zero para cargas que não
sejam do tipo contêiner. Exceção: Para o código da carga NCM a quantidade de
contêiner deve ser igual à zero.
o Carga Liquida x Carga Bruta
1. Verifica se a soma do Peso da Carga Liquida dos Contêineres é menor ou igual ao
Peso da Carga Bruta da Carga. Exceção: O somatório do peso líquido da carga dos
contêineres deve ser menor que o peso bruto da carga.
•
Carga Conteinerizada
o Código Carga
1. Verifica se o código da carga conteinerizada não é um código de contêiner.
Exceção: Não é permitido código de contêiner como carga conteinerizada.
o Natureza da Carga
1. Verifica se a Natureza da Carga Conteinerizada é de "Carga Geral". Exceção:
Natureza da carga deve ser Carga Geral para cargas do tipo contêiner.
Validação de Integridade
•
Atracação
o Atracação já cadastrada
1. Verifica se alguma atracação já foi cadastrada anteriormente na base de dados,
através dos campos: Ano da Atracação, Número da Atracação, Porto e Berço.
Exceção: Este arquivo contém atracações cadastradas na base.
o Berço não cadastrado
1. Verifica se o berço informado consta na base de dados. Exceção: Berço não
cadastrado.
o Tipo de navegação não cadastrada
1. Verifica se o Tipo de Navegação informada consta na base de dados. Exceção:
Tipo de Navegação não cadastrada.
•
Carga
o Código NCM não encontrado
1. Verifica se código NCM da carga e o ano da atracação, existem na base de dados.
Exceção: O Código da Carga não consta na base de dados.
o Bigrama/Trigrama Origem
1. Verifica se o bigrama e o trigrama de origem constam na base. Exceção: O
bigrama ou trigrama do porto de origem não constam na base de dados.
o Bigrama/Trigrama Destino
1. Verifica se o bigrama e o trigrama de destino constam na base. Exceção: O
bigrama ou trigrama do porto de destino não constam na base de dados.
•
Carga Conteinerizada
o Carga já cadastrada
1. Verifica se a carga já está cadastrada. Exceção: Carga Conteinerizada já
cadastrada.
o Código NCM não encontrado
1. Verifica se código NCM da carga conteinerizada e o ano da atracação existem na
base de dados. Exceção: O Código da Carga Conteinerizada não consta na base de
dados.
Download

Regras e Validações do SDP para inclusão dos dados vindo dos