wiki:UseCase08

Version 6 (modified by 181085, 2 years ago) ( diff )

--

Извшување на патувањето - UseCase08

Во овој случај инволвирани се и возачот и патникот. Најбитниот дел од апликацијата е извшувањето на патувањето, односно кога возачот ке го однесе патникот од точка А до точка Б и ке му наплати за тоа.

Актери

  • Патник
  • Возач
Предуслов
  • Возачот го прифатил барањето за патување на патникот и се упатил кон него.
Чекори
  1. Возачот пристигнува на pick up адресата на патникот.
  2. Патникот влегува во автомобилот на возачот.
  3. Патникот му кажува на возачот до каде сака да оди.
  4. Возачот ја внесува дестинацијата до каде патникот сака да оди.
  5. Возачот го потврдува завршувањето на барањето и креирањето на патување кликајќи на „Започни патување“.

  1. Апликацијата го завршува барањето(го сетира статусот на барањето на „Завршено“) и го креира патувањето.

  1. Возачот и патникот пристигнуваат на дестинациската адреса.
  2. Апликацијата го завршува патувањето означувајќи го за завршено и ги внесува изминатите километри.
  3. Патникот ја отвара апликацијата и го одбира начинот на кој сака да го плати патувањето(во овој случај ја одбира картичката).

  1. Патникот ја внесува својата кредитна картичка и го извршува плаќањето.
  2. Апликацијата го променува статусот на возачот во „Слободен“.
Постуслов
  • Возачот успешно стигнал на дестинациската адреса
  • Патникот успешно го извршил плаќањето

SQL

INSERT query за точка 6

INSERT INTO drive (driver_id, request_id, car_id, destination_latitude, destination_longitude) 
VALUES  ((SELECT driver_id FROM driver WHERE first_name='Goce'), 
                 (SELECT request_id _id FROM request  WHERE number_address=100),
                 (SELECT car_id FROM car WHERE driver_id=(SELECT driver_id FROM driver WHERE first_name='Goce')), 
                  41.98658487414903, 21.41777925176125)

UPDATE query за точка 6

UPDATE request r
SET status  = 'Finished'
WHERE status = 'Confirmed' AND  r.passenger_id  = (SELECT passenger_id  FROM passenger WHERE first_name='Marko')

UPDATE query за точка 8

UPDATE drive d
SET km_travelled = 10.1 AND status= 'Finished'
WHERE status = 'Confirmed' AND  r.passenger_id  = (SELECT passenger_id  FROM passenger WHERE first_name='Marko')

INSERT query за точка 9-10

INSERT INTO payment (total_sum_payed, drive_id, passenger_id)
VALUES ((SELECT km_travelled FROM drive WHERE (SELECT request_id FROM request WHERE number_address=100)=request_id) * 
                        (SELECT price_per_km FROM driver WHERE driver_id = (SELECT driver_id FROM drive WHERE (SELECT request_id FROM request WHERE number_address=100)=request_id)), 
                        (SELECT drive_id FROM drive WHERE (SELECT request_id FROM request WHERE number_address=100)=request_id AND drive.status = 'Finished'),
                        (SELECT passenger_id FROM passenger WHERE first_name='Marko'))

UPDATE query за точка 11

UPDATE driver d
SET status = 'Available'
WHERE 
d.driver_id= (SELECT driver_id FROM drive WHERE 
(SELECT request_id FROM request WHERE number_address=100)=request_id AND drive.status = 'Finished')

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.