BuildAecJob
extends AbstractJob
in package
implements
JobInterface
Construye el XML `AEC` firmado.
Soporta dos modos según la fuente del bag:
-
Primera cesión (
DocumentInterface): orquestaBuildDteCedidoJobyBuildCesionJob, ensambla el AEC con un DTECedido y una Cesion, y firma elDocumentoAECcon IDLibreDTE_AEC. -
Re-cesión (
Aec): extrae elDTECedidoy lasCesionexistentes del AEC recibido via DOM, construye una nuevaCesioncon seq = N+1, y re-ensambla y re-firma elDocumentoAECcon todos los elementos.
Attributes
- #[Job]
- $name: 'build_aec'
- $worker: 'aec'
- $component: 'ownership_transfer'
- $package: 'billing'
Table of Contents
Interfaces
- JobInterface
Constants
- NS = 'http://www.sii.cl/SiiDte'
Properties
- $buildCesionJob : BuildCesionJob
- $buildDteCedidoJob : BuildDteCedidoJob
- $signatureService : SignatureServiceInterface
- $xmlEncoder : XmlEncoderInterface
Methods
- __construct() : mixed
- build() : Aec
- Construye y firma el XML `AEC`.
- assembleAndSign() : Aec
- Ensambla el XML del AEC con los nodos ya firmados y lo firma.
- buildPrimeraCesion() : Aec
- Construye el AEC para la primera cesión a partir de un `DocumentInterface`.
- buildRecesion() : Aec
- Construye el AEC para una re-cesión a partir de un `Aec` existente.
- stripXmlDeclaration() : string
- Elimina la declaración `<?xml...?>` de un string XML.
Constants
NS
private
mixed
NS
= 'http://www.sii.cl/SiiDte'
Properties
$buildCesionJob
private
BuildCesionJob
$buildCesionJob
$buildDteCedidoJob
private
BuildDteCedidoJob
$buildDteCedidoJob
$signatureService
private
SignatureServiceInterface
$signatureService
$xmlEncoder
private
XmlEncoderInterface
$xmlEncoder
Methods
__construct()
public
__construct(BuildDteCedidoJob $buildDteCedidoJob, BuildCesionJob $buildCesionJob, XmlEncoderInterface $xmlEncoder, SignatureServiceInterface $signatureService) : mixed
Parameters
- $buildDteCedidoJob : BuildDteCedidoJob
- $buildCesionJob : BuildCesionJob
- $xmlEncoder : XmlEncoderInterface
- $signatureService : SignatureServiceInterface
build()
Construye y firma el XML `AEC`.
public
build(AecBag $bag) : Aec
Parameters
- $bag : AecBag
-
Contenedor con todos los datos necesarios.
Return values
AecassembleAndSign()
Ensambla el XML del AEC con los nodos ya firmados y lo firma.
private
assembleAndSign(array<string, mixed> $cedente, array<string, mixed> $cesionario, string $dteCedidoXml, array<string|int, string> $cesionesXml, CertificateInterface|null $certificate) : Aec
Parameters
- $cedente : array<string, mixed>
- $cesionario : array<string, mixed>
- $dteCedidoXml : string
-
XML del DTECedido (sin declaración ).
- $cesionesXml : array<string|int, string>
-
XMLs de todas las Cesion (sin declaración).
- $certificate : CertificateInterface|null
Return values
AecbuildPrimeraCesion()
Construye el AEC para la primera cesión a partir de un `DocumentInterface`.
private
buildPrimeraCesion(AecBag $bag) : Aec
Parameters
- $bag : AecBag
Return values
AecbuildRecesion()
Construye el AEC para una re-cesión a partir de un `Aec` existente.
private
buildRecesion(AecBag $bag) : Aec
Parameters
- $bag : AecBag
Return values
AecstripXmlDeclaration()
Elimina la declaración `<?xml...?>` de un string XML.
private
stripXmlDeclaration(string $xml) : string
Parameters
- $xml : string