| 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 | | }}} |