From 8e3207bd96b15f07fd97dadc21ff4d563a2d38b0 Mon Sep 17 00:00:00 2001 From: gquispeg Date: Mon, 24 Feb 2025 12:20:11 -0500 Subject: [PATCH 1/8] qr guia de remision --- .../report/src/Report/Render/QrRender.php | 20 ++++--------------- .../src/Report/Templates/despatch.html.twig | 4 ++-- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/packages/report/src/Report/Render/QrRender.php b/packages/report/src/Report/Render/QrRender.php index ae9161b5..5eb8818b 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); } private function getQrImage(string $content) diff --git a/packages/report/src/Report/Templates/despatch.html.twig b/packages/report/src/Report/Templates/despatch.html.twig index 91dfff27..4f2f035b 100644 --- a/packages/report/src/Report/Templates/despatch.html.twig +++ b/packages/report/src/Report/Templates/despatch.html.twig @@ -207,7 +207,7 @@ - Qr Image + Qr Image @@ -215,4 +215,4 @@ - + \ No newline at end of file From aabac0a7a4cb3587ae7dd3857f4815977655a610 Mon Sep 17 00:00:00 2001 From: gquispeg Date: Mon, 24 Feb 2025 15:31:45 -0500 Subject: [PATCH 2/8] guia remision transportista --- .../core/src/Core/Model/Despatch/Despatch.php | 27 +++++++++++++++++- .../core/src/Core/Model/Despatch/Shipment.php | 27 +++++++++++++++++- .../src/Xml/Templates/despatch2022.xml.twig | 28 ++++++++++++++++++- 3 files changed, 79 insertions(+), 3 deletions(-) diff --git a/packages/core/src/Core/Model/Despatch/Despatch.php b/packages/core/src/Core/Model/Despatch/Despatch.php index f56dbae1..cf96e54e 100644 --- a/packages/core/src/Core/Model/Despatch/Despatch.php +++ b/packages/core/src/Core/Model/Despatch/Despatch.php @@ -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/xml/src/Xml/Templates/despatch2022.xml.twig b/packages/xml/src/Xml/Templates/despatch2022.xml.twig index bc81f3be..8932ddef 100644 --- a/packages/xml/src/Xml/Templates/despatch2022.xml.twig +++ b/packages/xml/src/Xml/Templates/despatch2022.xml.twig @@ -110,6 +110,21 @@ {% for indicador in envio.indicadores %} {{ indicador }} {% endfor %} + {% if envio.subContratado %} + + + SUNAT_Envio + + + + {{ envio.subContratado.numDoc }} + + + + + + + {% endif %} {{ envio.modTraslado }} {% if envio.fecTraslado %} @@ -160,6 +175,17 @@ {{ envio.partida.direccion }} + {% if doc.remitente %} + + + {{ doc.remitente.numDoc|raw }} + + + + + + {% endif %} {% for precinto in envio.contenedores %} @@ -246,4 +272,4 @@ {% endfor %} -{% endapply %} + {% endapply %} \ No newline at end of file From 5c74c81d09d30021b832ca2e202a362acd093352 Mon Sep 17 00:00:00 2001 From: gquispeg Date: Mon, 24 Feb 2025 16:18:21 -0500 Subject: [PATCH 3/8] correcion de catalogos y regularizacion de guia de remision --- .../src/Report/Filter/DocumentFilter.php | 22 +++++++++---------- .../src/Report/Templates/despatch.html.twig | 10 ++++----- .../src/Report/Templates/perception.html.twig | 2 +- .../src/Report/Templates/retention.html.twig | 2 +- .../src/Report/Templates/summary.html.twig | 2 +- 5 files changed, 18 insertions(+), 20 deletions(-) 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/Templates/despatch.html.twig b/packages/report/src/Report/Templates/despatch.html.twig index 4f2f035b..5209724c 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 @@ -152,7 +150,7 @@ Item Código - Descripción + Descripción Unidad Cantidad @@ -203,11 +201,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 + Qr Image @@ -215,4 +213,4 @@ - \ No newline at end of file + 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') }} From f71708f319b1b6294bc603bb17ea535b3415d393 Mon Sep 17 00:00:00 2001 From: gquispeg Date: Mon, 24 Feb 2025 16:23:40 -0500 Subject: [PATCH 4/8] correcion acento --- packages/report/src/Report/Templates/despatch.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/report/src/Report/Templates/despatch.html.twig b/packages/report/src/Report/Templates/despatch.html.twig index 5209724c..d43c2235 100644 --- a/packages/report/src/Report/Templates/despatch.html.twig +++ b/packages/report/src/Report/Templates/despatch.html.twig @@ -150,7 +150,7 @@ Item Código - Descripción + Descripción Unidad Cantidad From 54d00ec691421d9dc8569bb0f161185e0ad49fa5 Mon Sep 17 00:00:00 2001 From: Giancarlo Quispe Gamboa <34018854+gquispeg@users.noreply.github.com> Date: Fri, 29 Aug 2025 10:46:57 -0500 Subject: [PATCH 5/8] observaciones de varias lineas --- packages/core/src/Core/Model/Despatch/Despatch.php | 10 +++++----- .../report/src/Report/Templates/despatch.html.twig | 4 +++- packages/xml/src/Xml/Templates/despatch2022.xml.twig | 6 +++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/core/src/Core/Model/Despatch/Despatch.php b/packages/core/src/Core/Model/Despatch/Despatch.php index cf96e54e..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; diff --git a/packages/report/src/Report/Templates/despatch.html.twig b/packages/report/src/Report/Templates/despatch.html.twig index 6e6d5f35..c03f5933 100644 --- a/packages/report/src/Report/Templates/despatch.html.twig +++ b/packages/report/src/Report/Templates/despatch.html.twig @@ -176,7 +176,9 @@

