| | 1 | = UseCase0002 - Креирање на нарачка = |
| | 2 | |
| | 3 | '''Актер иницијатор:''' Келнер |
| | 4 | |
| | 5 | '''Други актери:''' нема |
| | 6 | |
| | 7 | == Опис == |
| | 8 | |
| | 9 | Келнерот креира нова нарачка за избрана маса. Системот проверува дали масата е слободна, креира нарачка со статус „отворена", ја означува масата како „зафатена" и додава запис во дневникот на активности. |
| | 10 | |
| | 11 | == Сценарио == |
| | 12 | |
| | 13 | 1. Келнерот се најавува и отвора екранот за маси. |
| | 14 | |
| | 15 | 2. Системот ги прикажува сите маси со нивниот статус: |
| | 16 | {{{ |
| | 17 | SELECT table_id, table_number, capacity, status |
| | 18 | FROM project.restaurant_table |
| | 19 | ORDER BY table_number::int; |
| | 20 | }}} |
| | 21 | |
| | 22 | 3. Келнерот избира слободна маса (на пр. маса со ID 1). |
| | 23 | |
| | 24 | 4. Системот проверува дали масата е навистина слободна: |
| | 25 | {{{ |
| | 26 | SELECT status FROM project.restaurant_table WHERE table_id = 1; |
| | 27 | }}} |
| | 28 | |
| | 29 | 5. Системот креира нова нарачка: |
| | 30 | {{{ |
| | 31 | INSERT INTO project.orders (user_id, table_id, status) |
| | 32 | VALUES (3, 1, 'отворена') |
| | 33 | RETURNING order_id, created_at; |
| | 34 | }}} |
| | 35 | |
| | 36 | 6. Системот ја ажурира состојбата на масата: |
| | 37 | {{{ |
| | 38 | UPDATE project.restaurant_table |
| | 39 | SET status = 'зафатена' |
| | 40 | WHERE table_id = 1; |
| | 41 | }}} |
| | 42 | |
| | 43 | 7. Системот го запишува настанот: |
| | 44 | {{{ |
| | 45 | INSERT INTO project.audit_log (user_id, action, entity_name) |
| | 46 | VALUES (3, 'CREATE_ORDER', 'orders'); |
| | 47 | }}} |
| | 48 | |
| | 49 | 8. Системот го прикажува екранот за нарачката со празна листа на ставки. |