== Додавање достава === Актери: * Магационер === Чекори во сценариото: ==== Чекор 1. * Магационерот навигира на **Достави** копчето од менито при што се прикажува табела со сите идни и минати достави. [[Image(Step_1.png)]] {{{ select s.shipment_id as ShipmentId, TO_CHAR(s.shipment_date, 'DD-MM-YYYY') as ShipmentDate, ( SELECT STRING_AGG(DISTINCT c.customer_name, ', ') FROM shipment_load sl JOIN customer c ON sl.customer_id = c.customer_id WHERE sl.shipment_id = s.shipment_id ) as Customers, CONCAT(e.employee_name, ' ', e.employee_surname) AS EmployeeFullName, CONCAT(v.make, ' ', v.model, ' (', v.registration, ')') AS VehicleInfo FROM shipment s JOIN employee e ON s.employee_id = e.employee_id JOIN vehicle v ON s.vehicle_id = v.vehicle_id ORDER BY s.shipment_date desc"; }}} ==== Чекор 2. * Магационерот го клика копчето **Додади достава** над табелата ==== Чекор 3. * Приказ на форма за додавање со популирани листи од Вработени, Возила за вработениот, Клиенти и Вина [[Image(Step_3.png)]] * Приказ на Вработени {{{ select e.employee_id as Id, CONCAT(e.employee_name, ' ', e.employee_surname) AS Name from employee e }}} * Приказ на Возила (Филтрација на страна на клиент, се прикажуваат само возилата што може да ги вози избраниот вработен) {{{ select v.vehicle_id as Id, CONCAT(v.make, ' ', v.model, ' (', v.registration, ')') AS Name, edv.employee_id as EmployeeId, v.capacity as Capacity from employee_drives_vehicle edv join vehicle v on edv.vehicle_id = v.vehicle_id }}} * Приказ на Клиенти {{{ select c.customer_id as Id, CONCAT(c.customer_name , ' (', a.city , ' ', a.street ,' ',a.building_number, ' ', a.postcode, ')') AS Name, CONCAT(a.city ,' ', a.street ,' ',a.building_number,' ', a.postcode) AS Address from customer c join address a on c.address_id = a.address_id }}} * Приказ на Вина {{{ select w.wine_id as Id, CONCAT(w.wine_name , ' (', wt.wine_type_name,', ', wt.wine_type_region,')') AS Name, w.base_price as BasePrice from wine w join wine_type wt on w.wine_type_id = wt.wine_type_id }}} ==== Чекор 4. - Магационерот внесува податоци за доставата (на кој клиент кое вино и по која цена, кој вработен и со кое возило ке врши достава) и клика **Додади** - Податоците се валидираат [[Image(Step_4.png)]] ==== Чекор 5. - Успешно додавање на достава - Додаваме плаќање, достава и товар по редослед. {{{ BEGIN; INSERT INTO public.Payment (Payment_Id, Payment_Status) VALUES (15, 0); INSERT INTO public.Shipment (Shipment_Id, Employee_Id, Payment_Id, Vehicle_Id, Shipment_Date) VALUES (15, 1, 15, 1, now()); INSERT INTO public.shipment_load (Shipment_Id, Customer_Id, Wine_Id, Wine_Agreed_Price, Wine_Base_Price, Wine_Quantity) VALUES (15, 1, 1, 150, 50, 20), (15, 1, 2, 90, 80, 50), (15, 2, 2, 100, 80, 50); COMMIT; }}}