-- =====================================================================
-- SQL_DEMO_seed_food.sql
-- بيانات ديمو لشركة مواد غذائية (Magic Tech Lite)
-- شغّل بعد SQL_FULL_SETUP_lite.sql + SQL_FIX_user_trigger.sql
-- =====================================================================
-- يحتوي:
--   • 60+ صنف غذائي (مشروبات، ألبان، معلبات، حبوب، توابل، منظفات...)
--   • براندات معروفة (نستله، المراعي، نادك، يونيليفر، كوكاكولا...)
--   • أسعار وكميات موزّعة على 12 مستودع
--   • باركودات EAN-13 واقعية
--   • تنبيهات على أصناف منخفضة
--   • سجل حركات شهر كامل (in/out/transfer)
--   • نواقص (shortages)
-- =====================================================================

-- 🛡️ تأكد أن كل الأعمدة المطلوبة موجودة (لو ناقصة من setup سابق)
ALTER TABLE items ADD COLUMN IF NOT EXISTS price NUMERIC(12,3) DEFAULT 0;
ALTER TABLE items ADD COLUMN IF NOT EXISTS tax_rate NUMERIC(5,2) DEFAULT 16;
ALTER TABLE items ADD COLUMN IF NOT EXISTS min_stock INT DEFAULT 0;
ALTER TABLE items ADD COLUMN IF NOT EXISTS barcode TEXT;
ALTER TABLE items ADD COLUMN IF NOT EXISTS barcode_default_qty INT;
ALTER TABLE items ADD COLUMN IF NOT EXISTS image_url TEXT;
ALTER TABLE items ADD COLUMN IF NOT EXISTS sort_order INT;

-- ضمان وجود unique constraint على barcode (للنسخ القديمة)
DO $$
BEGIN
  IF NOT EXISTS (
    SELECT 1 FROM pg_indexes WHERE indexname = 'items_barcode_key' OR indexname LIKE 'items%barcode%'
  ) THEN
    BEGIN
      CREATE UNIQUE INDEX items_barcode_unique ON items(barcode) WHERE barcode IS NOT NULL;
    EXCEPTION WHEN OTHERS THEN NULL;
    END;
  END IF;
END $$;

-- 🧹 تنظيف الديتا القديمة (اختياري — احذف هاد السطر لو ما بدك تمسح)
DELETE FROM stock_moves;
DELETE FROM shortages;
DELETE FROM alert_settings;
DELETE FROM item_alert_rules;
DELETE FROM items;


-- ============================================================
-- 1) ITEMS — أصناف غذائية
-- ============================================================
INSERT INTO items (item_id, brand, model, description, meters, barcode, price, tax_rate, min_stock,
  r1, m1, m2, m3, m4, g1, g2, g3, g4, s1, s2, office) VALUES
-- 🥤 مشروبات
(gen_random_uuid(), 'كوكاكولا', 'كوكاكولا 330مل', 'علبة 330 مل', NULL, '6281100100013', 0.350, 16, 50,
  500, 200, 150, 100, 80, 300, 250, 0, 0, 60, 40, 20),
(gen_random_uuid(), 'كوكاكولا', 'كوكاكولا 1.5 لتر', 'قارورة كبيرة', NULL, '6281100100020', 0.950, 16, 30,
  250, 100, 80, 60, 50, 150, 120, 0, 0, 30, 20, 10),
(gen_random_uuid(), 'بيبسي', 'بيبسي 330مل', 'علبة 330 مل', NULL, '6281101100012', 0.350, 16, 50,
  450, 180, 140, 90, 70, 280, 220, 0, 0, 50, 30, 15),
(gen_random_uuid(), 'بيبسي', 'سفن أب 2.25 لتر', 'قارورة كبيرة', NULL, '6281101100029', 1.200, 16, 20,
  120, 60, 50, 40, 30, 80, 70, 0, 0, 20, 15, 5),
(gen_random_uuid(), 'سفاء', 'مياه معدنية 500مل', 'كرتون 24 قارورة', NULL, '6281102200015', 2.500, 0, 100,
  1200, 500, 400, 300, 250, 800, 600, 0, 0, 150, 100, 50),
