ArrayLoaderStrategy
extends AbstractArrayLoaderStrategy
in package
implements
LoaderStrategyInterface
Estrategia `resumen_ventas_diarias.array` del `LoaderWorker`.
Normaliza cada detalle del RVD (ConsumoFolios) a los tipos que usa el
BuilderWorker en calculateResumen(): números enteros en los folios y los
montos, y el tipo y la fecha del documento como datos obligatorios.
Attributes
- #[Strategy]
- $name: 'resumen_ventas_diarias.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, mixed>
- Normaliza la carátula del libro.
- normalizeDetalle() : array<string, 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, mixed>
Normaliza la carátula del resumen de ventas diarias.
Parameters
- $bag : BookBagInterface
Return values
array<string, mixed>normalizeDetalle()
Normaliza un registro del detalle del libro.
protected
normalizeDetalle(array<string, mixed> $detalle) : array<string, mixed>
Normaliza un detalle del resumen de ventas diarias.
El tipo y la fecha del documento son obligatorios. El folio y los montos
son números enteros: el texto que llega de un CSV se convierte y uno que no
es un número es un error que dice en qué documento y en qué campo está. Si
no se informa el monto total, es la suma de los montos exento, neto y de
IVA. Lo que no se informa queda en null.
Parameters
- $detalle : array<string, mixed>