Configuracion de guias
La seccion visual de plantillas fue retirada. La etiqueta de envio se configura desde codigo fuente para evitar cambios accidentales en produccion.
Archivos principales
| Proposito | Archivo |
|---|---|
| Plantilla base, medidas, textos, posiciones y HTML termico | backend-java/src/main/java/com/hermesexpress/backend/service/GuideTemplateService.java |
| Motor PDF, QR, textos, bloques COD y vista de impresion | backend-java/src/main/java/com/hermesexpress/backend/service/GuidePdfService.java |
| Descarga e impresion de guias | backend-java/src/main/java/com/hermesexpress/backend/web/GuideController.java |
Fuente oficial actual
La guia usa GuideTemplateService.defaultConfig(). El metodo activeConfig() devuelve esa configuracion del codigo fuente.
Las plantillas guardadas antiguamente en base de datos ya no controlan la etiqueta de produccion.
Estructura de configuracion
page
Define el tamano del PDF. width: 288 equivale a 4 pulgadas de ancho.
"page": { "width": 288, "height": 540 }
colors
Para impresora termica se recomienda negro fuerte y fondo blanco.
"ink": [0, 0, 0],
"line": [0, 0, 0],
"white": [1, 1, 1]
elements
Cada elemento controla posicion, visibilidad, ancho, alto, tamano de texto y limites de lineas.
"deliveryAddress": {
"visible": true,
"label": "Direccion de entrega",
"x": 12,
"y": 318,
"width": 264,
"maxChars": 52,
"maxLines": 6,
"valueSize": 9.4
}
Elementos clave
| Elemento | Uso |
|---|---|
serviceBadge / service | Cuadro negro STD o COD. |
trackingCode | Numero principal de guia. |
qr | Codigo QR de escaneo operativo. |
origin / originPhone | Remitente y telefono. |
recipient / recipientPhone | Destinatario y telefono destino. |
deliveryAddress | Direccion de entrega limpia, sin GPS impreso. |
content | Contenido del paquete. |
codBox, cod, codMethod, codAccount | Bloque de cobro COD y datos bancarios. |
footer | Contacto de Hermes. |
Variables HTML disponibles
El HTML de impresion de defaultHtml() puede usar variables reemplazadas por GuidePdfService.guidePlaceholders().
| Variable | Valor |
|---|---|
{{guideNumber}} | Numero de guia. |
{{serviceLabel}} | STD o COD. |
{{senderName}} / {{senderPhone}} | Comercio remitente. |
{{recipientName}} / {{recipientPhone}} | Destinatario. |
{{recipientAddress}} | Direccion limpia. |
{{reference}} | Referencia del cliente. |
{{deliveryInstruction}} | Instrucciones de entrega. |
{{content}} | Contenido del paquete. |
{{codBlock}} | Bloque completo COD, solo si aplica. |
{{qrDataUri}} | Imagen QR base64. |
Proceso seguro de cambio
- Editar
GuideTemplateService.java. - Si cambia QR, COD, limpieza de GPS o PDF, revisar
GuidePdfService.java. - Compilar backend.
- Crear guia estandar y COD de prueba.
- Descargar e imprimir para confirmar que ambos formatos coinciden.
cd C:\Users\Usuario\Documents\GitHub\hermes-express-portal\backend-java
$env:JAVA_HOME='C:\Users\Usuario\Documents\New project\.codex-jdk21\jdk-21.0.11+10'
$env:Path="$env:JAVA_HOME\bin;$env:Path"
.\mvnw.cmd -q -DskipTests package
Checklist de impresion termica
- El numero de guia se ve completo.
- El QR escanea correctamente.
- Remitente y telefono no se montan.
- La direccion de entrega cabe y es legible.
- No aparece GPS impreso.
- No aparece costo interno de guia.
- Para COD se ve monto, metodo y datos bancarios.