19 | | select de.* |
20 | | from driver d join vehicle v on d.vehicle_id = v.vehicle_id |
21 | | join delivery de on v.vehicle_id = de.vehicle_id |
22 | | where d.user_id=curr_user_id and de.delivery_status_id =1 |
23 | | order by de.delivery_date desc; |
| 27 | select del.del_id as deliveryId, |
| 28 | u.user_name as driverName, |
| 29 | del.del_date as deliveryDate, |
| 30 | del.del_date_created as deliveryCreatedDate, |
| 31 | del.d_status_id as deliveryStatus, |
| 32 | ds.d_status_name as deliveryStatusName |
| 33 | from delivery del |
| 34 | join delivery_status ds on del.d_status_id = ds.d_status_id |
| 35 | join vehicle v on del.veh_id = v.veh_id |
| 36 | join driver d on v.veh_id = d.veh_id |
| 37 | join users u on u.user_id = d.user_id |
| 38 | where d.user_id = ?1 and del.d_status_id = 1 |
34 | | select de.* |
35 | | from driver d join vehicle v on d.vehicle_id = v.vehicle_id |
36 | | join delivery de on v.vehicle_id = de.vehicle_id |
37 | | where d.user_id=curr_user_id and de.delivery_status_id not between 1 and 3 |
38 | | order by de.delivery_date; |
| 43 | select del.del_id as deliveryId, |
| 44 | u.user_name as driverName, |
| 45 | del.del_date as deliveryDate, |
| 46 | del.del_date_created as deliveryCreatedDate, |
| 47 | del.d_status_id as deliveryStatus, |
| 48 | ds.d_status_name as deliveryStatusName |
| 49 | from delivery del |
| 50 | join delivery_status ds on del.d_status_id = ds.d_status_id |
| 51 | join vehicle v on del.veh_id = v.veh_id |
| 52 | join driver d on v.veh_id = d.veh_id |
| 53 | join users u on u.user_id = d.user_id |
| 54 | where d.user_id = ?1 and del.d_status_id = 3 |
44 | | `inserted_km` е внесениот број на километри од корисникот \\\\ |
45 | | `selected_delivery_id` е одбраната достава |
| 60 | ===== Наоѓање на доставата според примарниот клуч |
| 61 | {{{#!sql |
| 62 | select d.del_id as delId, |
| 63 | d.del_date_created as delDateCreated, |
| 64 | d.del_date as delDate, |
| 65 | d.del_start_km as delStartKm, |
| 66 | d.del_end_km as delEndKm, |
| 67 | to_char(d.del_start_time, 'HH24:MI:22') as delStartTime, |
| 68 | to_char(d.del_end_time, 'HH24:MI:SS') as delEndTime, |
| 69 | d.d_status_id as delStatusId, |
| 70 | d.veh_id as veh_id |
| 71 | from delivery d |
| 72 | where d.del_id = ?1 |
| 73 | }}} |
| 74 | |
| 75 | ===== Внесување на почетно време и километража за доставата |
| 76 | {{{#!sql |
| 77 | update delivery |
| 78 | set del_date_created = ?2,del_date = ?3,del_start_km = ?4,del_end_km = ?5,del_start_time = ?6,del_end_time = ?7,d_status_id = ?8,veh_id = ?9 |
| 79 | where del_id = ?1 |
| 80 | }}} |
| 81 | |
| 82 | ==== Чекор 4 - Завршување на доставувањето |
| 83 | Кога сите нарачки ќе се достават и возачот ќе се врати во магацинот тој клика на копчето `Заврши ја доставата`. Внесува број на километри на возилото, а време на завршување се менува автоматски при клик на копчето. |
52 | | |
53 | | Исто така на екран ќе му се испечатат детално сите нарачки и детали за доставата. Нарачките ќе може да ги подреди како сака. |
54 | | |
55 | | ===== Листање на сите нарачки од доставата |
56 | | `curr_user_id` е идентификаторот на моменталниот корисник \\\\ |
57 | | `selected_delivery_id` е идентификаторот на доставата која ја започна корисникот |
58 | | {{{#!sql |
59 | | select o.* |
60 | | from driver d join vehicle v on d.vehicle_id = v.vehicle_id |
61 | | join delivery de on v.vehicle_id = de.vehicle_id |
62 | | join orders o on de.delivery_id = o.delivery_id |
63 | | where d.user_id = curr_user_id and de.delivery_id=selected_delivery_id |
64 | | }}} |
65 | | |
66 | | ===== Промена на статуси на нарачките |
67 | | Командата подолу ги променува статусот на сите нарачки од доставата во статус `Out for delivery` |
68 | | {{{#!sql |
69 | | with relevant_orders as (select o.order_id |
70 | | from delivery de |
71 | | join vehicle v on de.vehicle_id = v.vehicle_id |
72 | | join driver d on v.vehicle_id = d.vehicle_id |
73 | | join orders o on de.delivery_id = o.delivery_id |
74 | | where d.user_id = 1 |
75 | | and de.delivery_id = 1) |
76 | | update orders |
77 | | set order_status_id=6 |
78 | | where order_id in (select order_id from relevant_orders) |
79 | | }}} |
80 | | |
81 | | ==== Чекор 4 - Доставување нарачка |
82 | | Кога возачот ќе ја заврши доставата клика на копче кое ја означува нарачката за доставена и статусот на истата се променува во `Delivered` |
83 | | {{{#!sql |
84 | | update orders |
85 | | set order_status_id=7 |
86 | | where order_id=selected_order_id |
87 | | }}} |
88 | | |
89 | | Доколку нарачката била откажена или вратена, возачот може да одбере друг статус мануелно за завршената нарачка, соодветно на ист начин со различен број на статус се менува во база. |
90 | | |
91 | | ==== Чекор 5 - Завршување на доставувањето |
92 | | Кога сите нарачки ќе се достават и возачот ќе се врати во магацинот тој клика на копчето `Заврши ја доставата`. Внесува број на километри на возилото, а време на завршување се менува автоматски при клик на копчето. |
93 | | |
94 | | `inserted_km` е внесениот број на километри од корисникот \\\\ |
95 | | `selected_delivery_id` е одбраната достава |
96 | | |
97 | | {{{#!sql |
98 | | update delivery |
99 | | set delivery_end_km=inserted_km and delivery_end_time=current_time |
100 | | where delivery_id=selected_delivery_id |
101 | | }}} |