(gen_random_uuid(), 'سفاء', 'مياه معدنية 1.5 لتر', 'كرتون 12 قارورة', NULL, '6281102200022', 3.000, 0, 60,
  600, 250, 200, 150, 120, 400, 320, 0, 0, 80, 60, 30),
(gen_random_uuid(), 'المراعي', 'عصير برتقال 1 لتر', 'كرتون لتر طبيعي', NULL, '6281103300018', 1.100, 16, 40,
  300, 120, 100, 80, 60, 180, 150, 0, 0, 40, 30, 15),
(gen_random_uuid(), 'المراعي', 'عصير تفاح 1 لتر', 'كرتون لتر طبيعي', NULL, '6281103300025', 1.100, 16, 40,
  280, 110, 90, 70, 55, 170, 140, 0, 0, 35, 25, 12),
(gen_random_uuid(), 'المراعي', 'عصير مانجو 250مل', 'كرتون صغير', NULL, '6281103300032', 0.450, 16, 80,
  600, 250, 200, 150, 120, 400, 350, 0, 0, 80, 60, 25),
(gen_random_uuid(), 'ليبتون', 'شاي ليبتون 100 كيس', 'علبة فلتر شاي', NULL, '6281104400011', 2.800, 16, 30,
  180, 80, 60, 50, 40, 120, 100, 0, 0, 30, 20, 8),
(gen_random_uuid(), 'نسكافيه', 'قهوة فورية 200غ', 'برطمان زجاج', NULL, '6281105500014', 5.500, 16, 25,
  150, 60, 50, 40, 30, 100, 80, 0, 0, 25, 18, 5),

-- 🥛 ألبان وأجبان
(gen_random_uuid(), 'المراعي', 'حليب طازج 1 لتر', 'كرتون لتر مبستر', NULL, '6281106600017', 1.250, 16, 80,
  500, 200, 180, 140, 110, 300, 280, 0, 0, 60, 50, 20),
(gen_random_uuid(), 'المراعي', 'حليب طازج 2 لتر', 'كرتون لترين', NULL, '6281106600024', 2.350, 16, 40,
  250, 100, 90, 70, 55, 150, 130, 0, 0, 30, 25, 10),
(gen_random_uuid(), 'المراعي', 'لبنة كاملة 400غ', 'كاسة بلاستيك', NULL, '6281106600031', 1.450, 16, 60,
  400, 160, 140, 110, 90, 240, 200, 0, 0, 50, 40, 18),
(gen_random_uuid(), 'نادك', 'حليب كامل 1 لتر', 'كرتون UHT', NULL, '6281107700010', 1.150, 16, 80,
  450, 180, 160, 130, 100, 280, 240, 0, 0, 55, 45, 18),
(gen_random_uuid(), 'نادك', 'زبادي طبيعي 170غ', 'كاسة فردية', NULL, '6281107700027', 0.350, 16, 100,
  800, 320, 280, 220, 180, 480, 400, 0, 0, 100, 80, 30),
(gen_random_uuid(), 'الجبيلة', 'جبنة بيضاء 500غ', 'علبة بلاستيك', NULL, '6281108800013', 3.200, 16, 30,
  200, 80, 70, 55, 45, 120, 100, 0, 0, 25, 20, 8),
(gen_random_uuid(), 'الجبيلة', 'جبنة شيدر 200غ', 'مقصوصة جاهزة', NULL, '6281108800020', 2.500, 16, 35,
  220, 90, 75, 60, 50, 130, 110, 0, 0, 28, 22, 9),
(gen_random_uuid(), 'كرافت', 'جبنة كرافت 200غ', 'علبة كرتون فردية', NULL, '6281109900016', 2.100, 16, 40,
  280, 110, 95, 75, 60, 170, 140, 0, 0, 35, 28, 12),

-- 🍞 مخبوزات وحلويات
(gen_random_uuid(), 'الراشد', 'خبز أبيض 6 قطع', 'كيس بلاستيك', NULL, '6281110000010', 0.700, 0, 100,
  600, 240, 200, 160, 130, 360, 300, 0, 0, 75, 60, 25),
(gen_random_uuid(), 'الراشد', 'خبز أسمر 6 قطع', 'كيس بلاستيك صحي', NULL, '6281110000027', 0.850, 0, 60,
  300, 120, 100, 80, 65, 180, 150, 0, 0, 38, 30, 12),