Observaciones
-

{{ doc.observacion }}

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

{{ obs }}

+ {% endfor %} {% endif %} diff --git a/packages/xml/src/Xml/Templates/despatch2022.xml.twig b/packages/xml/src/Xml/Templates/despatch2022.xml.twig index 8932ddef..2b243d50 100644 --- a/packages/xml/src/Xml/Templates/despatch2022.xml.twig +++ b/packages/xml/src/Xml/Templates/despatch2022.xml.twig @@ -12,9 +12,9 @@ {{ doc.fechaEmision|date('Y-m-d') }} {{ doc.fechaEmision|date('H:i:s') }} {{ doc.tipoDoc }} - {% if doc.observacion %} - - {% endif %} + {% for obs in doc.despacho.Observaciones %} + + {% endfor %} {% for rel in doc.addDocs %} {{ rel.nro }} From e78afe6fc3768dcc4214c147d132cb7693e567a7 Mon Sep 17 00:00:00 2001 From: Giancarlo Quispe Gamboa <34018854+gquispeg@users.noreply.github.com> Date: Fri, 29 Aug 2025 11:04:21 -0500 Subject: [PATCH 6/8] obs despatch en varias lineas --- packages/core/src/Core/Model/Despatch/Despatch.php | 10 +++++----- .../report/src/Report/Templates/despatch.html.twig | 4 +++- packages/xml/src/Xml/Templates/despatch2022.xml.twig | 4 +++- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/core/src/Core/Model/Despatch/Despatch.php b/packages/core/src/Core/Model/Despatch/Despatch.php index f56dbae1..2c302aaa 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; diff --git a/packages/report/src/Report/Templates/despatch.html.twig b/packages/report/src/Report/Templates/despatch.html.twig index 4583700e..f160f1f9 100644 --- a/packages/report/src/Report/Templates/despatch.html.twig +++ b/packages/report/src/Report/Templates/despatch.html.twig @@ -178,7 +178,9 @@

Observaciones
-

{{ doc.observacion }}

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

{{ obs }}

+ {% endfor %} {% endif %} diff --git a/packages/xml/src/Xml/Templates/despatch2022.xml.twig b/packages/xml/src/Xml/Templates/despatch2022.xml.twig index bc81f3be..b95064a7 100644 --- a/packages/xml/src/Xml/Templates/despatch2022.xml.twig +++ b/packages/xml/src/Xml/Templates/despatch2022.xml.twig @@ -13,7 +13,9 @@ {{ doc.fechaEmision|date('H:i:s') }} {{ doc.tipoDoc }} {% if doc.observacion %} - + {% for obs in doc.observacion %} + + {% endfor %} {% endif %} {% for rel in doc.addDocs %} From 49631c7b1fa9488b1e4cf8ccbb243dbb7daa6d2b Mon Sep 17 00:00:00 2001 From: Giancarlo Quispe Gamboa <34018854+gquispeg@users.noreply.github.com> Date: Fri, 29 Aug 2025 16:23:45 -0500 Subject: [PATCH 7/8] Descripcion invoice multilinea --- packages/report/src/Report/Templates/invoice2.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/report/src/Report/Templates/invoice2.html.twig b/packages/report/src/Report/Templates/invoice2.html.twig index 0b24d509..2cc57970 100644 --- a/packages/report/src/Report/Templates/invoice2.html.twig +++ b/packages/report/src/Report/Templates/invoice2.html.twig @@ -206,7 +206,7 @@ {{ det.cantidad|n_format }}

{{ det.codProducto }}

- {{ det.descripcion }} + {{ det.descripcion|replace({'|': '
'})|raw }} {{ det.unidad }} {{ moneda }}{{ det.mtoValorUnitario }} From a58f7857f309f64bcbefa52236f4a84d2b609ab5 Mon Sep 17 00:00:00 2001 From: Giancarlo Quispe Gamboa <34018854+gquispeg@users.noreply.github.com> Date: Fri, 29 Aug 2025 16:38:00 -0500 Subject: [PATCH 8/8] observaciones en varias lineas --- packages/core/src/Core/Model/Sale/Invoice.php | 10 +++++----- .../report/src/Report/Templates/invoice2.html.twig | 5 +++++ packages/xml/src/Xml/Templates/invoice2.1.xml.twig | 6 +++--- 3 files changed, 13 insertions(+), 8 deletions(-) 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/Templates/invoice2.html.twig b/packages/report/src/Report/Templates/invoice2.html.twig index 2cc57970..5b4c92ea 100644 --- a/packages/report/src/Report/Templates/invoice2.html.twig +++ b/packages/report/src/Report/Templates/invoice2.html.twig @@ -213,6 +213,11 @@ {{ moneda }}{{ det.mtoValorVenta }} {% endfor %} + + {% for obs in doc.observacion %} + {{ obs }}
+ {% endfor %} + 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 %}