diff --git a/packages/core/src/Core/Model/Despatch/Despatch.php b/packages/core/src/Core/Model/Despatch/Despatch.php index f56dbae1..6ca726d0 100644 --- a/packages/core/src/Core/Model/Despatch/Despatch.php +++ b/packages/core/src/Core/Model/Despatch/Despatch.php @@ -41,7 +41,7 @@ class Despatch implements DocumentInterface */ private $correlativo; /** - * @var string + * @var array */ private $observacion; /** @@ -168,19 +168,19 @@ public function setCorrelativo(?string $correlativo): Despatch } /** - * @return string + * @return array */ - public function getObservacion(): ?string + public function getObservacion(): ?array { return $this->observacion; } /** - * @param string $observacion + * @param array $observacion * * @return Despatch */ - public function setObservacion(?string $observacion): Despatch + public function setObservacion(?array $observacion): Despatch { $this->observacion = $observacion; @@ -406,4 +406,29 @@ public function getName(): string return join('-', $parts); } -} + + //Extra para guia transportista + /** + * @var Client + */ + private $remitente; + /** + * @return Client + */ + public function getRemitente(): ?Client + { + return $this->remitente; + } + + /** + * @param Client $remitente + * + * @return Despatch + */ + public function setRemitente(?Client $remitente): Despatch + { + $this->remitente = $remitente; + + return $this; + } +} \ No newline at end of file diff --git a/packages/core/src/Core/Model/Despatch/Shipment.php b/packages/core/src/Core/Model/Despatch/Shipment.php index 9e39cbf1..6db49601 100644 --- a/packages/core/src/Core/Model/Despatch/Shipment.php +++ b/packages/core/src/Core/Model/Despatch/Shipment.php @@ -545,4 +545,29 @@ public function setPartida(?Direction $partida): Shipment return $this; } -} + + //Extra para guia transportista + /** + * @var Transportist + */ + private $subContratado; + /** + * @return Transportist + */ + public function getSubContratado(): ?Transportist + { + return $this->subContratado; + } + + /** + * @param Transportist $subContratado + * + * @return Despatch + */ + public function setSubContratado(?Transportist $subContratado): Shipment + { + $this->subContratado = $subContratado; + + return $this; + } +} \ No newline at end of file diff --git a/packages/core/src/Core/Model/Sale/Invoice.php b/packages/core/src/Core/Model/Sale/Invoice.php index c6feb474..e4f36126 100644 --- a/packages/core/src/Core/Model/Sale/Invoice.php +++ b/packages/core/src/Core/Model/Sale/Invoice.php @@ -106,9 +106,9 @@ class Invoice extends BaseSale private $subTotal; /** - * @var string + * @var string[] */ - private $observacion; + private array $observacion = []; /** * @var Address @@ -438,17 +438,17 @@ public function setSubTotal(?float $subTotal): Invoice /** * @return string */ - public function getObservacion(): ?string + public function getObservacion(): ?array { return $this->observacion; } /** - * @param string $observacion + * @param array $observacion * * @return Invoice */ - public function setObservacion(?string $observacion): Invoice + public function setObservacion(array $observacion): Invoice { $this->observacion = $observacion; diff --git a/packages/report/src/Report/Filter/DocumentFilter.php b/packages/report/src/Report/Filter/DocumentFilter.php index e599a4e6..d304b8e4 100644 --- a/packages/report/src/Report/Filter/DocumentFilter.php +++ b/packages/report/src/Report/Filter/DocumentFilter.php @@ -24,9 +24,9 @@ class DocumentFilter '03' => 'BOLETA DE VENTA', '07' => 'NOTA DE CRÉDITO', '08' => 'NOTA DE DÉBITO', - '09' => 'GUÍA DE REMISIÓN REMITENTE', + '09' => 'GUÍA DE REMISIÓN ELECTRONICA DEL REMITENTE', '20' => 'RETENCIÓN', - '31' => 'GUÍA DE REMISIÓN TRANSPORTISTA', + '31' => 'GUÍA DE REMISIÓN ELECTRONICA DEL TRANSPORTISTA', '40' => 'PERCEPCIÓN', ], '02' => [ @@ -34,11 +34,6 @@ class DocumentFilter 'USD' => '$', 'EUR' => '€', ], - '021' => [ - 'PEN' => 'SOLES', - 'USD' => 'DÓLARES AMERICANOS', - 'EUR' => 'EUROS', - ], '06' => [ '0' => 'N/D', '1' => 'DNI', @@ -64,6 +59,11 @@ class DocumentFilter '18' => 'Traslado emisor itinerante CP', '19' => 'Traslado a zona primaria' ], + '21' => [ + 'PEN' => 'SOLES', + 'USD' => 'DÓLARES AMERICANOS', + 'EUR' => 'EUROS', + ], '54' => [ '001' => 'Azúcar y melaza de caña', '002' => 'Arroz', @@ -73,15 +73,15 @@ class DocumentFilter '007' => 'Caña de azúcar', '008' => 'Madera', '009' => 'Arena y piedra.', - '010' => 'Residuos, subproductos, desechos, recortes, desperdicios y formas primarias derivadas de los mismos', - '011' => 'Bienes gravados con el IGV por renuncia a la exoneración', + '010' => 'Residuos, subproductos, desechos, recortes y desperdicios', + '011' => 'Bienes gravados con el IGV, o renuncia a la exoneración', '012' => 'Intermediación laboral y tercerización', '013' => 'Animales vivos', '014' => 'Carnes y despojos comestibles', '015' => 'Abonos, cueros y pieles de origen animal', '016' => 'Aceite de pescado', '017' => 'Harina, polvo y “pellets” de pescado, crustáceos, moluscos y demás invertebrados acuáticos', - '019' => 'Arrendamiento de bienes', + '019' => 'Arrendamiento de bienes muebles', '020' => 'Mantenimiento y reparación de bienes muebles', '021' => 'Movimiento de carga', '022' => 'Otros servicios empresariales', @@ -133,4 +133,4 @@ public function getValueCatalog($value, $code): ?string { return $this->store[$code][$value] ?? ''; } -} +} \ No newline at end of file diff --git a/packages/report/src/Report/Render/QrRender.php b/packages/report/src/Report/Render/QrRender.php index 865e2627..fd97d916 100644 --- a/packages/report/src/Report/Render/QrRender.php +++ b/packages/report/src/Report/Render/QrRender.php @@ -46,25 +46,13 @@ public function getImage($sale) } /** - * @param Despatch $despatch - * + * Summary of getImageDespatch + * @param string $qr Link de la guía de remisión encontrada en el CDR * @return string */ - public function getImageDespatch($despatch) + public function getImageDespatch(string $qr) { - $destinatario = $despatch->getDestinatario(); - $params = [ - $despatch->getCompany()->getRuc(), - $despatch->getTipoDoc(), - $despatch->getSerie(), - $despatch->getCorrelativo(), - $despatch->getFechaEmision()->format('Y-m-d'), - $destinatario->getTipoDoc(), - $destinatario->getNumDoc(), - ]; - $content = implode('|', $params).'|'; - - return $this->getQrImage($content); + return $this->getQrImage($qr); } /** diff --git a/packages/report/src/Report/Templates/despatch.html.twig b/packages/report/src/Report/Templates/despatch.html.twig index 4583700e..2977b60f 100644 --- a/packages/report/src/Report/Templates/despatch.html.twig +++ b/packages/report/src/Report/Templates/despatch.html.twig @@ -23,8 +23,6 @@ {{ name }} -
- E L E C T R Ó N I C A @@ -178,7 +176,9 @@

