пытаюсь понять как переадть аргументы

main
Лев 2025-08-28 14:49:34 +05:00
parent dde91665ef
commit a535ecd904
1 changed files with 9 additions and 37 deletions

View File

@ -62,34 +62,6 @@ class SimpleDB:
try: try:
with self.pool.acquire() as connection: with self.pool.acquire() as connection:
with connection.cursor() as cursor: with connection.cursor() as cursor:
# Полная информация о процедуре
query = """
SELECT
a.argument_name,
a.data_type,
a.data_length,
a.data_precision,
a.data_scale,
a.in_out,
a.position,
a.default_value
FROM user_arguments a
WHERE a.object_name = UPPER(:proc_name)
ORDER BY a.overload, a.position
"""
cursor.execute(query, proc_name='P_RK_SEND_JSON_LIST_FACEACC')
results = cursor.fetchall()
print(f"Метаданные процедуры 'P_RK_SEND_JSON_LIST_FACEACC:")
for row in results:
print(f" Параметр: {row[0]}")
print(f" Тип данных: {row[1]}")
print(f" Направление: {row[5]}")
print(f" Позиция: {row[6]}")
if row[7]:
print(f" Значение по умолчанию: {row[7]}")
print(" " + "-"*30)
# Передача данных в БД # Передача данных в БД
for id, value in dict_data.items(): for id, value in dict_data.items():
if len(value) != 5: if len(value) != 5:
@ -99,21 +71,21 @@ class SimpleDB:
if date_from_str: if date_from_str:
date_from = parser.parse(date_from_str).date() date_from = parser.parse(date_from_str).date()
#date_from = str(date_from.strftime('%d.%m.%Y')) #date_from = str(date_from.strftime('%d.%m.%Y'))
else: date_from = parser.parse('01.01.2000') else: date_from = '01.01.2000'
if date_to_str: if date_to_str:
date_to = parser.parse(date_to_str).date() date_to = parser.parse(date_to_str).date()
#date_to = str(date_to.strftime('%d.%m.%Y')) #date_to = str(date_to.strftime('%d.%m.%Y'))
else: date_to = parser.parse('01.01.2000') else: date_to = parser.parse('01.01.2000').date()
print("Вывод отправляемых агрументов: ", id, organ, names, date_from, date_to, ver) print("Вывод отправляемых агрументов: ", id, organ, names, date_from, date_to, ver)
print(type(int(id)), type(organ), type(names), type(date_from), type(date_to), type(ver)) print(type(int(id)), type(organ), type(names), type(date_from), type(date_to), type(ver))
cursor.callproc('P_RK_SEND_JSON_LIST_FACEACC', [ cursor.callproc('P_RK_SEND_JSON_LIST_FACEACC', [
int(id), 1,
organ, "organ",
names, "names",
date_from, "date_from",
date_to, "date_to",
ver, "1.0",
]) ])
except Error as e: except Error as e:
raise HTTPException(status_code=500, detail=f"Database error: {e}") raise HTTPException(status_code=500, detail=f"Database error: {e}")