diff --git a/app/core/database.py b/app/core/database.py index 4dac789..6ce9d40 100644 --- a/app/core/database.py +++ b/app/core/database.py @@ -85,7 +85,7 @@ def execute_query(query: str, params: tuple = None, fetch: bool = True): def execute_insert(query: str, params: tuple = None): - """Execute INSERT query and return new ID""" + """Execute INSERT query and return new ID (requires RETURNING id clause)""" conn = get_db_connection() try: with conn.cursor(cursor_factory=RealDictCursor) as cursor: diff --git a/app/timetracking/backend/order_service.py b/app/timetracking/backend/order_service.py index f28d94f..22063c4 100644 --- a/app/timetracking/backend/order_service.py +++ b/app/timetracking/backend/order_service.py @@ -217,7 +217,8 @@ class OrderService: """INSERT INTO tmodule_orders (customer_id, hub_customer_id, order_date, total_hours, hourly_rate, subtotal, vat_rate, vat_amount, total_amount, status, created_by) - VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, 'draft', %s)""", + VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, 'draft', %s) + RETURNING id""", ( customer_id, customer.get('hub_customer_id'), @@ -241,7 +242,8 @@ class OrderService: """INSERT INTO tmodule_order_lines (order_id, case_id, line_number, description, quantity, unit_price, line_total, time_entry_ids, case_contact, time_date, is_travel) - VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)""", + VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) + RETURNING id""", ( order_id, line.case_id,