| 1 | -- =====================================================
|
|---|
| 2 | -- ROLE
|
|---|
| 3 | -- =====================================================
|
|---|
| 4 | INSERT INTO role (role_name, description) VALUES
|
|---|
| 5 | ('admin', 'Администратор со целосни права'),
|
|---|
| 6 | ('manager', 'Менаџер на смена'),
|
|---|
| 7 | ('waiter', 'Келнер');
|
|---|
| 8 |
|
|---|
| 9 | -- =====================================================
|
|---|
| 10 | -- APP_USER
|
|---|
| 11 | -- =====================================================
|
|---|
| 12 | INSERT INTO app_user (role_id, username, password_hash, first_name, last_name, email, active) VALUES
|
|---|
| 13 | (1, 'marko_admin', '$2b$12$hash1', 'Марко', 'Стојанов', 'marko@pos.mk', TRUE),
|
|---|
| 14 | (2, 'ana_manager', '$2b$12$hash2', 'Ана', 'Николова', 'ana@pos.mk', TRUE),
|
|---|
| 15 | (3, 'petar_waiter', '$2b$12$hash3', 'Петар', 'Јованов', 'petar@pos.mk', TRUE),
|
|---|
| 16 | (3, 'elena_waiter', '$2b$12$hash4', 'Елена', 'Трајкова', 'elena@pos.mk', TRUE),
|
|---|
| 17 | (3, 'stefan_waiter','$2b$12$hash5', 'Стефан', 'Костов', 'stefan@pos.mk', FALSE);
|
|---|
| 18 |
|
|---|
| 19 | -- =====================================================
|
|---|
| 20 | -- SESSION
|
|---|
| 21 | -- =====================================================
|
|---|
| 22 | INSERT INTO session (user_id) VALUES (1), (2), (3);
|
|---|
| 23 |
|
|---|
| 24 | -- =====================================================
|
|---|
| 25 | -- AUDIT_LOG
|
|---|
| 26 | -- =====================================================
|
|---|
| 27 | INSERT INTO audit_log (user_id, action, entity_name) VALUES
|
|---|
| 28 | (1, 'LOGIN', 'app_user'),
|
|---|
| 29 | (1, 'CREATE_ORDER', 'orders'),
|
|---|
| 30 | (2, 'LOGIN', 'app_user'),
|
|---|
| 31 | (3, 'CREATE_ORDER', 'orders'),
|
|---|
| 32 | (3, 'PAY_ORDER', 'payment'),
|
|---|
| 33 | (2, 'CLOSE_SHIFT', 'shift_close');
|
|---|
| 34 |
|
|---|
| 35 | -- =====================================================
|
|---|
| 36 | -- CATEGORY
|
|---|
| 37 | -- =====================================================
|
|---|
| 38 | INSERT INTO category (name, description, active) VALUES
|
|---|
| 39 | ('Топли пијалоци', 'Кафиња и чаеви', TRUE),
|
|---|
| 40 | ('Ладни пијалоци', 'Сокови, вода, пиво', TRUE),
|
|---|
| 41 | ('Главни јадења', 'Главни оброци', TRUE),
|
|---|
| 42 | ('Десерти', 'Слатки и колачи', TRUE);
|
|---|
| 43 |
|
|---|
| 44 | -- =====================================================
|
|---|
| 45 | -- PRODUCT
|
|---|
| 46 | -- =====================================================
|
|---|
| 47 | INSERT INTO product (category_id, name, description, price, active, min_stock) VALUES
|
|---|
| 48 | (1, 'Еспресо', 'Класично еспресо', 80.00, TRUE, 20),
|
|---|
| 49 | (1, 'Капучино', 'Капучино со млеко', 120.00, TRUE, 15),
|
|---|
| 50 | (1, 'Макијато', 'Еспресо со млечна пена', 110.00, TRUE, 10),
|
|---|
| 51 | (2, 'Кока Кола', 'Кока Кола 0.33', 100.00, TRUE, 30),
|
|---|
| 52 | (2, 'Пиво', 'Локално пиво 0.5', 150.00, TRUE, 40),
|
|---|
| 53 | (2, 'Вода', 'Минерална вода 0.5', 60.00, TRUE, 50),
|
|---|
| 54 | (3, 'Пица Маргарита', 'Пица со домат и моцарела', 320.00, TRUE, 5),
|
|---|
| 55 | (3, 'Плескавица', 'Плескавица со помфрит', 380.00, TRUE, 5),
|
|---|
| 56 | (3, 'Паста Карбонара', 'Паста со сланина и јајце', 350.00, TRUE, 5),
|
|---|
| 57 | (4, 'Тирамису', 'Италијански десерт', 220.00, TRUE, 3);
|
|---|
| 58 |
|
|---|
| 59 | -- =====================================================
|
|---|
| 60 | -- INGREDIENT
|
|---|
| 61 | -- =====================================================
|
|---|
| 62 | INSERT INTO ingredient (name, unit, min_stock, active) VALUES
|
|---|
| 63 | ('Кафе во зрно', 'g', 500, TRUE),
|
|---|
| 64 | ('Млеко', 'ml', 2000, TRUE),
|
|---|
| 65 | ('Брашно', 'g', 3000, TRUE),
|
|---|
| 66 | ('Моцарела', 'g', 800, TRUE),
|
|---|
| 67 | ('Домат', 'g', 1500, TRUE),
|
|---|
| 68 | ('Месо мешано', 'g', 1000, TRUE),
|
|---|
| 69 | ('Сланина', 'g', 500, TRUE),
|
|---|
| 70 | ('Јајца', 'pcs', 30, TRUE),
|
|---|
| 71 | ('Шеќер', 'g', 2000, TRUE),
|
|---|
| 72 | ('Маскарпоне', 'g', 500, TRUE);
|
|---|
| 73 |
|
|---|
| 74 | -- =====================================================
|
|---|
| 75 | -- RECIPE
|
|---|
| 76 | -- =====================================================
|
|---|
| 77 | INSERT INTO recipe (product_id) VALUES
|
|---|
| 78 | (1), (2), (3), (7), (8), (9), (10);
|
|---|
| 79 |
|
|---|
| 80 | -- =====================================================
|
|---|
| 81 | -- RECIPE_ITEM
|
|---|
| 82 | -- =====================================================
|
|---|
| 83 | INSERT INTO recipe_item (recipe_id, ingredient_id, quantity_needed) VALUES
|
|---|
| 84 | (1, 1, 8), -- Еспресо: 8g кафе
|
|---|
| 85 | (2, 1, 8), -- Капучино: 8g кафе
|
|---|
| 86 | (2, 2, 150), -- Капучино: 150ml млеко
|
|---|
| 87 | (3, 1, 8), -- Макијато: 8g кафе
|
|---|
| 88 | (3, 2, 80), -- Макијато: 80ml млеко
|
|---|
| 89 | (4, 3, 250), -- Пица: 250g брашно
|
|---|
| 90 | (4, 4, 150), -- Пица: 150g моцарела
|
|---|
| 91 | (4, 5, 100), -- Пица: 100g домат
|
|---|
| 92 | (5, 6, 200), -- Плескавица: 200g месо
|
|---|
| 93 | (6, 3, 200), -- Паста: 200g брашно
|
|---|
| 94 | (6, 7, 80), -- Паста: 80g сланина
|
|---|
| 95 | (6, 8, 2), -- Паста: 2 јајца
|
|---|
| 96 | (7, 10, 120), -- Тирамису: 120g маскарпоне
|
|---|
| 97 | (7, 9, 100); -- Тирамису: 100g шеќер
|
|---|
| 98 |
|
|---|
| 99 | -- =====================================================
|
|---|
| 100 | -- RESTAURANT_TABLE
|
|---|
| 101 | -- =====================================================
|
|---|
| 102 | INSERT INTO restaurant_table (table_number, capacity, status) VALUES
|
|---|
| 103 | ('1', 2, 'слободна'),
|
|---|
| 104 | ('2', 2, 'слободна'),
|
|---|
| 105 | ('3', 4, 'зафатена'),
|
|---|
| 106 | ('4', 4, 'слободна'),
|
|---|
| 107 | ('5', 6, 'резервирана'),
|
|---|
| 108 | ('6', 6, 'слободна'),
|
|---|
| 109 | ('7', 8, 'слободна'),
|
|---|
| 110 | ('8', 10, 'неактивна');
|
|---|
| 111 |
|
|---|
| 112 | -- =====================================================
|
|---|
| 113 | -- ORDERS
|
|---|
| 114 | -- =====================================================
|
|---|
| 115 | INSERT INTO orders (user_id, table_id, status) VALUES
|
|---|
| 116 | (3, 1, 'платена'),
|
|---|
| 117 | (3, 3, 'платена'),
|
|---|
| 118 | (4, 4, 'платена'),
|
|---|
| 119 | (4, 5, 'платена'),
|
|---|
| 120 | (3, 2, 'платена'),
|
|---|
| 121 | (5, 4, 'готова'),
|
|---|
| 122 | (4, 6, 'во_подготовка'),
|
|---|
| 123 | (3, 1, 'отворена'),
|
|---|
| 124 | (5, 7, 'платена'),
|
|---|
| 125 | (4, 3, 'платена');
|
|---|
| 126 |
|
|---|
| 127 | -- =====================================================
|
|---|
| 128 | -- ORDER_ITEM
|
|---|
| 129 | -- =====================================================
|
|---|
| 130 | INSERT INTO order_item (order_id, item_number, product_id, quantity, unit_price, status) VALUES
|
|---|
| 131 | (1, 1, 1, 2, 80.00, 'ПОРАЧАНО'),
|
|---|
| 132 | (1, 2, 7, 1, 320.00, 'ПОРАЧАНО'),
|
|---|
| 133 | (2, 1, 2, 3, 120.00, 'ПОРАЧАНО'),
|
|---|
| 134 | (2, 2, 8, 2, 380.00, 'ПОРАЧАНО'),
|
|---|
| 135 | (3, 1, 6, 2, 60.00, 'ПОРАЧАНО'),
|
|---|
| 136 | (3, 2, 9, 1, 350.00, 'ПОРАЧАНО'),
|
|---|
| 137 | (4, 1, 5, 4, 150.00, 'ПОРАЧАНО'),
|
|---|
| 138 | (4, 2, 10, 2, 220.00, 'ПОРАЧАНО'),
|
|---|
| 139 | (5, 1, 4, 2, 100.00, 'ПОРАЧАНО'),
|
|---|
| 140 | (5, 2, 10, 1, 220.00, 'ПОРАЧАНО'),
|
|---|
| 141 | (6, 1, 7, 1, 320.00, 'ПОРАЧАНО'),
|
|---|
| 142 | (7, 1, 6, 2, 60.00, 'ПОРАЧАНО'),
|
|---|
| 143 | (7, 2, 4, 3, 100.00, 'ПОРАЧАНО'),
|
|---|
| 144 | (8, 1, 1, 1, 80.00, 'ПОРАЧАНО'),
|
|---|
| 145 | (9, 1, 5, 4, 150.00, 'ПОРАЧАНО'),
|
|---|
| 146 | (9, 2, 8, 2, 380.00, 'ПОРАЧАНО'),
|
|---|
| 147 | (10, 1, 2, 2, 120.00, 'ПОРАЧАНО'),
|
|---|
| 148 | (10, 2, 10, 1, 220.00, 'ПОРАЧАНО');
|
|---|
| 149 |
|
|---|
| 150 | -- =====================================================
|
|---|
| 151 | -- PAYMENT
|
|---|
| 152 | -- =====================================================
|
|---|
| 153 | INSERT INTO payment (order_id, amount, method) VALUES
|
|---|
| 154 | (1, 480.00, 'кеш'),
|
|---|
| 155 | (2, 1120.00, 'картичка'),
|
|---|
| 156 | (3, 470.00, 'кеш'),
|
|---|
| 157 | (4, 1040.00, 'картичка'),
|
|---|
| 158 | (5, 420.00, 'кеш'),
|
|---|
| 159 | (9, 1060.00, 'картичка'),
|
|---|
| 160 | (10, 460.00, 'кеш');
|
|---|
| 161 |
|
|---|
| 162 | -- =====================================================
|
|---|
| 163 | -- INVOICE
|
|---|
| 164 | -- =====================================================
|
|---|
| 165 | INSERT INTO invoice (payment_id, invoice_number) VALUES
|
|---|
| 166 | (1, 'INV-2026-0001'),
|
|---|
| 167 | (2, 'INV-2026-0002'),
|
|---|
| 168 | (3, 'INV-2026-0003'),
|
|---|
| 169 | (4, 'INV-2026-0004'),
|
|---|
| 170 | (5, 'INV-2026-0005'),
|
|---|
| 171 | (6, 'INV-2026-0006'),
|
|---|
| 172 | (7, 'INV-2026-0007');
|
|---|
| 173 |
|
|---|
| 174 | -- =====================================================
|
|---|
| 175 | -- SHIFT
|
|---|
| 176 | -- =====================================================
|
|---|
| 177 | INSERT INTO shift (user_id, start_time, end_time) VALUES
|
|---|
| 178 | (3, '2026-01-10 08:00:00', '2026-01-10 16:00:00'),
|
|---|
| 179 | (4, '2026-01-10 16:00:00', '2026-01-11 00:00:00'),
|
|---|
| 180 | (3, '2026-01-11 08:00:00', '2026-01-11 16:00:00'),
|
|---|
| 181 | (5, '2026-01-11 16:00:00', NULL);
|
|---|
| 182 |
|
|---|
| 183 | -- =====================================================
|
|---|
| 184 | -- SHIFT_CLOSE
|
|---|
| 185 | -- =====================================================
|
|---|
| 186 | INSERT INTO shift_close (closed_by, total, order_count) VALUES
|
|---|
| 187 | (2, 2520.00, 5),
|
|---|
| 188 | (2, 1150.00, 2);
|
|---|
| 189 |
|
|---|
| 190 | -- =====================================================
|
|---|
| 191 | -- INVENTORY (product inventory)
|
|---|
| 192 | -- =====================================================
|
|---|
| 193 | INSERT INTO inventory (product_id, quantity_change, operation_type) VALUES
|
|---|
| 194 | (1, 100, 'влез'),
|
|---|
| 195 | (2, 80, 'влез'),
|
|---|
| 196 | (4, 150, 'влез'),
|
|---|
| 197 | (5, 120, 'влез'),
|
|---|
| 198 | (6, 200, 'влез'),
|
|---|
| 199 | (1, -20, 'излез'),
|
|---|
| 200 | (2, -15, 'излез'),
|
|---|
| 201 | (5, -30, 'излез'),
|
|---|
| 202 | (7, 50, 'влез'),
|
|---|
| 203 | (8, 40, 'влез');
|
|---|
| 204 |
|
|---|
| 205 | -- =====================================================
|
|---|
| 206 | -- INGREDIENT_INVENTORY
|
|---|
| 207 | -- =====================================================
|
|---|
| 208 | INSERT INTO ingredient_inventory (ingredient_id, quantity_change, operation_type) VALUES
|
|---|
| 209 | (1, 5000, 'влез'),
|
|---|
| 210 | (2, 10000, 'влез'),
|
|---|
| 211 | (3, 15000, 'влез'),
|
|---|
| 212 | (4, 3000, 'влез'),
|
|---|
| 213 | (5, 8000, 'влез'),
|
|---|
| 214 | (6, 5000, 'влез'),
|
|---|
| 215 | (1, -500, 'излез'),
|
|---|
| 216 | (2, -1200, 'излез'),
|
|---|
| 217 | (4, -600, 'излез'),
|
|---|
| 218 | (8, -12, 'излез');
|
|---|
| 219 |
|
|---|
| 220 | -- =====================================================
|
|---|
| 221 | -- APP_SETTINGS
|
|---|
| 222 | -- =====================================================
|
|---|
| 223 | INSERT INTO app_settings (id, restaurant_name, vat_rate, currency, printer_config) VALUES
|
|---|
| 224 | (1, 'EMPORIO CAFFE', 18.00, 'ден', 'default');
|
|---|
| 225 |
|
|---|
| 226 | -- =====================================================
|
|---|
| 227 | -- SETTINGS
|
|---|
| 228 | -- =====================================================
|
|---|
| 229 | INSERT INTO settings (id, restaurant_name, vat_percent, currency, printer_ip, printer_port) VALUES
|
|---|
| 230 | (1, 'EMPORIO CAFFE', 18, 'ден', '192.168.1.100', 9100); |
|---|