| | 1 | = UseCase: Додавање нов производ = |
| | 2 | |
| | 3 | == Актер == |
| | 4 | |
| | 5 | Inventory Manager (Менаџер на залихи) |
| | 6 | |
| | 7 | == Цел == |
| | 8 | |
| | 9 | Inventory Manager сака да додаде нов производ во системот Stock Master. |
| | 10 | |
| | 11 | == Предуслови == |
| | 12 | |
| | 13 | * Inventory Manager мора да биде најавен во системот |
| | 14 | * Мора да постојат категории и добавувачи во системот |
| | 15 | |
| | 16 | == Главен тек == |
| | 17 | |
| | 18 | * Inventory Manager го отвора Dashboard-от |
| | 19 | * Inventory Manager кликнува на "Products" од главното мени |
| | 20 | * Системот го прикажува екранот "Product Management" со листа на сите производи |
| | 21 | * Inventory Manager кликнува на копчето "+ Add New Product" |
| | 22 | * Системот го прикажува екранот за додавање нов производ |
| | 23 | * Inventory Manager ги внесува потребните информации: |
| | 24 | * Product Name (пр: Laptop HP 250 G8) |
| | 25 | * SKU - Stock Keeping Unit (пр: HP-250-G8) |
| | 26 | * Description (пр: Деловен лаптоп со Intel процесор) |
| | 27 | * Category - избира од паѓачко мени (пр: IT Oprema) |
| | 28 | * Supplier - избира од паѓачко мени (пр: Anhoch PC Market) |
| | 29 | * Unit Price (MKD) (пр: 32000.00) |
| | 30 | * Reorder Level (пр: 5) |
| | 31 | * Inventory Manager го штиклира полето "Active" за да го активира производот |
| | 32 | * Inventory Manager кликнува на копчето "Save" |
| | 33 | * Системот ги валидира податоците (SKU мора да е уникатно) |
| | 34 | * Системот го зачувува новиот производ во базата |
| | 35 | * Системот прикажува порака за успех |
| | 36 | * Системот го враќа Inventory Manager на листата со производи каде што новиот производ е прикажан |
| | 37 | |
| | 38 | == Алтернативен тек == |
| | 39 | |
| | 40 | * Доколку SKU веќе постои, се прикажува грешка: "SKU already exists" |
| | 41 | * Доколку некое задолжително поле е празно, се прикажува грешка: "Please fill all required fields" |
| | 42 | * Доколку Inventory Manager кликне "Cancel", се враќа на листата со производи без зачувување |
| | 43 | |
| | 44 | == Совети (Tips) == |
| | 45 | |
| | 46 | * SKU must be unique - SKU мора да биде уникатно |
| | 47 | * Enter detailed description - Внесете детален опис |
| | 48 | * Select correct category - Изберете точна категорија |
| | 49 | * Set appropriate reorder level - Поставете соодветно ниво за повторна нарачка |
| | 50 | |
| | 51 | == SQL Команди == |
| | 52 | |
| | 53 | {{{#!sql |
| | 54 | -- 1. Преземање на категориите |
| | 55 | SELECT category_id, name FROM category; |
| | 56 | |
| | 57 | -- 2. Преземање на добавувачите |
| | 58 | SELECT supplier_id, name FROM supplier; |
| | 59 | |
| | 60 | -- 3. Проверка дали SKU е уникатно |
| | 61 | SELECT COUNT(*) FROM product WHERE sku = 'HP-250-G8'; |
| | 62 | |
| | 63 | -- 4. Додавање нов производ |
| | 64 | INSERT INTO product (name, description, sku, unit_price, reorder_level, category_id, supplier_id, is_active) |
| | 65 | VALUES ('Laptop HP 250 G8', 'Деловен лаптоп со Intel процесор', 'HP-250-G8', 32000.00, 5, 1, 2, true); |
| | 66 | |
| | 67 | -- 5. Прикажување на сите производи |
| | 68 | SELECT p.product_id, p.name, p.sku, p.unit_price, p.reorder_level, |
| | 69 | c.name as category, s.name as supplier, p.is_active |
| | 70 | FROM product p |
| | 71 | LEFT JOIN category c ON p.category_id = c.category_id |
| | 72 | LEFT JOIN supplier s ON p.supplier_id = s.supplier_id |
| | 73 | ORDER BY p.product_id DESC; |
| | 74 | }}} |