| | 1 | = Креирање на нарачка |
| | 2 | === Актери |
| | 3 | ===== Потрошувач |
| | 4 | ==== Чекор 1 - Најава на системот |
| | 5 | Корисникот се најавува на системот со внесување на својот email и лозинка. Лозинката во позадина се хешира и таа се проверува во базата. |
| | 6 | {{{#!sql |
| | 7 | select * |
| | 8 | from customer c |
| | 9 | where c.email=input_email and c.pass=input_pass |
| | 10 | }}} |
| | 11 | |
| | 12 | ==== Чекор 2 - Dashboard |
| | 13 | Овде на почетната страна корисникот ќе има приказ на своите активни нарачки и активни достави доколку има. |
| | 14 | ===== Листање на активни нарачки |
| | 15 | {{{#!sql |
| | 16 | select * |
| | 17 | from orders o |
| | 18 | where o.customer_id=curr_usr_id and o.order_status_id between 2 and 6 |
| | 19 | }}} |
| | 20 | Статусите на нарачки со id меѓу 2 и 6 се: ''Pending, Confirmed, Processing, Shipped, Out for Delivery'' |
| | 21 | ===== Листање на активни достави |
| | 22 | {{{#!sql |
| | 23 | select d.* |
| | 24 | from delivery d join orders o on o.delivery_id=d.delivery_id |
| | 25 | where o.customer_id=curr_usr_id and d.delivery_status_id !=4; |
| | 26 | }}} |
| | 27 | Статус на достава број 4 е ''Delivered'', односно, тука се листат сите достави на моменталниот корисник кои се со статус различен од ''Delivered''. |
| | 28 | |
| | 29 | ==== Чекор 3 - Корисникот клика на копчето `Направи нарачка` |
| | 30 | По клик на копчето корисникот е пренасочен кон форма каде ја пополнува со посакуваните продукти и нивната количина. Тука нема листање на ништо првично во формата. |
| | 31 | |
| | 32 | ==== Чекор 4 - Пополнување на форма |
| | 33 | Тука корисникот може да пристапи на два начини. |
| | 34 | * Да пребарува низ сите продукти со пишување во поле за пребарување или |
| | 35 | * Да пребарува по категории, производители со селектирање од листа/drop-down мени. |
| | 36 | ===== Пребарување по име на продукт со внесување на букви/збор |
| | 37 | {{{#!sql |
| | 38 | select a.article_name |
| | 39 | from article a |
| | 40 | where article_name like 'input string' |
| | 41 | }}} |
| | 42 | ===== Пребарување по листање на категории или производители |
| | 43 | {{{#!sql |
| | 44 | select c.category_name |
| | 45 | from category c |
| | 46 | }}} |
| | 47 | {{{#!sql |
| | 48 | select m.manufacturer_name |
| | 49 | from manufacturer m |
| | 50 | }}} |
| | 51 | |
| | 52 | ==== Чекор 5 - Креирање на нарачката во позадина |
| | 53 | По одбирање на производот, корисникот одбира посакувана количина и клика на копчето `Креирај ја нарачката`. По ова се креира нарачка во базата. |
| | 54 | ===== Внесување на податоците во табелата за нарачки |
| | 55 | {{{#!sql |
| | 56 | insert into orders (order_date, order_sum, order_status_id, order_fulfillment_date, customer_id, delivery_id, pro_forma_id) |
| | 57 | values (curr_date, sum, 1, null, curr_usr_id, null, null) |
| | 58 | }}} |
| | 59 | |
| | 60 | ===== Кога менаџерот ќе ја потврди нарачката и ќе ја креира профактурата |
| | 61 | {{{#!sql |
| | 62 | insert into pro_forma (pro_forma_status_id, pro_forma_deadline, pro_forma_date_created) |
| | 63 | values (1, order_date_created + 1 week, current date) |
| | 64 | }}} |
| | 65 | {{{#!sql |
| | 66 | update orders |
| | 67 | set pro_forma_id=created_pf_id and order_status_id=2 |
| | 68 | where order_id=the_orders_id |
| | 69 | }}} |
| | 70 | |
| | 71 | Во првиот код се креира нова профактура за таа нарачка, а во вториот се поврзува постоечката нарачка со новокреираната профактура и статусот на нарачката се променува во ''Pending''. |