From 58c3dd3664d802ae47210a4537340701f6a3e831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9B=D0=B5=D0=B2?= Date: Thu, 28 Aug 2025 10:26:38 +0500 Subject: [PATCH] =?UTF-8?q?=D0=BF=D1=8B=D1=82=D0=B0=D1=8E=D1=81=D1=8C=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BD=D1=8F=D1=82=D1=8C=20=D0=BA=D0=B0=D0=BA=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B0=D0=B4=D1=82=D1=8C=20=D0=B0=D1=80?= =?UTF-8?q?=D0=B3=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/working_database.py | 36 ++++-------------------------------- 1 file changed, 4 insertions(+), 32 deletions(-) diff --git a/app/working_database.py b/app/working_database.py index 8a4af80..5610472 100644 --- a/app/working_database.py +++ b/app/working_database.py @@ -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}")