feat: use ITEM.CUPS_DETALLE as codigoMaterial in RDA
LEFT JOIN ITEM on COD_EXAMEN to get CUPS_DETALLE. Falls back to COD_EXAMEN if CUPS is empty. Applied to automation, test_rda, and saved queries in SQLite. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
ebd45446a4
commit
ff08c1b3a8
@@ -59,6 +59,7 @@ SELECT
|
||||
r.HORAINICIORECEPCION,
|
||||
r.VALORTOTAL,
|
||||
rel.COD_EXAMEN,
|
||||
COALESCE(NULLIF(TRIM(it.CUPS_DETALLE), ''), TRIM(rel.COD_EXAMEN)) AS CUPS,
|
||||
rel.PRECIO,
|
||||
rel.DESCUENTO,
|
||||
rel.FECHA_REPORTADO,
|
||||
@@ -68,6 +69,7 @@ SELECT
|
||||
TRIM(m.DOCIDMEDICO) AS DOCIDMEDICO
|
||||
FROM RECEPCION r
|
||||
JOIN RELACION rel ON rel.IDRECEPCION = r.IDRECEPCION
|
||||
LEFT JOIN ITEM it ON TRIM(it.CODIGO) = TRIM(rel.COD_EXAMEN)
|
||||
LEFT JOIN MEDICO m ON m.CODIGO = r.COD_MEDICO
|
||||
LEFT JOIN EMPRESA e ON e.NIT = r.NIT_EMPRESA
|
||||
WHERE r.FECHA_RECEPCION BETWEEN :fecha_ini AND :fecha_fin
|
||||
|
||||
@@ -20,13 +20,16 @@ _SQL_RDA_BY_WHERE = """
|
||||
SELECT
|
||||
r.IDRECEPCION, r.PREFIJO, r.NUM_FACTURA, r.FECHA_RECEPCION, r.COD_PACIENTE,
|
||||
r.NIT_EMPRESA, r.DIAG_PPAL, r.TIPOUSU, r.TIPOUSUSISPRO, r.AUTORIZACION, r.CLASEPROC,
|
||||
r.HORAINICIORECEPCION, r.VALORTOTAL, rel.COD_EXAMEN, rel.PRECIO, rel.DESCUENTO, rel.FECHA_REPORTADO,
|
||||
r.HORAINICIORECEPCION, r.VALORTOTAL, rel.COD_EXAMEN,
|
||||
COALESCE(NULLIF(TRIM(it.CUPS_DETALLE), ''), TRIM(rel.COD_EXAMEN)) AS CUPS,
|
||||
rel.PRECIO, rel.DESCUENTO, rel.FECHA_REPORTADO,
|
||||
m.COD_ESPECIALIDAD,
|
||||
COALESCE(NULLIF(TRIM(m.CODIGO), ''), NULLIF(TRIM(r.USUARIO), ''), '') AS profesional,
|
||||
e.CODCONTRATO,
|
||||
TRIM(m.DOCIDMEDICO) AS DOCIDMEDICO
|
||||
FROM RECEPCION r
|
||||
JOIN RELACION rel ON rel.IDRECEPCION = r.IDRECEPCION
|
||||
LEFT JOIN ITEM it ON TRIM(it.CODIGO) = TRIM(rel.COD_EXAMEN)
|
||||
LEFT JOIN MEDICO m ON m.CODIGO = r.COD_MEDICO
|
||||
LEFT JOIN EMPRESA e ON e.NIT = r.NIT_EMPRESA
|
||||
WHERE {where}
|
||||
|
||||
@@ -149,7 +149,7 @@ def generar_rda_paciente(rows: list, default_profesional: str = "", default_espe
|
||||
_doc = str(row.get("DOCIDMEDICO") or "").strip()
|
||||
cedula_medico = _re.sub(r"[^0-9]", "", _doc)
|
||||
detalle_pedido.append({
|
||||
"codigoMaterial": str(row.get("COD_EXAMEN") or "").strip(),
|
||||
"codigoMaterial": str(row.get("CUPS") or row.get("COD_EXAMEN") or "").strip(),
|
||||
"codigoBodega": "00",
|
||||
"cantidad": 1,
|
||||
"tipoUnidad": "D",
|
||||
|
||||
Reference in New Issue
Block a user