El JsonFormatter forzaba UTC, ignorando el TZ del contenedor
(America/Lima). Ahora usa la hora local con su offset (-05:00).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Inmovilizar Lotes: selección múltiple de almacén origen con cantidad editable, genera Solicitud de Transferencia hacia un almacén de inmovilizados.
- Liberar Lotes: inversa de la anterior, con almacenes/campos de usuario propios (U_SIS_MOVINV, U_EXX_TIPOOPER, U_SIS_TIPDESP, U_SIS_MOTALM).
- Confirmar Liberación Lote: lista las Solicitudes abiertas pendientes (U_SIS_MOTALM=108) y, por cada lote, resuelve contra el historial de transferencias en HANA a qué almacén(es) debe volver, repartiendo la cantidad entre orígenes; permite editar cantidad, almacén destino, y agregar/quitar líneas antes de actualizar la Solicitud en SAP.
- Backend: nuevo endpoint /api/batch/lot-source-warehouse (HANA) para resolver el origen histórico de un lote; endpoint genérico /api/Catalogs/UdfValidValues (Service Layer) para valores válidos de un UDF; PATCH genérico ahora reenvía cualquier header B1S-* que mande el frontend en vez de decidirlos en el backend.
- Registro de rutas, menú y permisos para las tres pantallas nuevas.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Los márgenes de impresión eran muy angostos y el contenido de cada
etiqueta salía del área imprimible. Se amplían los márgenes del @page,
se recalcula la altura útil de página acorde, se recorta el espaciado
interno de la etiqueta para que entre en el nuevo espacio disponible,
y se reemplaza el "margin-top: auto" (que WeasyPrint no respetaba) por
un posicionamiento absoluto para anclar la línea de documento al fondo
del recuadro.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
El handler se usaba con FormattedField (input/textarea), pero estaba
tipado para input/select, lo que hacía fallar tsc -b en el build.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Agrega permiso de menu para vania.barrios@tagumedica.com
- Renombra test/ a tools/ (colecciones de requests SAP/ApiGateway)
- Renombra vistas de frontend con sufijo View para consistencia
- Refactor de componentes UI compartidos y agrega utilidades (Icon, PageLoader, SecondaryButton, FieldTooltip, errors)