пытаюсь понять как переадть аргументы
parent
0d409d4147
commit
58c3dd3664
|
|
@ -62,50 +62,22 @@ class SimpleDB:
|
|||
try:
|
||||
with self.pool.acquire() as connection:
|
||||
with connection.cursor() as cursor:
|
||||
result_var = cursor.var(CLOB)
|
||||
|
||||
# Только один параметр - выходной!
|
||||
cursor.callproc('P_RK_GOVERNMENT_REPORTS_INSERS', [result_var])
|
||||
|
||||
json_result = result_var.getvalue()
|
||||
print("JSON результат:", json_result)
|
||||
# Узнать сигнатуру процедуры
|
||||
cursor.execute("""
|
||||
SELECT position, argument_name, data_type, in_out
|
||||
FROM all_arguments
|
||||
WHERE object_name = 'P_RK_GOVERNMENT_REPORTS_INSERS'
|
||||
ORDER BY position
|
||||
""")
|
||||
|
||||
print("Сигнатура процедуры P_RK_GOVERNMENT_REPORTS_INSERS:")
|
||||
for arg in cursor:
|
||||
# Преобразуем все в строки для безопасного вывода
|
||||
pos_str = str(arg[0]) if arg[0] is not None else "0"
|
||||
name_str = str(arg[1]) if arg[1] is not None else "RETURN"
|
||||
type_str = str(arg[2]) if arg[2] is not None else "UNKNOWN"
|
||||
dir_str = str(arg[3]) if arg[3] is not None else "UNKNOWN"
|
||||
|
||||
print(f"Позиция {pos_str}: {name_str} ({type_str}) - {dir_str}")
|
||||
|
||||
for id, value in dict_data.items():
|
||||
if len(value) != 5:
|
||||
continue
|
||||
organ, names, date_from_str, date_to_str, ver = value
|
||||
# Парсим даты
|
||||
date_from = parser.parse(date_from_str).date()
|
||||
date_from = parser.parse(date_from_str).date() if date_from_str else None
|
||||
date_to = parser.parse(date_to_str).date() if date_to_str else None
|
||||
print("Вывод отправляемых агрументов: ", int(id), organ, names, date_from, date_to, ver)
|
||||
print(type(int(id)), type(organ), type(names), type(date_from), type(date_to), type(ver))
|
||||
result_var = cursor.var(CLOB)
|
||||
cursor.callproc('P_RK_GOVERNMENT_REPORTS_INSERS', [
|
||||
cursor.callproc('P_RK_SEND_JSON_LIST_FACEACC', [
|
||||
int(id),
|
||||
organ,
|
||||
names,
|
||||
date_from,
|
||||
date_to, ver,
|
||||
result_var # OUT-параметр всегда последний
|
||||
date_to,
|
||||
ver,
|
||||
])
|
||||
json_result = result_var.getvalue()
|
||||
print("JSON результат:", json_result)
|
||||
except Error as e:
|
||||
raise HTTPException(status_code=500, detail=f"Database error: {e}")
|
||||
|
|
|
|||
Loading…
Reference in New Issue