ArrayLoaderStrategy
extends AbstractArrayLoaderStrategy
in package
implements
LoaderStrategyInterface
Estrategia `libro_boletas.array` del `LoaderWorker`.
Normaliza los detalles del Libro de Boletas desde un arreglo PHP.
Attributes
- #[Strategy]
- $name: 'libro_boletas.array'
- $worker: 'loader'
- $component: 'book'
- $package: 'billing'
Table of Contents
Interfaces
- LoaderStrategyInterface
- Interfaz para las estrategias del `LoaderWorker`.
Methods
- load() : BookBagInterface
- {@inheritDoc}
- normalize() : BookBagInterface
- {@inheritDoc}
- normalizeCaratula() : array<string|int, mixed>
- Normaliza la carátula del libro.
- normalizeDetalle() : array<string|int, mixed>
- Normaliza un registro del detalle del libro.
Methods
load()
{@inheritDoc}
public
load(BookBagInterface $bag) : BookBagInterface
Parameters
- $bag : BookBagInterface
Return values
BookBagInterfacenormalize()
{@inheritDoc}
protected
normalize(BookBagInterface $bag) : BookBagInterface
Parameters
- $bag : BookBagInterface
Return values
BookBagInterfacenormalizeCaratula()
Normaliza la carátula del libro.
protected
normalizeCaratula(BookBagInterface $bag) : array<string|int, mixed>
Normaliza la carátula del libro de boletas.
- TipoLibro: 'ESPECIAL' (siempre es especial en boletas).
- TipoEnvio: 'PARCIAL', 'FINAL', 'TOTAL' o 'AJUSTE'.
- FolioNotificacion: correlativo que parte en 1 y se incrementa en 1 por cada nuevo envío del libro de boletas al SII.
Nota: los segmentos no están soportados en esta implementación.
Parameters
- $bag : BookBagInterface
Return values
array<string|int, mixed>normalizeDetalle()
Normaliza un registro del detalle del libro.
protected
normalizeDetalle(array<string|int, mixed> $detalle) : array<string|int, mixed>
Normaliza un detalle del libro de boletas.
El orden de las claves determina el orden de los elementos en el XML.
Parameters
- $detalle : array<string|int, mixed>