| | 1 | === Детален Use Case 1: Обработка на нова продажба === |
| | 2 | |
| | 3 | '''Актер:''' Sales Personnel (Продажен персонал) |
| | 4 | |
| | 5 | '''Цел:''' Да се изврши продажба на производ на клиент, да се евидентира во базата и да се ажурира залихата. |
| | 6 | |
| | 7 | || '''Чекор''' || '''Опис (Дијалог)''' || '''SQL Команда''' || |
| | 8 | || 1 || '''Актер:''' Го отвора екранот за продажба и го внесува телефонскиот број на клиентот. || `SELECT * FROM customer WHERE phone = '+389 70 123 456';` || |
| | 9 | || 2 || '''Систем:''' Ги прикажува информациите за клиентот (Петар Наумовски) на екранот. || - || |
| | 10 | || 3 || '''Актер:''' Го внесува производот за продажба (SKU: DELL-24-IPS) преку скенер или рачно. || `SELECT product_id, name, unit_price FROM product WHERE sku = 'DELL-24-IPS';` || |
| | 11 | || 4 || '''Систем:''' Ја проверува залихата на производот во наведениот склад (Warehouse ID: 1). || `SELECT quantity_on_hand FROM warehouse_stock WHERE product_id = 1 AND warehouse_id = 1;` || |
| | 12 | || 5 || '''Систем:''' Доколку залихата е доволна (има 45 парчиња), го додава производот во кошничка. || - || |
| | 13 | || 6 || '''Актер:''' Го притиска копчето "Заврши продажба". || - || |
| | 14 | || 7 || '''Систем:''' Прво внесува запис во табелата `sale`. || `INSERT INTO sale (total_amount, user_id, customer_id, warehouse_id) VALUES (9500.00, 3, 1, 1) RETURNING sale_id;` || |
| | 15 | || 8 || '''Систем:''' Со вратеното ID го додава производот во табелата `sale_item`. || `INSERT INTO sale_item (sale_id, product_id, quantity, unit_price_at_sale) VALUES (3, 1, 1, 9500.00);` || |
| | 16 | || 9 || '''Систем:''' Ја намалува залихата во складот. || `UPDATE warehouse_stock SET quantity_on_hand = quantity_on_hand - 1 WHERE warehouse_id = 1 AND product_id = 1;` || |