ExportScheduled representa uma exportação agendada. Ele mantém o núcleo de solicitação de um ExportJob, adicionando o horário de execução e metadados necessários para gerar o arquivo futuro.
Campos
| Campo | Tipo | Descrição |
|---|---|---|
exportScheduledId | UUID | Identificador único |
organizationId | UUID? | Organização relacionada ao agendamento |
companyId | UUID? | Empresa relacionada ao agendamento |
cooperativeId | UUID? | Cooperativa relacionada ao agendamento |
requestedByUserId | UUID | Usuário que solicitou a exportação agendada |
resource | String | Chave do recurso exportado, correspondente a ExportResource |
scopeType | DataTransferScopeType | Escopo principal da exportação |
format | DataTransferFileFormat | Formato do arquivo gerado |
columns | String[] | Colunas solicitadas para o arquivo |
filters | Json | Filtros aplicados à consulta |
fileNamePrefix | String? | Prefixo usado para montar o nome sugerido do arquivo gerado |
scheduledAt | DateTime | Horário em que o job deve ser criado |
failureReason | String? | Motivo de falha quando o agendamento termina em FAILED |
status | ExportScheduledStatus | Status do agendamento |
createdAt | DateTime | Data de criação |
updatedAt | DateTime | Data da última atualização |
deletedAt | DateTime? | Data de remoção lógica |
Relacionamentos
- Relaciona-se com Organization, quando o escopo exigir organização.
- Relaciona-se com Company, quando o escopo for
COMPANY. - Relaciona-se com Cooperative, quando o escopo for
COOPERATIVE. - Relaciona-se com User por
requestedByUserId. - Referencia ExportResource por
resource. - Pode originar um ExportJob quando
scheduledAtfor alcançado.
Regras de Negócio
resourcedeve existir como catálogo ativo em ExportResource.scopeTypedefine quais identificadores de escopo são obrigatórios.columnsdeve ser subconjunto das colunas permitidas no catálogo.filtersdeve respeitar os campos e operadores permitidos no catálogo.fileNamePrefixdeve ser usado para compor ofileNamedo ExportJob, quando informado.scheduledAtdeve ser uma data futura no momento da criação do agendamento.- Quando o agendamento for executado, deve ser criado um ExportJob com os mesmos campos de escopo, recurso, formato, colunas e filtros.
CANCELED,COMPLETED,FAILEDoudeletedAtimpedem nova execução do agendamento.
Enums
DataTransferScopeType
| Valor | Descrição |
|---|---|
ORGANIZATION | Operação limitada a uma organização |
COMPANY | Operação limitada a uma empresa |
COOPERATIVE | Operação limitada a uma cooperativa |
BACKOFFICE | Operação administrativa |
DataTransferFileFormat
| Valor | Descrição |
|---|---|
CSV | Arquivo CSV |
XLSX | Planilha Excel |
ExportScheduledStatus
| Valor | Descrição |
|---|---|
SCHEDULED | Agendamento criado e aguardando execução |
COMPLETED | Job criado a partir do agendamento |
FAILED | Falha ao criar o job agendado |
CANCELED | Agendamento cancelado antes da execução |