fix: set valor=0 in detallePedido; parse full factura (prefix+number) in search
- json_generator: send valor:0 per item instead of PRECIO from Firebird - test_rda + transaccion: accept "LHXC03726" format — extracts numeric part for NUM_FACTURA and letter prefix for PREFIJO filter when prefix present Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
4b77f0a0ac
commit
1548aadf3c
+10
-2
@@ -222,8 +222,16 @@ async def test_enviar(request: Request, user: dict = Depends(get_current_user)):
|
||||
return JSONResponse({"error": f"Error Firebird: {fb_msg}"})
|
||||
|
||||
if modo == "factura":
|
||||
where = "r.NUM_FACTURA = :val"
|
||||
params = {"val": int(valor)}
|
||||
import re as _re
|
||||
nums = _re.findall(r'\d+', valor)
|
||||
num_val = int(nums[-1]) if nums else 0
|
||||
prefix = _re.sub(r'[\d\s]', '', valor).strip().upper()
|
||||
if prefix:
|
||||
where = "r.NUM_FACTURA = :val AND TRIM(r.PREFIJO) = :prefijo"
|
||||
params = {"val": num_val, "prefijo": prefix}
|
||||
else:
|
||||
where = "r.NUM_FACTURA = :val"
|
||||
params = {"val": num_val}
|
||||
else:
|
||||
where = "r.IDRECEPCION = :val"
|
||||
params = {"val": int(valor)}
|
||||
|
||||
@@ -26,9 +26,12 @@ def _query_rows(cfg, query_text, factura, fecha_inicio, fecha_fin):
|
||||
return None, msg, None
|
||||
nums = _re.findall(r'\d+', factura or "")
|
||||
num_val = int(nums[-1]) if nums else (factura or "")
|
||||
prefix = _re.sub(r'[\d\s]', '', factura or "").strip().upper()
|
||||
params = {"fecha_ini": f"{fecha_inicio} 00:00:00", "fecha_fin": f"{fecha_fin} 23:59:59"}
|
||||
if ":num_factura" in query_text:
|
||||
params["num_factura"] = num_val
|
||||
if ":prefijo" in query_text:
|
||||
params["prefijo"] = prefix
|
||||
ok2, err, rows = fb.execute_query(query_text, params)
|
||||
fb.disconnect()
|
||||
if not ok2:
|
||||
|
||||
@@ -153,7 +153,7 @@ def generar_rda_paciente(rows: list, default_profesional: str = "", default_espe
|
||||
"codigoBodega": "00",
|
||||
"cantidad": 1,
|
||||
"tipoUnidad": "D",
|
||||
"valor": float(row.get("PRECIO") or 0),
|
||||
"valor": 0,
|
||||
"descuento": float(row.get("DESCUENTO") or 0),
|
||||
"porcentajeIva": 0,
|
||||
"impConsumo": 0,
|
||||
|
||||
Reference in New Issue
Block a user