Skip to content

Release v0.9.8#42

Merged
albertomandlate merged 16 commits intomainfrom
release-v0.9.8
Jun 7, 2025
Merged

Release v0.9.8#42
albertomandlate merged 16 commits intomainfrom
release-v0.9.8

Conversation

@albertomandlate
Copy link
Copy Markdown
Contributor

Este pull request introduz mudanças significativas no projeto SAF-T Moçambique, com foco na melhoria da geração de ficheiros, simplificação de fluxos de trabalho e aprimoramento da manutenção do código. As principais atualizações incluem a adição de suporte para geração de ficheiros Excel no formato antigo .xls, a substituição da biblioteca ClosedXML por NPOI e a simplificação da configuração do fluxo de trabalho do CodeQL.

Melhorias na Geração de Ficheiros:

  • Adicionado suporte para geração de ficheiros .xls juntamente com .xlsx, introduzindo um novo valor enum ExcelOld em FormatoOutput e atualizando o método GenerateBytesExcel para lidar com ambos os formatos.
    (src/SAF-T.Core/Models/AuditFile.cs - [1]
    src/SAF-T.Core/Interfaces/ISaftGenerator.cs - [2]
    src/SAF-T.Mozambique/Generators/MozambiqueSaftGenerator.cs - [3])

  • Substituída a biblioteca ClosedXML por NPOI para manipulação de ficheiros Excel, permitindo suporte ao formato .xls e melhorando a compatibilidade.
    (src/SAF-T.Mozambique/Generators/MozambiqueSaftGenerator.cs - [1]
    src/SAF-T.Mozambique/SAF-T.Mozambique.csproj - [2])

Simplificação do Fluxo de Trabalho do CodeQL:

  • Simplificado o fluxo de trabalho do CodeQL, reduzindo a complexidade na configuração da matriz, removendo comentários redundantes e otimizando permissões. O cronograma de execução também foi atualizado para análises mais frequentes.
    (.github/workflows/codeql.yml - [1]
    [2])

Melhorias no Feedback ao Utilizador:

albertomandlate and others added 15 commits June 5, 2025 14:58
Alterada a sintaxe de criação da instância de `XLWorkbook` para uma forma mais concisa e moderna, utilizando a inferência de tipo do C# 9.0.
Adicionado o valor `ExcelOld` ao enum `FormatoOutput` em `AuditFile.cs` para incluir mais opções de formato. Modificado o método `GenerateBytesExcel` em `MozambiqueSaftGenerator.cs` para aceitar um parâmetro `formatoOutput`, permitindo maior flexibilidade na geração de bytes. Incluída a referência ao pacote `NPOI` na versão `2.7.3` no projeto `SAF-T.Mozambique.csproj` para suporte adicional à manipulação de arquivos Excel.
Foi adicionada uma nova sobrecarga do método `GenerateBytesExcel` na interface `ISaftGenerator`, permitindo um parâmetro adicional `FormatoOutput` com valor padrão.

O método foi reescrito para utilizar a biblioteca NPOI em vez de ClosedXML, alterando a lógica de criação e preenchimento do arquivo Excel. O cabeçalho da planilha agora é criado com `CreateRow` e `CreateCell`, e o tratamento de exceções foi atualizado para capturar `ArgumentNullException`, melhorando a robustez do código.
Atualiza o código para suportar a geração de arquivos XLSX e XLS a partir de um arquivo de auditoria. As mensagens de console foram ajustadas para indicar a criação de múltiplos arquivos, e a mensagem final foi modificada para refletir que vários arquivos foram criados com sucesso.
Alterações no arquivo `MozambiqueSaftGenerator.cs` para remover as importações das bibliotecas `ClosedXML.Excel`, `NPOI.HSSF.UserModel`, `NPOI.SS.UserModel` e `NPOI.XSSF.UserModel`. Adicionada a importação de `Simansoft.SAFT.Mozambique.Models`.

No arquivo `SAF-T.Mozambique.csproj`, removidas as referências aos pacotes `ClosedXML` e `NPOI`, indicando que essas bibliotecas não são mais necessárias no projeto.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 7, 2025 08:28
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Esta pull request introduz melhorias na geração de ficheiros e a manutenção do código para o projeto SAF-T Moçambique. As principais alterações são:

  • Inclusão do suporte para ficheiros Excel no formato antigo (.xls) através da adição do enum ExcelOld e modificação do método GenerateBytesExcel.
  • Substituição da biblioteca ClosedXML por NPOI para manipulação de ficheiros Excel.
  • Simplificação e otimização do fluxo de trabalho do CodeQL.

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/SAF-T.Mozambique/SAF-T.Mozambique.csproj Atualização da referência de biblioteca, trocando ClosedXML por NPOI.
src/SAF-T.Mozambique/Generators/MozambiqueSaftGenerator.cs Adaptação da geração de ficheiros Excel usando NPOI e inclusão do suporte para o novo formato ExcelOld.
src/SAF-T.Core/Models/AuditFile.cs Inclusão do enum ExcelOld para suportar ficheiros XLS.
src/SAF-T.Core/Interfaces/ISaftGenerator.cs Adição da sobrecarga do método GenerateBytesExcel para permitir especificação do formato de output.
samples/SAF-T.Examples/MozambiqueDemo/BasicMozDemo.cs Atualização da demonstração para gerar ficheiros XLSX, XLS e XML, com mensagens de feedback atualizadas.
.github/workflows/codeql.yml Simplificação e ajuste do fluxo de trabalho, incluindo alterações no agendamento e permissões.

Comment thread .github/workflows/codeql.yml Outdated
row.CreateCell(26).SetCellValue(factura.DocumentTotals?.TaxPayable.ToString() ?? "0");
row.CreateCell(27).SetCellValue(factura.DocumentTotals?.GrossTotal.ToString() ?? "0");
row.CreateCell(28).SetCellValue(auditFile.Header?.CurrencyCode ?? string.Empty);
row.CreateCell(29).SetCellValue("1"); // Taxa de Câmbio fixa como 1
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Esta variável não está ainda declarada. Numa próxima revisão, será implementada

row.CreateCell(26).SetCellValue(factura.DocumentTotals?.TaxPayable.ToString() ?? "0");
row.CreateCell(27).SetCellValue(factura.DocumentTotals?.GrossTotal.ToString() ?? "0");
row.CreateCell(28).SetCellValue(auditFile.Header?.CurrencyCode ?? string.Empty);
row.CreateCell(29).SetCellValue("1"); // Taxa de Câmbio fixa como 1
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Esta variável não está ainda declarada. Numa próxima revisão, será implementada

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@SimansoftMZ SimansoftMZ deleted a comment from Copilot AI Jun 7, 2025
@albertomandlate albertomandlate merged commit 15d5212 into main Jun 7, 2025
6 of 7 checks passed
@albertomandlate albertomandlate deleted the release-v0.9.8 branch June 8, 2025 17:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants