Usa formato RIPS completo para numero TNS: LHXC03990-314522
El numero del kardex en TNS ahora incluye el PREFIJO de Firebird y el
NUM_FACTURA zero-padded a 5 dígitos, igual al numFactura del RIPS
(ej: LHXC03404). Se agrega -{idrecepcion} al final para garantizar
unicidad ya que múltiples IDRECEPCION comparten el mismo NUM_FACTURA.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
6905a4132e
commit
88f684a006
@@ -270,9 +270,10 @@ async def test_enviar(request: Request, user: dict = Depends(get_current_user)):
|
||||
async with httpx.AsyncClient(timeout=30) as client:
|
||||
for id_rec, grupo_rows in grupos.items():
|
||||
num_factura = str(grupo_rows[0].get("NUM_FACTURA") or "").strip()
|
||||
# Usar siempre "{factura}-{idrecepcion}" para garantizar unicidad en TNS
|
||||
# (múltiples IDRECEPCION comparten NUM_FACTURA en Firebird)
|
||||
numero_override = f"{num_factura}-{id_rec}" if num_factura else str(id_rec)
|
||||
prefijo_fb = str(grupo_rows[0].get("PREFIJO") or "").strip()
|
||||
# Formato completo como RIPS: LHXC03990-314522 (único por IDRECEPCION)
|
||||
num_fmt = f"{prefijo_fb}{num_factura.zfill(5)}" if prefijo_fb else num_factura
|
||||
numero_override = f"{num_fmt}-{id_rec}" if num_fmt else str(id_rec)
|
||||
rda_json = generar_rda_paciente(grupo_rows, prof_def, esp_def, remis_def, prefijo_def, numero_override)
|
||||
examenes = [r.get("COD_EXAMEN", "") for r in grupo_rows]
|
||||
try:
|
||||
|
||||
@@ -147,7 +147,9 @@ async def send_one(
|
||||
endpoint = f"{TNS_BASE}/v2/rda/RdaPaciente/Insertar?codigosucursal={api_sucursal}"
|
||||
|
||||
num_factura_one = str(grupo_rows[0].get("NUM_FACTURA") or "").strip()
|
||||
numero_override_one = f"{num_factura_one}-{idrecepcion}" if num_factura_one else str(idrecepcion)
|
||||
prefijo_one = str(grupo_rows[0].get("PREFIJO") or "").strip()
|
||||
num_fmt_one = f"{prefijo_one}{num_factura_one.zfill(5)}" if prefijo_one else num_factura_one
|
||||
numero_override_one = f"{num_fmt_one}-{idrecepcion}" if num_fmt_one else str(idrecepcion)
|
||||
rda_json = generar_rda_paciente(
|
||||
grupo_rows,
|
||||
cfg.get("profesional_default", ""),
|
||||
@@ -234,7 +236,9 @@ async def send_transaccion(
|
||||
async with httpx.AsyncClient(timeout=int(cfg.get("api_timeout", 30))) as client:
|
||||
for id_rec, grupo_rows in grupos.items():
|
||||
num_factura = str(grupo_rows[0].get("NUM_FACTURA") or "").strip()
|
||||
numero_override = f"{num_factura}-{id_rec}" if num_factura else str(id_rec)
|
||||
prefijo_fb = str(grupo_rows[0].get("PREFIJO") or "").strip()
|
||||
num_fmt = f"{prefijo_fb}{num_factura.zfill(5)}" if prefijo_fb else num_factura
|
||||
numero_override = f"{num_fmt}-{id_rec}" if num_fmt else str(id_rec)
|
||||
rda_json = generar_rda_paciente(
|
||||
grupo_rows,
|
||||
cfg.get("profesional_default", ""),
|
||||
|
||||
Reference in New Issue
Block a user