(gen_random_uuid(), 'لوكر', 'بسكويت ويفر شوكولاتة 45غ', 'كيس فردي', NULL, '6281111100015', 0.450, 16, 200,
  1500, 600, 500, 400, 320, 900, 750, 0, 0, 200, 150, 60),
(gen_random_uuid(), 'لوكر', 'بسكويت ساده 200غ', 'علبة جاف', NULL, '6281111100022', 1.350, 16, 50,
  300, 120, 100, 80, 65, 180, 150, 0, 0, 40, 30, 12),
(gen_random_uuid(), 'كوبا', 'كيك الفانيلا 350غ', 'علبة جاهزة', NULL, '6281112200012', 2.900, 16, 25,
  120, 50, 40, 32, 25, 80, 65, 0, 0, 18, 15, 6),
(gen_random_uuid(), 'نوتيلا', 'شوكولاتة بالبندق 350غ', 'برطمان زجاج', NULL, '6281113300019', 5.800, 16, 30,
  200, 80, 65, 50, 40, 120, 100, 0, 0, 25, 20, 8),

-- 🍅 معلبات
(gen_random_uuid(), 'حلوة', 'معجون طماطم 400غ', 'علبة معدن', NULL, '6281114400018', 1.250, 16, 80,
  600, 240, 200, 160, 130, 360, 300, 0, 0, 80, 60, 25),
(gen_random_uuid(), 'حلوة', 'فول مدمس 400غ', 'علبة معدن جاهزة', NULL, '6281114400025', 0.950, 16, 100,
  800, 320, 270, 210, 170, 480, 400, 0, 0, 100, 80, 30),
(gen_random_uuid(), 'حلوة', 'حمص حب 400غ', 'علبة معدن', NULL, '6281114400032', 0.850, 16, 100,
  700, 280, 230, 180, 150, 420, 350, 0, 0, 88, 70, 28),
(gen_random_uuid(), 'حلوة', 'فاصولياء بيضاء 400غ', 'علبة معدن', NULL, '6281114400049', 0.900, 16, 80,
  500, 200, 170, 130, 105, 300, 250, 0, 0, 60, 50, 18),
(gen_random_uuid(), 'الكاسبر', 'تونة بالزيت 185غ', 'علبة معدن', NULL, '6281115500011', 1.550, 16, 100,
  1000, 400, 340, 270, 220, 600, 500, 0, 0, 125, 100, 40),
(gen_random_uuid(), 'الكاسبر', 'تونة بالزيت النباتي 4*185غ', 'باكيت 4 علب', NULL, '6281115500028', 5.500, 16, 35,
  180, 75, 65, 50, 40, 110, 90, 0, 0, 25, 20, 8),
(gen_random_uuid(), 'سعد', 'ذرة حلوة 340غ', 'علبة معدن', NULL, '6281116600014', 1.350, 16, 60,
  400, 160, 140, 110, 90, 240, 200, 0, 0, 50, 40, 15),
(gen_random_uuid(), 'سعد', 'مشروم شرائح 400غ', 'علبة معدن', NULL, '6281116600021', 1.850, 16, 40,
  220, 90, 75, 60, 50, 130, 110, 0, 0, 28, 22, 8),

-- 🌾 حبوب وأرز
(gen_random_uuid(), 'إندومي', 'إندومي ميكس مع شعرية 5*75غ', 'باكيت 5', NULL, '6281117700017', 1.500, 16, 100,
  800, 320, 280, 220, 180, 480, 400, 0, 0, 100, 80, 30),
(gen_random_uuid(), 'إندومي', 'إندومي كاري 75غ', 'فردي', NULL, '6281117700024', 0.350, 16, 200,
  2000, 800, 700, 550, 450, 1200, 1000, 0, 0, 250, 200, 80),
(gen_random_uuid(), 'السنابل', 'رز بسمتي 5 كيلو', 'كيس قماش', NULL, '6281118800010', 12.500, 16, 30,
  120, 50, 42, 33, 27, 72, 60, 0, 0, 18, 15, 6),
