Turno (DwShift)
O Turno define janelas operacionais de tempo dentro do módulo de Produção.
Ele estabelece intervalos formais de trabalho, utilizados para controle de jornadas, apontamentos, relatórios produtivos e regras de negócio relacionadas ao tempo.
Todo turno pertence a uma empresa e não pode ser removido enquanto estiver em uso.
Identidade do Modelo
Configurações estruturais que definem o comportamento do objeto.
| Recurso | Identificador | Finalidade |
|---|---|---|
| Módulo | Produção | Contexto funcional |
| Grupo | DwShift | 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 turno pertence a uma empresa
- O campo
codeé auto-gerado e único por empresa - O campo
nameidentifica o turno de forma curta - A
descriptioné o identificador humano exibido no sistema - Turnos não podem ser excluídos 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
Em qualquer listagem ou vínculo, o valor exibido será a descrição do turno.
Regras do Formulário
A ordem, validações e restrições são aplicadas automaticamente pelo sistema.
Código (code)
- Auto-gerado
- Obrigatório
- Único por empresa
- Não editável após criação
Nome (name)
- Texto
- Obrigatório
- Identificação curta do turno
Descrição (description)
- Texto
- Identificação exibida no sistema
Hora Início (hourBegin)
- Tipo: Hora
- Obrigatório
- Define o início do turno
Hora Fim (hourEnd)
- Tipo: Hora
- Obrigatório
- Define o encerramento do turno
Jornada (journey)
- Tipo: Hora
- Duração total do turno
- Campo informativo e opcional
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 empresas, turnos e registros dependentes.
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 turno não pode ser removido caso esteja vinculado a qualquer entidade produtiva.
Exemplo de Registro
{
"code": 3,
"name": "Turno A",
"description": "Turno Manhã",
"hourBegin": "06:00",
"hourEnd": "14:00",
"journey": "08:00",
"companySiteId": "64fa9c2e8b1c2a001f3e9a77"
}