Observaciones
-

{{ doc.observacion }}

+ {% for obs in doc.observacion %} +

{{ obs }}

+ {% endfor %} {% endif %} @@ -203,10 +203,11 @@ {% if params.system.hash is defined and params.system.hash%} Resumen: {{ params.system.hash }}
{% endif %} - Representación Impresa de la {{ name }} ELECTRÓNICA. + Representación Impresa de la {{ name }}. + Qr Image {% if params.system.qr is defined %} Qr Image {% endif %} diff --git a/packages/report/src/Report/Templates/invoice2.html.twig b/packages/report/src/Report/Templates/invoice2.html.twig index 0b24d509..5b4c92ea 100644 --- a/packages/report/src/Report/Templates/invoice2.html.twig +++ b/packages/report/src/Report/Templates/invoice2.html.twig @@ -206,13 +206,18 @@ {{ det.cantidad|n_format }}

{{ det.codProducto }}

- {{ det.descripcion }} + {{ det.descripcion|replace({'|': '
'})|raw }} {{ det.unidad }} {{ moneda }}{{ det.mtoValorUnitario }} {{ moneda }}{{ det.mtoValorVenta }} {% endfor %} + + {% for obs in doc.observacion %} + {{ obs }}
+ {% endfor %} + diff --git a/packages/report/src/Report/Templates/perception.html.twig b/packages/report/src/Report/Templates/perception.html.twig index 97a84ffa..f31d3b82 100644 --- a/packages/report/src/Report/Templates/perception.html.twig +++ b/packages/report/src/Report/Templates/perception.html.twig @@ -83,7 +83,7 @@ Tasa: {{ doc.tasa|n_format }}% - Tipo Moneda: {{ 'PEN'|catalog('021') }} + Tipo Moneda: {{ 'PEN'|catalog('21') }} diff --git a/packages/report/src/Report/Templates/retention.html.twig b/packages/report/src/Report/Templates/retention.html.twig index 2968ab0d..5217b1dd 100644 --- a/packages/report/src/Report/Templates/retention.html.twig +++ b/packages/report/src/Report/Templates/retention.html.twig @@ -83,7 +83,7 @@ Tasa: {{ doc.tasa|n_format }}% - Tipo Moneda: {{ 'PEN'|catalog('021') }} + Tipo Moneda: {{ 'PEN'|catalog('21') }} diff --git a/packages/report/src/Report/Templates/summary.html.twig b/packages/report/src/Report/Templates/summary.html.twig index ffd81d56..9fbf21aa 100644 --- a/packages/report/src/Report/Templates/summary.html.twig +++ b/packages/report/src/Report/Templates/summary.html.twig @@ -78,7 +78,7 @@ Fecha de Generación: {{ fecGen }} - Moneda: {{ 'PEN'|catalog('021') }} + Moneda: {{ 'PEN'|catalog('21') }} diff --git a/packages/xml/src/Xml/Templates/despatch2022.xml.twig b/packages/xml/src/Xml/Templates/despatch2022.xml.twig index bc81f3be..df949e9c 100644 --- a/packages/xml/src/Xml/Templates/despatch2022.xml.twig +++ b/packages/xml/src/Xml/Templates/despatch2022.xml.twig @@ -12,9 +12,11 @@ {{ doc.fechaEmision|date('Y-m-d') }} {{ doc.fechaEmision|date('H:i:s') }} {{ doc.tipoDoc }} - {% if doc.observacion %} - - {% endif %} + {% if doc.observacion %} + {% for obs in doc.observacion %} + + {% endfor %} + {% endif %} {% for rel in doc.addDocs %} {{ rel.nro }} @@ -110,6 +112,21 @@ {% for indicador in envio.indicadores %} {{ indicador }} {% endfor %} + {% if envio.subContratado %} + + + SUNAT_Envio + + + + {{ envio.subContratado.numDoc }} + + + + + + + {% endif %} {{ envio.modTraslado }} {% if envio.fecTraslado %} @@ -160,6 +177,17 @@ {{ envio.partida.direccion }} + {% if doc.remitente %} + + + {{ doc.remitente.numDoc|raw }} + + + + + + {% endif %} {% for precinto in envio.contenedores %} @@ -246,4 +274,4 @@ {% endfor %} -{% endapply %} + {% endapply %} \ No newline at end of file diff --git a/packages/xml/src/Xml/Templates/invoice2.1.xml.twig b/packages/xml/src/Xml/Templates/invoice2.1.xml.twig index 72c66b74..9f538adb 100644 --- a/packages/xml/src/Xml/Templates/invoice2.1.xml.twig +++ b/packages/xml/src/Xml/Templates/invoice2.1.xml.twig @@ -19,9 +19,9 @@ {% for leg in doc.legends %} {% endfor %} - {% if doc.observacion %} - - {% endif %} + {% for obs in doc.observacion %} + + {% endfor %} {{ doc.tipoMoneda }} {% if doc.compra %}