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.
| Recurso | Identificador | Finalidade |
|---|---|---|
| Módulo | Colaboradores | Contexto funcional |
| Grupo | DwEmployeePosition | Identificação técnica do schema |
| Principal | Sim | Disponível como ponto de entrada no menu |
Contrato do Modelo
Este schema opera sob as seguintes garantias:
- Todo
DwEmployeePositionpertence 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
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
| Campo | Relation Schema | Valor Default | Valor Fixo |
|---|---|---|---|
companySiteId | CompanySite | Contexto 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çãosync: flag de controle interno- Valor inicial fixo:
false
Exemplo de Registro
{
"code": 12,
"description": "Supervisor de Produção",
"companySiteId": "64fa9c2e8b1c2a001f3e9a77"
}