= UseCase: Додавање нов производ = == Актер == Inventory Manager (Менаџер на залихи) == Цел == Inventory Manager сака да додаде нов производ во системот Stock Master. == Предуслови == * Inventory Manager мора да биде најавен во системот * Мора да постојат категории и добавувачи во системот == Главен тек == * Inventory Manager го отвора Dashboard-от * Inventory Manager кликнува на "Products" од главното мени * Системот го прикажува екранот "Product Management" со листа на сите производи * Inventory Manager кликнува на копчето "+ Add New Product" * Системот го прикажува екранот за додавање нов производ * Inventory Manager ги внесува потребните информации: * Product Name (пр: Laptop HP 250 G8) * SKU - Stock Keeping Unit (пр: HP-250-G8) * Description (пр: Деловен лаптоп со Intel процесор) * Category - избира од паѓачко мени (пр: IT Oprema) * Supplier - избира од паѓачко мени (пр: Anhoch PC Market) * Unit Price (MKD) (пр: 32000.00) * Reorder Level (пр: 5) * Inventory Manager го штиклира полето "Active" за да го активира производот * Inventory Manager кликнува на копчето "Save" * Системот ги валидира податоците (SKU мора да е уникатно) * Системот го зачувува новиот производ во базата * Системот прикажува порака за успех * Системот го враќа Inventory Manager на листата со производи каде што новиот производ е прикажан == Алтернативен тек == * Доколку SKU веќе постои, се прикажува грешка: "SKU already exists" * Доколку некое задолжително поле е празно, се прикажува грешка: "Please fill all required fields" * Доколку Inventory Manager кликне "Cancel", се враќа на листата со производи без зачувување == Совети (Tips) == * SKU must be unique - SKU мора да биде уникатно * Enter detailed description - Внесете детален опис * Select correct category - Изберете точна категорија * Set appropriate reorder level - Поставете соодветно ниво за повторна нарачка == SQL Команди == {{{#!sql -- 1. Преземање на категориите SELECT category_id, name FROM category; -- 2. Преземање на добавувачите SELECT supplier_id, name FROM supplier; -- 3. Проверка дали SKU е уникатно SELECT COUNT(*) FROM product WHERE sku = 'HP-250-G8'; -- 4. Додавање нов производ INSERT INTO product (name, description, sku, unit_price, reorder_level, category_id, supplier_id, is_active) VALUES ('Laptop HP 250 G8', 'Деловен лаптоп со Intel процесор', 'HP-250-G8', 32000.00, 5, 1, 2, true); -- 5. Прикажување на сите производи SELECT p.product_id, p.name, p.sku, p.unit_price, p.reorder_level, c.name as category, s.name as supplier, p.is_active FROM product p LEFT JOIN category c ON p.category_id = c.category_id LEFT JOIN supplier s ON p.supplier_id = s.supplier_id ORDER BY p.product_id DESC; }}}