From cc317e274b706f5e21c2814837f5f316e69c73dc Mon Sep 17 00:00:00 2001 From: Gabriel Menezes Date: Sun, 1 Nov 2026 09:53:38 -0400 Subject: [PATCH] refactor(reports): remove atividades as default built-in tag --- .../generate/GenerateReportUseCase.java | 18 ---------- .../reports/CreateTemplateModal.tsx | 3 +- .../components/reports/EditTemplateModal.tsx | 3 +- .../reports/GenerateReportModal.tsx | 34 ++++++++++--------- frontend/src/pages/ReportsPage.tsx | 1 - 5 files changed, 20 insertions(+), 39 deletions(-) diff --git a/backend/src/main/java/net/beetechgroup/beetask/usecase/report/generate/GenerateReportUseCase.java b/backend/src/main/java/net/beetechgroup/beetask/usecase/report/generate/GenerateReportUseCase.java index 0c7d91d..04f01db 100644 --- a/backend/src/main/java/net/beetechgroup/beetask/usecase/report/generate/GenerateReportUseCase.java +++ b/backend/src/main/java/net/beetechgroup/beetask/usecase/report/generate/GenerateReportUseCase.java @@ -251,24 +251,6 @@ public class GenerateReportUseCase { } } - // Fallbacks para tags comuns se não foram explicitamente seções - if (!listSections.containsKey("atividades")) { - List allItems = new ArrayList<>(); - for (Task t : taskList) { - long sec = calculateTaskSecondsInPeriod(t, user.getEmail(), startDt, endDt); - allItems.add(new DocxReportEngine.TaskItem( - t.getTitle(), - t.getFinishedAt() != null ? t.getFinishedAt().format(DATE_FORMATTER) : strEnd, - sec > 0 ? formatDuration(sec) : "", - formatStatus(t.getStatus()), - t.getCategory() != null ? t.getCategory().getName() : "", - t.getProject() != null ? t.getProject().getName() : "", - t.getDescription() - )); - } - listSections.put("atividades", allItems); - } - // 5. Baixar o template do MinIO e gerar o documento preenchido byte[] docxBytes; try (InputStream templateStream = storageRepository.download(template.getStorageKey())) { diff --git a/frontend/src/components/reports/CreateTemplateModal.tsx b/frontend/src/components/reports/CreateTemplateModal.tsx index 4c209ab..61fde51 100644 --- a/frontend/src/components/reports/CreateTemplateModal.tsx +++ b/frontend/src/components/reports/CreateTemplateModal.tsx @@ -257,10 +257,9 @@ export const CreateTemplateModal: React.FC = ({

Tags Nativas Automáticas Disponíveis no Word:

Você pode utilizar diretamente as tags{' '} - {'{{atividades}}'} (com todas as atividades realizadas no período),{' '} {'{{nome}}'} (usuário logado),{' '} {'{{data_inicio}}'} e{' '} - {'{{data_fim}}'} sem precisar cadastrar campos para elas. + {'{{data_fim}}'} sem precisar cadastrar campos para elas. Para listagens de tarefas, cadastre uma seção do tipo Listagem de Tarefas definindo a tag desejada.

diff --git a/frontend/src/components/reports/EditTemplateModal.tsx b/frontend/src/components/reports/EditTemplateModal.tsx index e60122a..f7a8f8f 100644 --- a/frontend/src/components/reports/EditTemplateModal.tsx +++ b/frontend/src/components/reports/EditTemplateModal.tsx @@ -275,10 +275,9 @@ export const EditTemplateModal: React.FC = ({

Tags Nativas Automáticas Disponíveis no Word:

Você pode utilizar diretamente as tags{' '} - {'{{atividades}}'} (com todas as atividades realizadas no período),{' '} {'{{nome}}'} (usuário logado),{' '} {'{{data_inicio}}'} e{' '} - {'{{data_fim}}'} sem precisar cadastrar campos para elas. + {'{{data_fim}}'} sem precisar cadastrar campos para elas. Para listagens de tarefas, cadastre uma seção do tipo Listagem de Tarefas definindo a tag desejada.

diff --git a/frontend/src/components/reports/GenerateReportModal.tsx b/frontend/src/components/reports/GenerateReportModal.tsx index b58aa14..1528be1 100644 --- a/frontend/src/components/reports/GenerateReportModal.tsx +++ b/frontend/src/components/reports/GenerateReportModal.tsx @@ -476,24 +476,26 @@ export const GenerateReportModal: React.FC = ({ )} - {/* Listagens de Atividades e Tarefas Preenchidas Automaticamente */} -
-
- - - Atividades Realizadas (Preenchimento Automático) - - {'{{atividades}}'} -
+ {/* Listagens de Tarefas Configuradas no Modelo */} + {taskListSections.length > 0 && ( +
+
+ + + Listagens de Tarefas Configuradas + + + {taskListSections.map((s) => `{{${s.sectionKey}}}`).join(', ')} + +
-

- O BeeTask busca todas as atividades que você trabalhou ou concluiu no período de vigência selecionado e preenche automaticamente as tabelas e listas no Word sob a tag {'{{atividades}}'}. -

+

+ O BeeTask busca as tarefas trabalhadas ou concluídas no período de acordo com as seções e filtros configurados neste modelo. +

- {taskListSections.length > 0 && (
- Listagens filtradas por categoria configuradas no modelo: + Seções de listagem presentes no relatório:
{taskListSections.map((sec) => ( @@ -511,8 +513,8 @@ export const GenerateReportModal: React.FC = ({ ))}
- )} -
+
+ )} {/* Footer */} diff --git a/frontend/src/pages/ReportsPage.tsx b/frontend/src/pages/ReportsPage.tsx index bb1bd40..eee7303 100644 --- a/frontend/src/pages/ReportsPage.tsx +++ b/frontend/src/pages/ReportsPage.tsx @@ -97,7 +97,6 @@ export const ReportsPage: React.FC = () => { } const standardTags = [ - { tag: '{{atividades}}', desc: 'Lista de todas as atividades/tarefas trabalhadas ou concluídas no período' }, { tag: '{{nome}}', desc: 'Nome do colaborador (pega automaticamente do usuário logado)' }, { tag: '{{data_inicio}}', desc: 'Data inicial do período escolhido (ex: 01/10/2026)' }, { tag: '{{data_fim}}', desc: 'Data final do período escolhido (ex: 31/10/2026)' },