(gen_random_uuid(), 'السنابل', 'رز بسمتي 1 كيلو', 'كيس صغير', NULL, '6281118800027', 3.200, 16, 60,
  300, 120, 100, 80, 65, 180, 150, 0, 0, 38, 30, 12),
(gen_random_uuid(), 'السنابل', 'برغل ناعم 1 كيلو', 'كيس بلاستيك', NULL, '6281118800034', 1.850, 16, 50,
  250, 100, 85, 65, 55, 150, 125, 0, 0, 31, 25, 10),
(gen_random_uuid(), 'الكنوز', 'عدس أصفر 1 كيلو', 'كيس بلاستيك', NULL, '6281119900013', 2.100, 16, 50,
  280, 110, 95, 75, 60, 170, 140, 0, 0, 35, 28, 11),
(gen_random_uuid(), 'الكنوز', 'عدس بني 1 كيلو', 'كيس بلاستيك', NULL, '6281119900020', 2.250, 16, 50,
  260, 105, 88, 70, 55, 155, 130, 0, 0, 33, 26, 10),
(gen_random_uuid(), 'الكنوز', 'فول حب يابس 1 كيلو', 'كيس بلاستيك', NULL, '6281119900037', 1.950, 16, 60,
  320, 130, 110, 85, 70, 190, 160, 0, 0, 40, 32, 13),

-- 🧂 توابل وملح
(gen_random_uuid(), 'المنيع', 'ملح طعام مكرّر 1 كيلو', 'كيس بلاستيك', NULL, '6281120000019', 0.450, 16, 100,
  500, 200, 170, 135, 110, 300, 250, 0, 0, 63, 50, 20),
(gen_random_uuid(), 'المنيع', 'فلفل أسود مطحون 50غ', 'علبة كرتون', NULL, '6281120000026', 1.250, 16, 40,
  150, 60, 50, 40, 32, 90, 75, 0, 0, 19, 15, 5),
(gen_random_uuid(), 'العطار', 'بهارات مشكّلة 50غ', 'علبة كرتون', NULL, '6281120000033', 1.450, 16, 35,
  130, 52, 44, 35, 28, 78, 65, 0, 0, 17, 13, 5),
(gen_random_uuid(), 'العطار', 'كركم مطحون 100غ', 'كيس بلاستيك', NULL, '6281120000040', 0.850, 16, 30,
  100, 40, 34, 27, 22, 60, 50, 0, 0, 13, 10, 4),

-- 🫒 زيوت
(gen_random_uuid(), 'دلال', 'زيت زيتون بكر ممتاز 1 لتر', 'قارورة زجاج', NULL, '6281121100016', 8.500, 16, 20,
  80, 32, 27, 22, 18, 50, 40, 0, 0, 12, 10, 4),
(gen_random_uuid(), 'دلال', 'زيت زيتون بكر ممتاز 500مل', 'قارورة زجاج', NULL, '6281121100023', 4.800, 16, 30,
  120, 48, 41, 32, 26, 72, 60, 0, 0, 18, 14, 6),
(gen_random_uuid(), 'العائلة', 'زيت دوار شمس 1.8 لتر', 'قارورة بلاستيك', NULL, '6281122200015', 4.200, 16, 50,
  280, 110, 95, 75, 60, 170, 140, 0, 0, 35, 28, 12),
(gen_random_uuid(), 'العائلة', 'زيت ذرة 1.8 لتر', 'قارورة بلاستيك', NULL, '6281122200022', 4.800, 16, 40,
  220, 90, 75, 60, 50, 130, 110, 0, 0, 28, 22, 9),

-- 🍯 سكر وعسل وتمر
(gen_random_uuid(), 'الوطنية', 'سكر أبيض 1 كيلو', 'كيس بلاستيك', NULL, '6281123300012', 1.150, 16, 100,
  600, 240, 200, 160, 130, 360, 300, 0, 0, 75, 60, 25),
(gen_random_uuid(), 'الوطنية', 'سكر بني 500غ', 'كيس بلاستيك', NULL, '6281123300029', 1.450, 16, 50,
  200, 80, 67, 53, 43, 120, 100, 0, 0, 25, 20, 8),
