Ir para o conteúdo principal

[WIP] - Situação Frota | 2025 -

Tipo Envio: Balancete - Frota

Chave Unicidade

 [ Exercício - Mês -  Código Unidade Gestora - Data Situação - Tipo Situação - Categoria Frota - Código ]


Objeto Raiz
Campo Informações
timestamp Campo utilizado para ordenar a validação das informações enviadas. Caso sejam enviados múltiplos payloads do mesmo tipo, a ordenação ocorrerá da data mais antiga para a mais recente
elementos

Item
Campo Chave Informações
dataSituacao
tipoSituacao Tabela Tipo Situação
categoriaFrota Tabela Tipo Categoria Frota
codigo

Quando a categoria for veículo, o identificador deve corresponder à placa do veículo
Quando a categoria for máquina, o identificador deve corresponder ao código da máquina

action Define a operação a ser realizada com a informação, seja ela criação, atualização ou exclusão

Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Lista de Situações Frota",
  "description": "Lista de objetos representando a entidade Situação Frota",
  "type": "object",
  "properties": {
    "timestamp": {
      "type": "string",
      "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])T([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)\\.\\d{3,6}$",
      "examples": ["2025-09-11T15:30:00.123456"]
    },
    "elementos": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "title": "Situação Frota",
        "description": "Representação do schema para envio da entidade Situação Frota",
        "type": "object",
        "properties": {
          "dataSituacao": {
            "type": "string",
            "format": "date"
          },
          "tipoSituacao": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1,
            "pattern": "^[0-9]+$"
          },
          "categoriaFrota": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1,
            "pattern": "^[0-9]+$"
          },
          "codigo": {
            "type": "string",
            "minLength": 7,
            "maxLength": 7
          },
          "action": {
            "type": "string",
            "enum": [
              "CREATE",
              "UPDATE",
              "DELETE"
            ]
          }
        },
        "required": [
          "dataSituacao",
          "tipoSituacao",
          "categoriaFrota",
          "codigo",
          "action"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "timestamp",
    "elementos"
  ],
  "additionalProperties": false
}

Exemplo de Payload
{
  "timestamp": "2025-09-11T15:30:00.123456",
  "elementos": [
    {
      "dataSituacao": "2025-03-01",
      "tipoSituacao": "1",
      "categoriaFrota": "1",
      "codigo": "ABC1234",
      "action": "CREATE"
    },
    {
      "dataSituacao": "2025-03-15",
      "tipoSituacao": "2",
      "categoria": "1",
      "codigo": "ABC1234",
      "action": "CREATE"
    },
    {
      "dataSituacao": "2025-03-21",
      "tipoSituacao": "1",
      "categoriaFrota": "1",
      "codigo": "ABC1234",
      "action": "CREATE"
    },
    {
      "data": "2025-03-01",
      "tipoSituacao": "1",
      "categoriaFrota": "2",
      "codigo": "0000001",
      "action": "CREATE"
    }
  ]
}

Regras

ID Regra
SITUACAO_FROTA_DUPLICIDADE_NAO_PERMITIDA Não é permitido cadastrar registros duplicados pela chave de unicidade
SITUACAO_FROTA_MULTIPLAS_SITUACOES_PERMITIDAS Poderá haver mais de uma situação no mês, para a mesma frota ou máquina
SITUACAO_FROTA_INFORMACOES_MENSAIS Devem ser informadas MENSALMENTE, as situações de todos os veículos e máquinas cadastrados
SITUACAO_FROTA_DATA_INICIO_SITUACAO O campo data deve ser preenchido com a data do mês em que se iniciou a situação indicada.
Exemplos:
- Se veículo esteve em uso durante todo o mês indicar 01/mm/aaaa; - - Se veículo esteve em manutenção entre os dias 15 e 20 do mês de março deverão ser informadas três situações: 01/03/2024, 15/03/2024 e 21/03/2024