﻿# AEJ — Arquivo Eletrônico de Jornada (projeto técnico)

**Módulo:** PTRP (`desktop/src/Ptrp/AejBuilder.php`)  
**Não substitui:** AFDT / ACJEF  
**Não gera:** AFD

## Fonte de dados

| Conteúdo AEJ | Fonte |
|--------------|-------|
| Marcações originais | `rep_p_marks` (referência) |
| Incluídas / desconsideradas / pré-assinaladas | `ptrp_treatments` |
| Ausências | `absence_requests` / ocorrências existentes |
| Horários contratuais | escalas / `employee_shift_daily` / regras |
| REPs utilizados | config REP-P + INPI |
| Banco de horas / jornada | motores de cálculo PTRP (evoluir a partir do espelho atual) |

## Requisitos de arquivo

- Delimitador e ordem de registros do **Anexo VI vigente**
- Trailer com `ASSINATURA_DIGITAL_EM_ARQUIVO_P7S`
- Assinatura CAdES destacada `.p7s` (purpose=PTRP)
- Validação pré-download (`AejValidator`)
- Geração por empresa, estabelecimento, empregado e período

## Identificação de marcações no AEJ

Cada marcação deve distinguir:

- Original REP-P  
- Incluída manualmente  
- Pré-assinalada  
- Desconsiderada (original permanece visível/referenciada)

## Coerência com Espelho

Testes obrigatórios: conjunto de fixtures → AEJ × EspelhoLegalView com mesmos totais e mesmas origens.

## Transição

Enquanto `rep_p_marks` estiver vazio (pré-cutover), AEJ **oficial** bloqueado.  
Espelho operacional atual permanece disponível sem status “conforme AEJ”.
