| | 1 | = Случај на употреба 0004 - Следење на статусот на своите пријави = |
| | 2 | |
| | 3 | '''Иницијатор:''' Граѓанин |
| | 4 | |
| | 5 | '''Други актери:''' нема |
| | 6 | |
| | 7 | Граѓанинот сака да дознае што се случува со проблемите што ги пријавил. Тој ги гледа сите свои пријави со нивниот моментален статус, а за избрана пријава ја гледа целата историја на промени на статусот, кој работник ги направил, коментарите за напредокот и прикачените фотографии. Со ова се обезбедува транспарентноста што е основна цел на системот. |
| | 8 | |
| | 9 | == Сценарио == |
| | 10 | |
| | 11 | 1. Граѓанинот се најавува (како во UC0003, чекор 2) и избира „Мои пријави“. |
| | 12 | |
| | 13 | 2. Системот ги прикажува сите пријави на граѓанинот, од најновата кон најстарата: |
| | 14 | {{{#!sql |
| | 15 | SELECT r.report_id, c.name AS category, r.description, |
| | 16 | r.status, r.priority, r.created_at |
| | 17 | FROM reports r |
| | 18 | JOIN categories c ON c.category_id = r.category_id |
| | 19 | WHERE r.citizen_id = 1 |
| | 20 | ORDER BY r.created_at DESC; |
| | 21 | }}} |
| | 22 | |
| | 23 | 3. Граѓанинот избира една пријава од листата. |
| | 24 | |
| | 25 | 4. Системот ја прикажува историјата на статуси на пријавата, со името на работникот кој ја направил секоја промена: |
| | 26 | {{{#!sql |
| | 27 | SELECT l.status, l.changed_at, l.note, w.full_name AS changed_by |
| | 28 | FROM status_logs l |
| | 29 | LEFT JOIN workers w ON w.worker_id = l.worker_id |
| | 30 | WHERE l.report_id = 1 |
| | 31 | ORDER BY l.changed_at; |
| | 32 | }}} |
| | 33 | |
| | 34 | 5. Системот ги прикажува коментарите на работниците за напредокот: |
| | 35 | {{{#!sql |
| | 36 | SELECT cm.content, cm.created_at, w.full_name AS worker |
| | 37 | FROM comments cm |
| | 38 | JOIN workers w ON w.worker_id = cm.worker_id |
| | 39 | WHERE cm.report_id = 1 |
| | 40 | ORDER BY cm.created_at; |
| | 41 | }}} |
| | 42 | |
| | 43 | 6. Системот ги прикажува прикачените фотографии: |
| | 44 | {{{#!sql |
| | 45 | SELECT photo_id, image_url |
| | 46 | FROM photos |
| | 47 | WHERE report_id = 1 |
| | 48 | ORDER BY photo_id; |
| | 49 | }}} |
| | 50 | |
| | 51 | 7. Граѓанинот се враќа на листата и може да избере друга пријава (повторување од чекор 3). |