Version 3 (modified by 5 weeks ago) ( diff ) | ,
---|
Креирање на нарачка
Актери
Потрошувач
Чекор 1 - Најава на системот
Корисникот се најавува на системот со внесување на својот email и лозинка. Лозинката во позадина се хешира и таа се проверува во базата.
select * from customer c where c.email=input_email and c.pass=input_pass
Чекор 2 - Dashboard
Овде на почетната страна корисникот ќе има приказ на своите активни нарачки и активни достави доколку има.
Листање на активни нарачки
select * from orders o where o.customer_id=curr_usr_id and o.order_status_id between 2 and 6
Статусите на нарачки со id меѓу 2 и 6 се: Pending, Confirmed, Processing, Shipped, Out for Delivery
Листање на активни достави
select d.* from delivery d join orders o on o.delivery_id=d.delivery_id where o.customer_id=curr_usr_id and d.delivery_status_id <>4;
Статус на достава број 4 е Delivered, односно, тука се листат сите достави на моменталниот корисник кои се со статус различен од Delivered.
Чекор 3 - Корисникот клика на копчето Направи нарачка
По клик на копчето корисникот е пренасочен кон форма каде ја пополнува со посакуваните продукти и нивната количина. Тука нема листање на ништо првично во формата.
Чекор 4 - Пополнување на форма
Тука корисникот може да пристапи на два начини.
- Да пребарува низ сите продукти со пишување во поле за пребарување или
- Да пребарува по категории, производители со селектирање од листа/drop-down мени.
Пребарување по име на продукт со внесување на букви/збор
select a.article_name from article a where article_name like 'input string'
Пребарување по листање на категории или производители
select c.category_name from category c
select m.manufacturer_name from manufacturer m
Чекор 5 - Креирање на нарачката во позадина
По одбирање на производот, корисникот одбира посакувана количина и клика на копчето Креирај ја нарачката
. По ова се креира нарачка во базата.
Внесување на податоците во табелата за нарачки
insert into orders (order_date, order_sum, order_status_id, order_fulfillment_date, customer_id, delivery_id, pro_forma_id) values (curr_date, sum, 1, null, curr_usr_id, null, null)
Кога менаџерот ќе ја потврди нарачката и ќе ја креира профактурата
insert into pro_forma (pro_forma_status_id, pro_forma_deadline, pro_forma_date_created) values (1, order_date_created + 1 week, current date)
update orders set pro_forma_id=created_pf_id and order_status_id=2 where order_id=the_orders_id
Во првиот код се креира нова профактура за таа нарачка, а во вториот се поврзува постоечката нарачка со новокреираната профактура и статусот на нарачката се променува во Pending.