定制 ads-system/sped-da 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ads-system/sped-da

Composer 安装命令:

composer require ads-system/sped-da

包简介

sped-da contêm as classes para criação dos documentos auxiliares referidos no projeto Sped.

README 文档

README

Classes para geração dos documentos auxiliares usados pelos padrões Sped

NOTA: Este repositório contêm as classes "LEGADAS", para criação dos PDF's do projeto original NFePHP. Porém essas classes foram ajustadas e alguns recursos estarão ausentes ou pelo menos diferentes das suas contrapartes originais.

Serão retiradas das classes todas os recursos considerados como não "pertencentes" ao escopo das mesmas e não serão mais aceitas inclusões de métodos referentes a particuliaridades de qualquer sistema. Deve se ter mente que esses documentos auxiliares (Danfe, Dacte e Damdfe) tem como ÚNICO proposito acompanhar a marcadoria durante o seu transporte. E não tem a intenção de serem usadas como FONTE de informações administrativas ou operacionais. Para essas funções o XML é mais apropriado. Estas classes deverão observar o quanto possivel as orientações da SEFAZ. Estas classes devem ser e permanecer tão genéricas e simples quanto possivel. Se você necessita que o DANFE ou qualquer outro documento seja diferente em termos de recursos que esses disponíveis, CRIE o seu próprio gerador de PDF.

PHP Supported Version Actions Latest Version on Packagist License Total Downloads

Issues Forks Stars Chat

Orientação

Abaixo seguem as orientações gerais para desenvolvedores que desejarem contribuir para a construção e melhoria dos códigos.

As classes deste repositório serão refatoradas e divididas em 4 outros repositórios:

  • sped-da-common (com as classes de uso comum para a criação dos pdfs)
  • sped-da-nfe (com as classes para a criação de PDF dos documentos referentes a NFe)
  • sped-da-cte (com as classes para a criação de PDF dos documentos referentes a CTe)
  • sped-da-mdfe (com as classes para a criação de PDF dos documentos referentes a MDFe)

Estrutura das classes

Para a geração dos documentos auxiliares devem feitas as seguintes considerações:

  • Esta biblioteca deverá ser escrita para PHP7, não será testado ou aceito o seu uso em ambientes com php menor que o 5.6 (por ora, pelo menos durante o seu desenvolvimento) e apartir da sua primeira versão estável somente PHP >= 7.0 será aceitável.
  • Este pacote "sped-da" se tornará uma dependência (sugerida) dos demais, e será de competência do desenvolvedor coloca-la como dependência de sua aplicação ou não, usando o composer.
  • A renderização das classes principais (Danfe, Dacte, Damdfe, Dacce e o NFCe, este com ressalvas) devem ser feita em PDF ou em HTML.
  • Essas classes principais devem extender a classe Da.php que é a construtora básica.
  • Os documentos auxiliares podem ser renderizados a partir dos XMLs ou das classes construtoras, estabelecidas em cada pacote. Ou seja, tanto pode ser passada uma classe com os dados do documento como o próprio documento em XML.
  • Deve ser permitida e facilitada a criação de um PDF com múltiplos documentos.
  • Todas as classes devem observar os principios S.O.L.I.D. e atender aos PSR-2 e PSR-4.
  • Todos os métodos devem possuir testes unitários utilizando o phpunit, de forma a evitar a quebra do funcionamento das classes.
  • Será montado um esquema que permitirá o "pull request" apenas se os testes unitários não falharem.
  • No caso especifico da NFC-e (Nota fiscal do consumidor) existe um outro pacote que poderá vir a ser usado, trata-se do "posprint" devido ao fato desse documento auxiliar normalmente ser impresso em impressoras térmicas POS, que não trabalham adequadamente com PDF e devem receber os dados em sua pópria linguagem (RAW data). Dessa forma o pacote "posprint" poderá tornar-se ser uma das dependências desse pacote.
  • Para a conversão dos dados em PDF é necessário o uso de uma biblioteca que seja ativamente mantida, usada por um grande contingente de programadores e que atenda minimamente os PSR. Uma grande atenção deve ser dedicada a esse ponto pois com a inclusão do PHP7 podem surgir problemas de incompatibilidade com bibliotecas que não sejam mantidas atualizadas.

Contribuindo

Este é um projeto totalmente OpenSource, para usa-lo e modifica-lo você não paga absolutamente nada. Porém para continuarmos a mante-lo é necessário qua alguma contribuição seja feita, seja auxiliando na codificação, na documentação ou na realização de testes e identificação de falhas e BUGs.

Este pacote esta listado no Packgist foi desenvolvido para uso do Composer, portanto não será explicitada nenhuma alternativa de instalação.

Durante a fase de desenvolvimento e testes este pacote deve ser instalado com:

composer require ads-system/sped-da:dev-master

Ou ainda alterando o composer.json do seu aplicativo inserindo:

"require": {
    "ads-system/sped-da" : "dev-master"
}

NOTA: Ao utilizar este pacote ainda na fase de desenvolvimento não se esqueça de alterar o composer.json da sua aplicação para aceitar pacotes em desenvolvimento, alterando a propriedade "minimum-stability" de "stable" para "dev".

"minimum-stability": "dev"

Os stable realeases estão disponíveis (mas com algumas classes ainda em desenvolvimento), pode ser instalado com:

composer require ads-system/sped-da

Ou ainda alterando o composer.json do seu aplicativo inserindo:

"require": {
    "ads-system/sped-da" : "^0.3"
}

Forma de uso

DANFE

Log de mudanças e versões

Acompanhe o CHANGELOG para maiores informações sobre as alterações recentes.

Testing

Todos os testes são desenvolvidos para operar com o PHPUNIT

Security

Caso você encontre algum problema relativo a segurança, por favor envie um email diretamente aos mantenedores do pacote ao invés de abrir um ISSUE.

Credits

Roberto L. Machado (owner and developer) Newton Pasqualini Filho (DANFE Simplificado)

License

Este pacote está diponibilizado sob LGPLv3 ou MIT License (MIT). Leia Arquivo de Licença para maiores informações.

ads-system/sped-da 适用场景与选型建议

ads-system/sped-da 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 290 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 07 月 24 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「nfe」 「nfephp」 「sped」 「Danfe」 「Dacte」 「CCe」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 ads-system/sped-da 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 ads-system/sped-da 我们能提供哪些服务?
定制开发 / 二次开发

基于 ads-system/sped-da 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 290
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 30
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 265
  • 开发语言: PHP

其他信息

  • 授权协议: LGPL-3.0-or-later
  • 更新时间: 2024-07-24