ArrayLoaderStrategy
extends AbstractArrayLoaderStrategy
in package
implements
LoaderStrategyInterface
Estrategia `libro_guias.array` del `LoaderWorker`.
Normaliza los detalles del Libro de Guías de Despacho desde un arreglo PHP.
Attributes
- #[Strategy]
- $name: 'libro_guias.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.
- assertNumbers() : void
- Verifica que los montos y la tasa de una guía sean números.
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 libro de guías de despacho.
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 libro de guías de despacho.
El orden de las claves determina el orden de los elementos en el XML.
Los montos son números enteros y la tasa es un número: el texto que llega de un CSV se acepta si se puede convertir, y uno que no es un número es un error que dice en qué guía y en qué campo está. Los valores del detalle no se reemplazan por los convertidos.
Parameters
- $detalle : array<string, mixed>
Return values
array<string, mixed>assertNumbers()
Verifica que los montos y la tasa de una guía sean números.
private
assertNumbers(array<string, mixed> $detalle) : void
Un valor que no está (false, vacío o null) no se verifica. Si uno no es
un número, el error dice en qué guía y en qué campo está.
Parameters
- $detalle : array<string, mixed>