Skip to content

Commit

Permalink
Se pueden obtener las cesiones desde un AEC
Browse files Browse the repository at this point in the history
  • Loading branch information
estebandelaf committed Jul 28, 2020
1 parent 6d6e59b commit 37efbc9
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 29 deletions.
18 changes: 18 additions & 0 deletions lib/Sii/Factoring/Aec.php
Original file line number Diff line number Diff line change
Expand Up @@ -279,4 +279,22 @@ private function enviarRTC($email, $empresa, $dte, $token, $retry = null)
return $xml;
}

/**
* Método que entrega el listado de cesiones que contiene el AEC
* @return array Arreglo con los objetos de la cesiones
* @author Esteban De La Fuente Rubio (esteban[sasco.cl])
* @version 2020-07-27
*/
public function getCesiones()
{
$cesiones = [];
$aux = $this->xml->getElementsByTagName('Cesion');
foreach ($aux as $cesion) {
$Cesion = new Cesion();
$Cesion->loadXML($cesion->C14N());
$cesiones[] = $Cesion;
}
return $cesiones;
}

}
78 changes: 49 additions & 29 deletions lib/Sii/Factoring/Cesion.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,40 +42,45 @@ class Cesion
* @param Seq secuencia de la cesión
* @author Adonias Vasquez (adonias.vasquez[at]epys.cl)
* @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
* @version 2016-12-10
* @version 2020-07-27
*/
public function __construct(DteCedido $DTECedido, $Seq = 1)
public function __construct(DteCedido $DTECedido = null, $Seq = 1)
{
$this->Encabezado = $DTECedido->getDTE()->getDatos()['Encabezado'];
$this->datos = [
'Cesion' => [
'@attributes' => [
'xmlns' => 'http://www.sii.cl/SiiDte',
'version' => '1.0'
],
'DocumentoCesion' => [
if (!empty($DTECedido)) {
$this->Encabezado = $DTECedido->getDTE()->getDatos()['Encabezado'];
$this->datos = [
'Cesion' => [
'@attributes' => [
'ID' => 'LibreDTE_Cesion',
'xmlns' => 'http://www.sii.cl/SiiDte',
'version' => '1.0'
],
'SeqCesion' => $Seq,
'IdDTE' => [
'TipoDTE' => $this->Encabezado['IdDoc']['TipoDTE'],
'RUTEmisor' => $this->Encabezado['Emisor']['RUTEmisor'],
'RUTReceptor' => $this->Encabezado['Receptor']['RUTRecep'],
'Folio' => $this->Encabezado['IdDoc']['Folio'],
'FchEmis' => $this->Encabezado['IdDoc']['FchEmis'],
'MntTotal' => $this->Encabezado['Totales']['MntTotal'],
],
'Cedente' => false,
'Cesionario' => false,
'MontoCesion' => $this->Encabezado['Totales']['MntTotal'],
'UltimoVencimiento' => isset($this->Encabezado['IdDoc']['MntPagos']['FchPago']) ? $this->Encabezado['IdDoc']['MntPagos']['FchPago'] : $this->Encabezado['IdDoc']['FchEmis'],
'OtrasCondiciones' => false,
'eMailDeudor' => false,
'TmstCesion' => date('Y-m-d\TH:i:s')
'DocumentoCesion' => [
'@attributes' => [
'ID' => 'LibreDTE_Cesion',
],
'SeqCesion' => $Seq,
'IdDTE' => [
'TipoDTE' => $this->Encabezado['IdDoc']['TipoDTE'],
'RUTEmisor' => $this->Encabezado['Emisor']['RUTEmisor'],
'RUTReceptor' => $this->Encabezado['Receptor']['RUTRecep'],
'Folio' => $this->Encabezado['IdDoc']['Folio'],
'FchEmis' => $this->Encabezado['IdDoc']['FchEmis'],
'MntTotal' => $this->Encabezado['Totales']['MntTotal'],
],
'Cedente' => false,
'Cesionario' => false,
'MontoCesion' => $this->Encabezado['Totales']['MntTotal'],
'UltimoVencimiento' =>
isset($this->Encabezado['IdDoc']['MntPagos']['FchPago'])
? $this->Encabezado['IdDoc']['MntPagos']['FchPago']
: $this->Encabezado['IdDoc']['FchEmis'],
'OtrasCondiciones' => false,
'eMailDeudor' => false,
'TmstCesion' => date('Y-m-d\TH:i:s')
]
]
]
];
];
}
}

/**
Expand Down Expand Up @@ -240,4 +245,19 @@ public function getCesionario()
return $this->datos['Cesion']['DocumentoCesion']['Cesionario'];
}

/**
* Método que carga un XML y asigna el objeto XML correspondiente
* @return Objeto XML
* @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
* @version 2020-07-27
*/
public function loadXML($xml_data)
{
$this->xml = new \sasco\LibreDTE\XML();
if (!$this->xml->loadXML($xml_data)) {
return false;
}
return $this->xml;
}

}

0 comments on commit 37efbc9

Please sign in to comment.