wiki:Order

Version 5 (modified by 211561, 2 days ago) ( diff )

--

Нарачка

Креирање

Актери

  • Администратор
  • Обичен корисник (комерцијалист)

Чекори

  • Корисникот се најавува во системот.
  • Корисникот се движи до делот "Orders" и кликнува на копчето "Create Orders".
  • Се прикажува формулар со полиња за детали за нарачката (датум на нарачка, проценет датум на испорака, статус, лична карта на вработен, купувач, примач, транспортен систем) и листа на производи што треба да се додадат во нарачката.
  • Корисникот го пополнува формуларот со валидни информации и избира производи што ќе ги поврзе со нарачката.
  • Апликацијата создава нов запис во табелата ORDER и ги поврзува избраните производи со додавање записи во табелата ORDER_PRODUCT.
-- Insert the order
INSERT INTO "ORDER" (order_date, estimated_delivery_date, status, employee_id, buyer_id, receiver_id, transport_id)
VALUES ('2025-01-01', '2025-02-01', 'Pending', 1, 1, 1, 1)
RETURNING order_id;

-- Assume the returned order_id is 5. Associate products with the order
INSERT INTO ORDER_PRODUCT (order_id, product_id) VALUES
(5, 1),
(5, 2);
  • Корисникот добива известување со кое потврдува дека нарачката е успешно креирана.

Алтернативно сценарио

  • Корисникот не ги пополнува сите потребни полиња или не избира ниту еден производ.
  • Системот прикажува известување што покажува дека мора да се изберат сите полиња и барем еден производ.

Промена

Актери

  • Администратор
  • Обичен корисник (комерцијалист)

Чекори

  • Корисникот се најавува во системот.
  • Корисникот навигира до делот "Orders" и избира одредена нарачка за уредување.
  • Се прикажува формулар со претходно пополнети детали за тековната нарачка и листа на поврзани производи.
  • Корисникот ги менува деталите за нарачката и ја ажурира листата на поврзани производи (додавање или отстранување производи) и го доставува формуларот.
  • Апликацијата го ажурира записот во табелата ORDER и ги прилагодува поврзаните записи во табелата ORDER_PRODUCT.
-- Update order details
UPDATE "ORDER"
SET status = 'Shipped', estimated_delivery_date = '2025-02-10'
WHERE order_id = 5;

-- Remove existing product associations
DELETE FROM ORDER_PRODUCT WHERE order_id = 5;

-- Add new product associations
INSERT INTO ORDER_PRODUCT (order_id, product_id) VALUES
(5, 2),
(5, 3);
  • Корисникот добива известување со кое потврдува дека нарачката е успешно ажурирана.

Алтернативно сценарио

  • Корисникот испраќа невалидни информации или не избира никакви производи.
  • Системот прикажува известување што укажува на специфичната грешка.

Преглед

Актери

  • Администратор
  • Обичен корисник (комерцијалист)

Чекори

  • Корисникот се најавува во системот.
  • Корисникот се движи до делот "Orders" и избира одредена нарачка за гледање.
  • Системот ги презема деталите за нарачката од табелата ORDER и поврзаните производи од табелата ORDER_PRODUCT.
-- Retrieve order details
SELECT * FROM "ORDER" WHERE order_id = 5;

-- Retrieve associated products
SELECT p.*
FROM PRODUCT p
INNER JOIN ORDER_PRODUCT op ON p.product_id = op.product_id
WHERE op.order_id = 5;
  • Деталите за нарачката, заедно со списокот на поврзани производи, му се прикажуваат на корисникот.

Алтернативно сценарио

  • Системот не може да ја пронајде бараната нарачка.
  • Системот прикажува порака што покажува дека нарачката не е пронајдена.

Бришење

Актери

  • Администратор
  • Обичен корисник (комерцијалист)

Чекори

  • Корисникот се најавува во системот.
  • Корисникот се движи до делот "Orders" и избира одредена нарачка за бришење.
  • Се појавува дијалог за потврда и корисникот го потврдува бришењето.
  • Системот го брише записот за нарачка од табелата ORDER и ги отстранува поврзаните производи од табелата ORDER_PRODUCT.
-- Remove product associations
DELETE FROM ORDER_PRODUCT WHERE order_id = 5;

-- Delete the order
DELETE FROM "ORDER" WHERE order_id = 5;
  • Корисникот добива известување со кое потврдува дека нарачката е успешно избришана.

Алтернативно сценарио

  • Корисникот го откажува бришењето.
  • Системот не ја брише нарачката или нејзините поврзани производи.
Note: See TracWiki for help on using the wiki.