(gen_random_uuid(), 'الشركة', 'عسل طبيعي 500غ', 'برطمان زجاج', NULL, '6281124400011', 9.800, 16, 25,
  100, 40, 34, 27, 22, 60, 50, 0, 0, 15, 12, 5),
(gen_random_uuid(), 'تمر', 'تمر سكري 1 كيلو', 'علبة بلاستيك', NULL, '6281125500018', 6.500, 0, 30,
  120, 48, 41, 32, 26, 72, 60, 0, 0, 18, 15, 6),
(gen_random_uuid(), 'تمر', 'تمر مجدول 500غ', 'علبة فاخرة', NULL, '6281125500025', 12.500, 0, 20,
  60, 24, 20, 16, 13, 36, 30, 0, 0, 9, 7, 3),

-- 🧴 منظفات وعناية شخصية
(gen_random_uuid(), 'فيري', 'سائل غسيل صحون 700مل', 'قارورة بلاستيك', NULL, '6281126600015', 1.750, 16, 60,
  350, 140, 120, 95, 75, 210, 175, 0, 0, 44, 35, 14),
(gen_random_uuid(), 'فيري', 'سائل غسيل صحون 1.5 لتر', 'قارورة كبيرة', NULL, '6281126600022', 3.450, 16, 35,
  180, 72, 61, 48, 39, 108, 90, 0, 0, 23, 18, 7),
(gen_random_uuid(), 'أريال', 'مسحوق غسيل أوتوماتيك 4 كيلو', 'كيس بلاستيك', NULL, '6281127700018', 14.500, 16, 25,
  80, 32, 27, 22, 18, 50, 40, 0, 0, 12, 10, 4),
(gen_random_uuid(), 'أريال', 'سائل غسيل ملابس 2.6 لتر', 'قارورة بلاستيك', NULL, '6281127700025', 12.800, 16, 30,
  100, 40, 34, 27, 22, 60, 50, 0, 0, 15, 12, 5),
(gen_random_uuid(), 'داوني', 'منعم أقمشة 1.5 لتر', 'قارورة بلاستيك', NULL, '6281128800011', 5.500, 16, 40,
  180, 72, 61, 48, 39, 108, 90, 0, 0, 23, 18, 7),
(gen_random_uuid(), 'ديتول', 'صابون سائل لليدين 200مل', 'قارورة بمضخة', NULL, '6281129900014', 2.450, 16, 50,
  240, 96, 82, 65, 53, 144, 120, 0, 0, 30, 24, 10),
(gen_random_uuid(), 'كولجيت', 'معجون أسنان 100مل', 'تيوب', NULL, '6281130000010', 1.850, 16, 60,
  300, 120, 102, 80, 65, 180, 150, 0, 0, 38, 30, 12),
(gen_random_uuid(), 'هيد آند شولدرز', 'شامبو 400مل', 'قارورة بلاستيك', NULL, '6281131100017', 4.250, 16, 35,
  140, 56, 47, 38, 30, 84, 70, 0, 0, 18, 14, 5),

-- 🍫 شوكولاتة وسكاكر
(gen_random_uuid(), 'كادبوري', 'شوكولاتة دايري ميلك 90غ', 'لوح', NULL, '6281132200014', 1.250, 16, 100,
  600, 240, 204, 160, 130, 360, 300, 0, 0, 75, 60, 25),
(gen_random_uuid(), 'كادبوري', 'شوكولاتة فروت آند نت 90غ', 'لوح', NULL, '6281132200021', 1.250, 16, 80,
  500, 200, 170, 135, 110, 300, 250, 0, 0, 63, 50, 20),
(gen_random_uuid(), 'كيت كات', 'شوكولاتة كيت كات 4 أصابع', 'لوح متعدد', NULL, '6281133300011', 0.950, 16, 120,
  800, 320, 272, 215, 175, 480, 400, 0, 0, 100, 80, 32),
(gen_random_uuid(), 'مينتوس', 'حلوى مينتوس فاكهة 38غ', 'رول', NULL, '6281134400018', 0.450, 16, 200,
  1500, 600, 510, 400, 325, 900, 750, 0, 0, 188, 150, 60);


-- ============================================================
-- 2) ALERT_SETTINGS — تنبيهات على بعض الأصناف
-- ============================================================
INSERT INTO alert_settings (item_id, scope, alert_qty, enabled)
SELECT item_id, 'total', GREATEST(min_stock, 30), true
FROM items
WHERE min_stock > 0
LIMIT 20;


