wiki:UseCase4

Креирање резервација

Опис:

Клиентот прави резервација на рута за превоз на роба

Актери:

Клиент

Предуслов

Корисникот да биде ненајавен.

Реализација:

Чекор 1.

Корисникот има приказ на почетната страна на системот

Чекор 2.

Корисникот се најавува преку формата за најава

Чекор 3.

Корисникот има приказ на страната со достапни рути.

-- Приказ на сите достапни рути

select od.grad_ime, dest.grad_ime, r.datum_poagjanje, r.datum_pristignuvanje
from project.ruti as r
join project.gradovi as od on r.zapocnuva_vo = od.grad_id
join project.gradovi as dest on r.zavrsuva_vo = dest.grad_id
where 
r.datum_poagjanje > now()


-- Приказ на сите достапни рути филтрирани според датум

select od.grad_ime, dest.grad_ime, r.datum_poagjanje, r.datum_pristignuvanje
from project.ruti as r
join project.gradovi as od on r.zapocnuva_vo = od.grad_id
join project.gradovi as dest on r.zavrsuva_vo = dest.grad_id
where 
r.datum_poagjanje > fromDate AND r.datum_pristignuvanje < toDate
-- fromDate и toDate се датумите избрани од страна на корисникот преку формата за филтрирање

Чекор 4.

Корисникот ја избира посакуваната рута.

Чекор 5.

Корисникот добива приказ на деталите за рутата која ја има избрано.

-- Приказ на детали за селектираната рута

select od.grad_ime, dest.grad_ime, ruta.datum_poagjanje, ruta.datum_pristignuvanje, komp.kompanija_ime, vozac.vraboten_ime, vozac.vraboten_prezime, tipVozilo.tip_ime, vozilo.vozilo_kapacitet
from project.ruti as ruta
join project.gradovi as od on ruta.zapocnuva_vo = od.grad_id
join project.gradovi as dest on ruta.zavrsuva_vo = dest.grad_id
join project.vozila as vozilo on ruta.vozilo_id = vozilo.vozilo_id
join project.tipovi as tipVozilo on vozilo.tip_id = tipVozilo.tip_id
join project.vozaci on ruta.vozac_id = vozaci.vozac_id
join project.vraboteni as vozac on vozaci.vozac_id = vozac.vraboten_id
join project.kompanii as komp on vozilo.kompanija_id = komp.kompanija_id
where 
ruta.ruta_id = 1

-- id 1 е само за пример, во реалноста ќе се зема id-то од селектираната рута.

Чекор 6.

Корисникот избира категорија на роба за која сака да резервира превоз и ја завршува резервацијата со клик на копчето "Резервирај".

-- Приказ на категории на роба при резервирање на рута
select k.kategorija_ime
from kategorii k

-- Додавање резервација

insert into project.rezervacii(rezervacija_id, rezervacija_status, klient_id, ruta_id) 
values (default, 'Kreirana', 1, 1)

insert into project.roba(roba_id, roba_kolicina, kategorija_id, rezervacija_id)
values (default, 3, 1, 1), (default, 2, 2, 1)

-- во роба се додаваат ставките роба кои клиентот ќе ги селектира со соодветна категорија и количина.

Чекор 7.

Корисникот се пренасочува на страна каде се достапни сите негови резервации.

-- Приказ на мои резервации

select od.grad_ime, dest.grad_ime, r.datum_poagjanje, r.datum_pristignuvanje
from project.rezervacii as rezervacii
join project.ruti as r on rezervacii.ruta_id = r.ruta_id
join project.gradovi as od on r.zapocnuva_vo = od.grad_id
join project.gradovi as dest on r.zavrsuva_vo = dest.grad_id
where 
rezervacii.klient_id = 1

-- id 1 е само за пример, во реалноста ќе се зема id-то од тековниот корисник. 

Алтернативни чекори:

Чекор 6. Доколку внесе погрешни корисничко име или лозинка, добива соодветна порака за грешка.

Last modified 21 months ago Last modified on 03/08/23 12:03:39

Attachments (6)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.