Skip to main content

Cargo (DwEmployeePosition)

O Cargo representa a função exercida por um colaborador dentro da organização.
Ele é utilizado para estruturar hierarquias funcionais, responsabilidades operacionais e classificações de colaboradores no sistema.

Todo cargo pertence a uma empresa e não pode ser removido enquanto estiver vinculado a funcionários.


Identidade do Modelo

Configurações estruturais que definem o comportamento do objeto.

RecursoIdentificadorFinalidade
MóduloColaboradoresContexto funcional
GrupoDwEmployeePositionIdentificação técnica do schema
PrincipalSimDisponível como ponto de entrada no menu

Contrato do Modelo

Este schema opera sob as seguintes garantias:

  • Todo DwEmployeePosition pertence a uma empresa
  • O campo code é auto-gerado, único por empresa e imutável
  • A description é o identificador humano
  • Cargos não podem ser removidos se estiverem vinculados
  • O isolamento por empresa é aplicado automaticamente

Interface & Comportamento (UI)

Como o sistema expõe este objeto ao usuário final.

Inteligência de Busca

Campos indexados para navegação rápida:

  • Campos indexados: code, description
  • Descriptor: description

Sempre que um cargo for referenciado, o valor exibido será sua descrição.


Regras do Formulário

Fluxo de Preenchimento

A ordem, validações e bloqueios são controlados automaticamente pelo sistema.

Código (code)

  • Auto-gerado
  • Obrigatório
  • Único por empresa
  • Não editável após criação
  • Máximo de 20 caracteres

Descrição (description)

  • Texto
  • Obrigatório
  • Máximo de 40 caracteres

Filial / Empresa (companySiteId)

  • Relacionamento com CompanySite
  • Somente leitura
  • Preenchido automaticamente pelo contexto

Conectividade e Regras Especiais

CampoRelation SchemaValor DefaultValor Fixo
companySiteIdCompanySiteContexto atual-
sync--false

Os relacionamentos garantem integridade entre cargos, funcionários e empresas.


Segurança e Integridade

Multitenancy (Múltiplas Empresas)

Com multi_company: true, o sistema aplica:

  • Isolamento completo por empresa
  • Filtro automático em todas as consultas
  • Bloqueio de acesso cruzado, inclusive via API

Proteção de Integridade

  • Exclusão bloqueada por relacionamento
  • Regra aplicada: preventDeleteDueToRelations

Um cargo não pode ser removido caso esteja vinculado a qualquer funcionário.


Sincronização de Dados

  • dataSync: registro temporal da última sincronização
  • sync: flag de controle interno
  • Valor inicial fixo: false

Exemplo de Registro

{
"code": 12,
"description": "Supervisor de Produção",
"companySiteId": "64fa9c2e8b1c2a001f3e9a77"
}