-- ============================================================
-- 3) ITEM_ALERT_RULES — قواعد تنبيه لمستودعات محددة
-- ============================================================
INSERT INTO item_alert_rules (item_id, scope, wh, threshold, is_enabled)
SELECT item_id, 'wh', 'r1', 50, true
FROM items
WHERE brand IN ('كوكاكولا','بيبسي','المراعي')
LIMIT 5;

INSERT INTO item_alert_rules (item_id, scope, wh, threshold, is_enabled)
SELECT item_id, 'wh', 'm1', 30, true
FROM items
WHERE brand IN ('السنابل','الكنوز')
LIMIT 4;


-- ============================================================
-- 4) STOCK_MOVES — سجل حركات شهر كامل (in/out/transfer)
-- ============================================================
DO $$
DECLARE
  v_item RECORD;
  v_day INT;
  v_move_type TEXT;
  v_wh TEXT;
  v_qty NUMERIC;
  v_warehouses TEXT[] := ARRAY['r1','m1','m2','m3','m4','g1','g2','s1','office'];
BEGIN
  -- لكل صنف، نولّد 3-5 حركات خلال آخر 30 يوم
  FOR v_item IN SELECT item_id, brand, model FROM items ORDER BY random() LIMIT 40 LOOP
    FOR i IN 1..(3 + (random()*3)::INT) LOOP
      v_day := (random()*30)::INT;
      v_move_type := (ARRAY['in','out','out','out','transfer'])[(random()*4+1)::INT];
      v_wh := v_warehouses[(random()*8+1)::INT];
      v_qty := (5 + random()*50)::INT;

      IF v_move_type = 'transfer' THEN
        INSERT INTO stock_moves (move_type, item_id, from_warehouse, to_warehouse, qty, note, tx_date)
        VALUES (
          'transfer', v_item.item_id, v_wh,
          v_warehouses[(random()*8+1)::INT],
          v_qty,
          'نقل بين المستودعات',
          (CURRENT_DATE - v_day)
        );
      ELSE
        INSERT INTO stock_moves (move_type, item_id, warehouse, qty, note, tx_date)
        VALUES (
          v_move_type, v_item.item_id, v_wh, v_qty,
          CASE v_move_type
            WHEN 'in' THEN 'استلام شحنة من المورد'
            WHEN 'out' THEN 'تسليم لعميل / متجر'
          END,
          (CURRENT_DATE - v_day)
        );
      END IF;
    END LOOP;
  END LOOP;
END $$;


-- ============================================================
-- 5) SHORTAGES — نواقص مسجّلة (عشان تبيّن في صفحة التنبيهات)
-- ============================================================
INSERT INTO shortages (item_id, warehouse, qty, note)
SELECT item_id, 'r1', 25, 'العميل طلب كمية أكبر من المتوفر'
FROM items WHERE brand = 'إندومي' LIMIT 1;

INSERT INTO shortages (item_id, warehouse, qty, note)
SELECT item_id, 'm2', 15, 'نقص في الجرد — يحتاج طلبية عاجلة'
FROM items WHERE brand = 'المراعي' LIMIT 1;

INSERT INTO shortages (item_id, warehouse, qty, note)
SELECT item_id, 'g1', 50, 'موسم رمضان — الطلب أعلى من العرض'
FROM items WHERE brand = 'السنابل' LIMIT 1;


-- =====================================================================
-- ✅ تم — الديتا الديمو جاهزة
--
-- إحصائيات سريعة:
-- ----------------
SELECT
  (SELECT COUNT(*) FROM items) AS items_count,
  (SELECT COUNT(*) FROM stock_moves) AS moves_count,
  (SELECT COUNT(*) FROM alert_settings) AS alerts_count,
  (SELECT COUNT(*) FROM shortages) AS shortages_count,
  (SELECT COUNT(DISTINCT brand) FROM items) AS unique_brands;

-- شو بعدها:
-- 1) سجّل الأدمن من Supabase Dashboard
-- 2) شوف الديتا في: Stock / Excel / Alerts / Audit
-- =====================================================================
