wiki:UseCaseScen1

Version 1 (modified by 185022, 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.

Note: See TracWiki for help on using the wiki.