BuilderStrategy
extends AbstractStrategy
in package
implements
BuilderStrategyInterface
Estrategia `resumen_ventas_diarias` del `BuilderWorker`.
Construye el XML del Resumen de Ventas Diarias (ConsumoFolios) según el
esquema ConsumoFolio_v10.xsd del SII.
Attributes
- #[Strategy]
- $name: 'resumen_ventas_diarias'
- $worker: 'builder'
- $component: 'book'
- $package: 'billing'
Table of Contents
Interfaces
- BuilderStrategyInterface
- Interfaz para las estrategias del `BuilderWorker`.
Properties
- $xmlEncoder : XmlEncoderInterface
Methods
- __construct() : mixed
- build() : BookInterface
- Construye la entidad libro a partir del bag normalizado.
- calculateFechaFinal() : string
- Calcula la fecha del último documento de los detalles.
- calculateFechaInicial() : string
- Calcula la fecha del primer documento de los detalles.
- calculateRangos() : array<int, array{Inicial: int, Final: int}>
- Determina los rangos continuos de folios.
- calculateResumen() : array<int|string, array<string, mixed>>
- Calcula el resumen agrupado por TpoDoc con rangos de folios utilizados.
Properties
$xmlEncoder
private
XmlEncoderInterface
$xmlEncoder
Methods
__construct()
public
__construct(XmlEncoderInterface $xmlEncoder) : mixed
Parameters
- $xmlEncoder : XmlEncoderInterface
build()
Construye la entidad libro a partir del bag normalizado.
public
build(BookBagInterface $bag) : BookInterface
Parameters
- $bag : BookBagInterface
-
Bag con detalles ya normalizados.
Return values
BookInterface —Entidad libro resultante con su XML.
calculateFechaFinal()
Calcula la fecha del último documento de los detalles.
private
calculateFechaFinal(array<int, array<string, mixed>> $detalles) : string
Parameters
- $detalles : array<int, array<string, mixed>>
Return values
stringcalculateFechaInicial()
Calcula la fecha del primer documento de los detalles.
private
calculateFechaInicial(array<int, array<string, mixed>> $detalles) : string
Parameters
- $detalles : array<int, array<string, mixed>>
Return values
stringcalculateRangos()
Determina los rangos continuos de folios.
private
calculateRangos(array<string|int, int> $folios) : array<int, array{Inicial: int, Final: int}>
Parameters
- $folios : array<string|int, int>
-
Lista de números de folio.
Return values
array<int, array{Inicial: int, Final: int}>calculateResumen()
Calcula el resumen agrupado por TpoDoc con rangos de folios utilizados.
private
calculateResumen(array<int, array<string, mixed>> $detalles) : array<int|string, array<string, mixed>>
Parameters
- $detalles : array<int, array<string, mixed>>