feat(tagumedica): reporte HTML de etiquetas de bultos (plantilla migrada de Jinja2, consulta a HANA y parámetros entrega, cantidad y papel)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-20 16:49:01 -05:00
1 parent 63dc9b10ca
commit 3fbfe9328e
7 files changed
+294 -1

No files matched your search

+18
View File
@@ -8,6 +8,24 @@ const FLOWS = ['/inventario/inmovilizar-lotes', '/inventario/liberar-lotes'] as
* tipo de operación, despacho, motivo) no necesitan consulta propia: salen de `/api/sapdb/user-fields`.
*/
export const CLIENT_SAPDB_QUERIES: readonly SapDbQuery[] = [
{
// Datos de una guía de remisión (entrega) para sus etiquetas de bultos: cliente, dirección de entrega, lugar y documento
// (el número de la guía, o su folio si no lo tiene).
name: 'delivery-labels',
title: 'Datos de una entrega para las etiquetas de bultos',
sql: {
hana: `SELECT TOP 1 T0."CardName" AS "CardName",
CASE WHEN IFNULL(T0."NumAtCard", '') <> '' THEN T0."NumAtCard" ELSE T0."FolioPref" || '-' || T0."FolioNum" END AS "Guia",
T7."StreetS" AS "Direccion", T7."CountyS" AS "Provincia", T14."Name" AS "Departamento", T7."ZipCodeS" AS "Distrito"
FROM "ODLN" T0
LEFT JOIN "DLN12" T7 ON T0."DocEntry" = T7."DocEntry"
LEFT JOIN "OCST" T14 ON T14."Code" = T7."StateS" AND T14."Country" = T7."CountryS"
WHERE T0."DocEntry" = :docEntry`,
},
params: { docEntry: { type: 'number' } },
menu: '/reportes-html/ejecutar',
maxRows: 1,
},
{
// Stock de un lote por número, en cada artículo y almacén (un mismo número de lote puede repetirse en varios artículos).
name: 'lot-stock',