-- ========================================================
-- نسخة احتياطية كاملة لقاعدة بيانات نظام ضياء لإدارة خطوط الإنتاج (SQL)
-- تاريخ الإنشاء: 2026-09-03 21:37:14
-- ========================================================

SET FOREIGN_KEY_CHECKS=0;
SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO';
SET time_zone = '+00:00';


-- --------------------------------------------------------
-- هيكل وبيانات الجدول: `system_settings`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `system_settings`;
CREATE TABLE IF NOT EXISTS `system_settings` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sync_uid` varchar(64) DEFAULT NULL,
  `setting_key` varchar(100) NOT NULL,
  `setting_value` text DEFAULT NULL,
  `setting_group` varchar(50) DEFAULT 'general',
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `is_deleted` tinyint(1) DEFAULT 0,
  PRIMARY KEY (`id`),
  UNIQUE KEY `setting_key` (`setting_key`),
  KEY `idx_system_settings_sync_uid` (`sync_uid`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

INSERT INTO `system_settings` (`id`, `sync_uid`, `setting_key`, `setting_value`, `setting_group`, `updated_at`, `is_deleted`) VALUES
('1', 'SY-1ae0e6940028498a5bf8495a728be88e', 'zk_device_ip', '192.168.1.201', 'zkteco', '2026-09-03 21:00:42', '0'),
('2', 'SY-dbc2a82ecb6113b3bd7ddd8d9e11928e', 'zk_device_port', '4370', 'zkteco', '2026-09-03 21:00:42', '0'),
('3', 'SY-7bd2ece28961aaaaad7862a57ed2ccf8', 'zk_protocol', 'UDP', 'zkteco', '2026-09-03 21:00:42', '0'),
('4', 'SY-d6dd4a27c0ddb0d51f5cb487b3b87c61', 'zk_timeout', '5', 'zkteco', '2026-09-03 21:00:42', '0'),
('5', 'SY-a577bec3f3a49db1722625e7073fe990', 'zk_com_key', '0', 'zkteco', '2026-09-03 21:00:42', '0'),
('6', 'SY-7bb34bee1cdec2f5868eda6c173c22bf', 'zk_auto_sync_enabled', '1', 'zkteco', '2026-09-03 21:00:42', '0'),
('7', 'SY-81c62278beba565a08766279ad5a89ab', 'zk_auto_sync_interval', '60', 'zkteco', '2026-09-03 21:00:42', '0'),
('8', 'SY-1ae6950fa1e6acb021dbea617a6e275b', 'remote_db_enabled', '0', 'cloud_sync', '2026-09-03 21:00:42', '0'),
('9', 'SY-bb2eac8a4260e6fbdb988803c90d6663', 'remote_db_host', '', 'cloud_sync', '2026-09-03 21:00:42', '0'),
('10', 'SY-6b744220bcff1407bfea5a95e5fcd80a', 'remote_db_port', '3306', 'cloud_sync', '2026-09-03 21:00:42', '0'),
('11', 'SY-8717cda588677e636dbac139debe401c', 'remote_db_name', '', 'cloud_sync', '2026-09-03 21:00:42', '0'),
('12', 'SY-5c8cc1edf5327265f45f63b37d5451d9', 'remote_db_user', '', 'cloud_sync', '2026-09-03 21:00:42', '0'),
('13', 'SY-336b0ef8b9cbe80ec8f8cabb268606fe', 'remote_db_pass', '', 'cloud_sync', '2026-09-03 21:00:42', '0'),
('14', 'SY-384bf7b972eccb2e05f3170668073dd3', 'remote_db_ssl', '0', 'cloud_sync', '2026-09-03 21:00:42', '0'),
('15', 'SY-36afd7d144e7828c95b37620cddf8893', 'remote_sync_mode', 'auto', 'cloud_sync', '2026-09-03 21:00:42', '0'),
('16', 'SY-4e2e7ffca1e0f2c6b7ce2ec6116420fe', 'remote_sync_interval', '30', 'cloud_sync', '2026-09-03 21:00:42', '0'),
('17', 'SY-76ee36db7e5755c2b0d82f03fbcdc5f7', 'last_sync_time', '', 'cloud_sync', '2026-09-03 21:00:42', '0'),
('18', 'SY-885d67d4e49134e1cf04ef1ecda73a20', 'last_sync_status', 'idle', 'cloud_sync', '2026-09-03 21:00:42', '0'),
('19', 'SY-8cd61b0b13c37ee6cc01878ab0c9db3f', 'last_sync_message', 'لم يتم إعداد السيرفر السحابي بعد', 'cloud_sync', '2026-09-03 21:00:42', '0'),
('20', 'SY-6e894d875b37d3f73699f8c6729e23d5', 'system_seeded', '1', 'system', '2026-09-03 21:00:42', '0');


-- --------------------------------------------------------
-- هيكل وبيانات الجدول: `customers`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `customers`;
CREATE TABLE IF NOT EXISTS `customers` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sync_uid` varchar(64) DEFAULT NULL,
  `code` varchar(50) NOT NULL,
  `name` varchar(150) NOT NULL,
  `phone` varchar(50) DEFAULT NULL,
  `address` varchar(255) DEFAULT NULL,
  `notes` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `is_deleted` tinyint(1) DEFAULT 0,
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `code` (`code`),
  KEY `idx_customers_sync_uid` (`sync_uid`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;


-- --------------------------------------------------------
-- هيكل وبيانات الجدول: `invoices`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `invoices`;
CREATE TABLE IF NOT EXISTS `invoices` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sync_uid` varchar(64) DEFAULT NULL,
  `invoice_number` varchar(50) NOT NULL,
  `customer_id` int(11) NOT NULL,
  `invoice_date` date NOT NULL,
  `total_detailed` decimal(12,2) DEFAULT 0.00,
  `total_lump` decimal(12,2) DEFAULT 0.00,
  `grand_total` decimal(12,2) DEFAULT 0.00,
  `notes` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `is_deleted` tinyint(1) DEFAULT 0,
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `customer_id` (`customer_id`),
  KEY `idx_invoices_sync_uid` (`sync_uid`),
  CONSTRAINT `invoices_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;


-- --------------------------------------------------------
-- هيكل وبيانات الجدول: `invoice_items_detailed`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `invoice_items_detailed`;
CREATE TABLE IF NOT EXISTS `invoice_items_detailed` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sync_uid` varchar(64) DEFAULT NULL,
  `invoice_id` int(11) NOT NULL,
  `story_name` varchar(255) NOT NULL,
  `story_code` varchar(100) DEFAULT NULL,
  `story_image` varchar(255) DEFAULT NULL,
  `story_count` decimal(10,2) NOT NULL,
  `buttons_count` decimal(10,2) NOT NULL,
  `button_cost` decimal(10,2) NOT NULL,
  `item_cost` decimal(10,2) NOT NULL,
  `total_cost` decimal(12,2) NOT NULL,
  `is_deleted` tinyint(1) DEFAULT 0,
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `invoice_id` (`invoice_id`),
  KEY `idx_invoice_items_detailed_sync_uid` (`sync_uid`),
  CONSTRAINT `invoice_items_detailed_ibfk_1` FOREIGN KEY (`invoice_id`) REFERENCES `invoices` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;


-- --------------------------------------------------------
-- هيكل وبيانات الجدول: `invoice_items_lump`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `invoice_items_lump`;
CREATE TABLE IF NOT EXISTS `invoice_items_lump` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sync_uid` varchar(64) DEFAULT NULL,
  `invoice_id` int(11) NOT NULL,
  `item_title` varchar(255) NOT NULL,
  `total_cost` decimal(12,2) NOT NULL,
  `is_deleted` tinyint(1) DEFAULT 0,
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `invoice_id` (`invoice_id`),
  KEY `idx_invoice_items_lump_sync_uid` (`sync_uid`),
  CONSTRAINT `invoice_items_lump_ibfk_1` FOREIGN KEY (`invoice_id`) REFERENCES `invoices` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;


-- --------------------------------------------------------
-- هيكل وبيانات الجدول: `safes`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `safes`;
CREATE TABLE IF NOT EXISTS `safes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sync_uid` varchar(64) DEFAULT NULL,
  `safe_name` varchar(150) NOT NULL,
  `phone` varchar(50) DEFAULT NULL,
  `link_url` varchar(255) DEFAULT NULL,
  `initial_balance` decimal(12,2) DEFAULT 0.00,
  `notes` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `is_deleted` tinyint(1) DEFAULT 0,
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_safes_sync_uid` (`sync_uid`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

INSERT INTO `safes` (`id`, `sync_uid`, `safe_name`, `phone`, `link_url`, `initial_balance`, `notes`, `created_at`, `is_deleted`, `updated_at`) VALUES
('1', 'SY-662a984b14d7171a67f3bdb50a825237', 'الخزينة الرئيسية (مقر المصنع)', '01001234567', '', '25000.00', 'الخزينة النقدية الرئيسية لمصروفات وتحصيلات المصنع الكاش', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('2', 'SY-2b33442c6e04f0c6e39047ef458e325c', 'محفظة فودافون كاش (التحصيلات السريعة)', '01019876543', 'https://vodafone.com.eg', '10000.00', 'محفظة كاش معتمدة لاستلام سدادات العملاء الفورية', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('3', 'SY-499a8e1b253564ed2bc136389aae35c6', 'حساب إنستاباي / البنك الأهلي المصري', '01123456789', 'https://instapay.eg', '45000.00', 'حساب التحويلات البنكية ومستحقات الموردين الكبرى', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('4', 'SY-18f22848adfc49e7ca07d2a0dd5c9ad4', 'محفظة أورنج كاش (المشتريات والمصروفات)', '01287654321', 'https://orange.eg', '5000.00', 'محفظة مخصصة لسداد فواتير الكهرباء والمشتريات اليومية', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42');


-- --------------------------------------------------------
-- هيكل وبيانات الجدول: `customer_payments`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `customer_payments`;
CREATE TABLE IF NOT EXISTS `customer_payments` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sync_uid` varchar(64) DEFAULT NULL,
  `customer_id` int(11) NOT NULL,
  `invoice_id` int(11) DEFAULT NULL,
  `safe_id` int(11) DEFAULT NULL,
  `payment_date` date NOT NULL,
  `amount` decimal(12,2) NOT NULL,
  `payment_method` varchar(100) DEFAULT 'نقدي',
  `notes` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `is_deleted` tinyint(1) DEFAULT 0,
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `customer_id` (`customer_id`),
  KEY `idx_customer_payments_sync_uid` (`sync_uid`),
  CONSTRAINT `customer_payments_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;


-- --------------------------------------------------------
-- هيكل وبيانات الجدول: `safe_transactions`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `safe_transactions`;
CREATE TABLE IF NOT EXISTS `safe_transactions` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sync_uid` varchar(64) DEFAULT NULL,
  `trx_number` varchar(50) NOT NULL,
  `safe_id` int(11) NOT NULL,
  `to_safe_id` int(11) DEFAULT NULL,
  `type` enum('deposit','expense','transfer') NOT NULL,
  `amount` decimal(12,2) NOT NULL,
  `reason` varchar(255) NOT NULL,
  `trx_date` datetime DEFAULT current_timestamp(),
  `notes` varchar(255) DEFAULT NULL,
  `is_deleted` tinyint(1) DEFAULT 0,
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `safe_id` (`safe_id`),
  KEY `idx_safe_transactions_sync_uid` (`sync_uid`),
  CONSTRAINT `safe_transactions_ibfk_1` FOREIGN KEY (`safe_id`) REFERENCES `safes` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

INSERT INTO `safe_transactions` (`id`, `sync_uid`, `trx_number`, `safe_id`, `to_safe_id`, `type`, `amount`, `reason`, `trx_date`, `notes`, `is_deleted`, `updated_at`) VALUES
('1', 'SY-24ff24d45c8e19dabab7f3038b03deb8', 'TRX-2026-001', '1', NULL, 'deposit', '5000.00', 'تحصيل دفعة أولى نقدية من مصنع السباعي', '2026-02-01 10:30:00', 'دفعة فاتورة #INV-2026-001', '0', '2026-09-03 21:00:42'),
('2', 'SY-cfca5a13cef4be794c0cc75526d37725', 'TRX-2026-002', '1', NULL, 'expense', '3200.00', 'شراء كراتين أزرار عاج ومستلزمات من سوق الموسكي', '2026-02-03 12:45:00', 'فواتير مشتريات خامات', '0', '2026-09-03 21:00:42'),
('3', 'SY-b7e7cc48e721d2aea8d2922d1fa29116', 'TRX-2026-003', '1', NULL, 'deposit', '10000.00', 'تحصيل دفعة ثانية كاش من مصنع السباعي', '2026-02-08 11:15:00', 'استلام دفعة الفساتين', '0', '2026-09-03 21:00:42'),
('4', 'SY-5acdf824f973a63d41e23f207c2d1582', 'TRX-2026-004', '3', NULL, 'deposit', '15500.00', 'تحويل إنستاباي من شركة النور للمنسوجات سداد فاتورة #INV-2026-003', '2026-02-12 14:20:00', 'سداد كامل الفاتورة', '0', '2026-09-03 21:00:42'),
('5', 'SY-e1d0715ae35d50e7f372a50fd03d7c37', 'TRX-2026-005', '1', NULL, 'expense', '4500.00', 'صيانة ماكينات العراوي والأزرار وتغيير سيور وبكر', '2026-02-14 16:00:00', 'صيانة دورية للمصنع', '0', '2026-09-03 21:00:42'),
('6', 'SY-abb132913b8d8ae0b3abb04570bec032', 'TRX-2026-006', '2', NULL, 'deposit', '6000.00', 'تحويل فودافون كاش من مصنع السباعي دفعة فاتورة #INV-2026-002', '2026-02-16 13:10:00', 'دفعة شيميزات وعبايات', '0', '2026-09-03 21:00:42'),
('7', 'SY-0b8f36a1f9a7c8a3a04b408aad1225dd', 'TRX-2026-007', '3', '1', 'transfer', '5000.00', 'تحويل سيولة من حساب إنستاباي لتغذية الخزينة الرئيسية كاش', '2026-02-17 10:00:00', 'تغذية نقدية للمصروفات', '0', '2026-09-03 21:00:42'),
('8', 'SY-31bfd398d115305e43676d39f279c9e2', 'TRX-2026-008', '4', NULL, 'expense', '1450.00', 'سداد فاتورة استهلاك الكهرباء الشهرية للمصنع والورشة', '2026-02-18 15:30:00', 'سداد إلكتروني أورنج كاش', '0', '2026-09-03 21:00:42'),
('9', 'SY-7926a134bc832092619b84ef374b2269', 'TRX-2026-009', '1', NULL, 'expense', '2800.00', 'صرف سلف أسبوعية لعمال قسم القص والخياطة', '2026-02-19 17:00:00', 'سلفيات عمال', '0', '2026-09-03 21:00:42'),
('10', 'SY-79cab6200d610f114edf2eeaa106918c', 'TRX-2026-010', '1', NULL, 'deposit', '5000.00', 'تحصيل دفعة نقدية من مؤسسة الشروق للأزياء', '2026-02-20 12:00:00', 'دفعة يونيفورم مدرسي', '0', '2026-09-03 21:00:42');


-- --------------------------------------------------------
-- هيكل وبيانات الجدول: `expenses`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `expenses`;
CREATE TABLE IF NOT EXISTS `expenses` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sync_uid` varchar(64) DEFAULT NULL,
  `expense_number` varchar(50) NOT NULL,
  `category` varchar(100) NOT NULL,
  `title` varchar(255) NOT NULL,
  `amount` decimal(12,2) NOT NULL,
  `safe_id` int(11) DEFAULT NULL,
  `expense_date` date NOT NULL,
  `recipient` varchar(150) DEFAULT NULL,
  `receipt_number` varchar(100) DEFAULT NULL,
  `notes` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `is_deleted` tinyint(1) DEFAULT 0,
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `expense_number` (`expense_number`),
  KEY `safe_id` (`safe_id`),
  KEY `idx_expenses_sync_uid` (`sync_uid`),
  CONSTRAINT `expenses_ibfk_1` FOREIGN KEY (`safe_id`) REFERENCES `safes` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

INSERT INTO `expenses` (`id`, `sync_uid`, `expense_number`, `category`, `title`, `amount`, `safe_id`, `expense_date`, `recipient`, `receipt_number`, `notes`, `created_at`, `is_deleted`, `updated_at`) VALUES
('1', 'SY-e30823b8b71e04618801ca3ac0b0b034', 'EXP-2026-001', 'خامات ومستلزمات', 'شراء كراتين أزرار عاج ومستلزمات خياطة', '3200.00', '1', '2026-02-03', 'سوق الموسكي للأزرار', 'REC-8841', 'أزرار مقاس 18 و 24 للفساتين والسالوبيت', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('2', 'SY-7bc03947d986bc4877bb12fa658477cf', 'EXP-2026-002', 'صيانة ماكينات', 'صيانة ماكينات العراوي وتغيير بكر وسيور', '4500.00', '1', '2026-02-14', 'المهندس حسام للصيانة', 'SRV-109', 'صيانة شاملة لماكينات جوكي وبرازر', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('3', 'SY-31d1894744c159e3d2f711b967ea4877', 'EXP-2026-003', 'فواتير ومرافق', 'سداد فاتورة استهلاك الكهرباء الشهرية للمصنع', '1450.00', '4', '2026-02-18', 'شركة توزيع الكهرباء', 'ELEC-9920', 'سداد فوري محفظة أورنج كاش', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('4', 'SY-90aafe924e402fd6e8e0c756af4a4567', 'EXP-2026-004', 'رواتب وسلف', 'سلف أسبوعية لعمال قسم القص والتشغيل', '2800.00', '1', '2026-02-19', 'عمال الورشة والقص', 'SLF-0219', 'سلفيات تحت حساب راتب الشهر', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('5', 'SY-5a7e6195684319e80a106c558f0acf4d', 'EXP-2026-005', 'نقل ومواصلات', 'شحن وتوصيل طلبيات أقمشة وإكسسوارات', '650.00', '1', '2026-02-21', 'سيارة نقل بضائع', 'TRN-554', 'نقل بضاعة من المحلة الكبرى للقاهرة', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('6', 'SY-e69e150a416674d5d91d0ccd2b7b0061', 'EXP-2026-006', 'بوفيه ومأكولات', 'مستلزمات البوفيه وضيافة العملاء والعمال', '480.00', '1', '2026-02-22', 'سوبر ماركت الهدى', 'BF-302', 'شاي وسكر ومشروبات وضيافة', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42');


-- --------------------------------------------------------
-- هيكل وبيانات الجدول: `work_orders`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `work_orders`;
CREATE TABLE IF NOT EXISTS `work_orders` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sync_uid` varchar(64) DEFAULT NULL,
  `job_code` varchar(50) NOT NULL,
  `customer_id` int(11) DEFAULT NULL,
  `invoice_id` int(11) DEFAULT NULL,
  `invoice_item_id` int(11) DEFAULT NULL,
  `item_type` varchar(50) DEFAULT 'detailed',
  `model_name` varchar(255) NOT NULL,
  `stage` varchar(100) NOT NULL,
  `quantity` decimal(10,2) NOT NULL DEFAULT 1.00,
  `unit_price` decimal(10,2) NOT NULL DEFAULT 0.00,
  `total_price` decimal(12,2) NOT NULL DEFAULT 0.00,
  `worker_name` varchar(150) DEFAULT NULL,
  `status` enum('pending','in_progress','completed','delivered','cancelled') NOT NULL DEFAULT 'in_progress',
  `priority` enum('normal','urgent','high') NOT NULL DEFAULT 'normal',
  `start_date` date NOT NULL,
  `delivery_date` date DEFAULT NULL,
  `notes` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `is_deleted` tinyint(1) DEFAULT 0,
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `job_code` (`job_code`),
  KEY `customer_id` (`customer_id`),
  KEY `idx_work_orders_sync_uid` (`sync_uid`),
  CONSTRAINT `work_orders_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

INSERT INTO `work_orders` (`id`, `sync_uid`, `job_code`, `customer_id`, `invoice_id`, `invoice_item_id`, `item_type`, `model_name`, `stage`, `quantity`, `unit_price`, `total_price`, `worker_name`, `status`, `priority`, `start_date`, `delivery_date`, `notes`, `created_at`, `is_deleted`, `updated_at`) VALUES
('1', 'SY-455d08dc75f700dde2d0b7e8d3c30f9f', 'JOB-2026-001', NULL, NULL, NULL, 'detailed', 'سالوبيت أطفال صيفي موديل 2026', 'عراوي وأزرار', '4983.00', '3.00', '14949.00', 'الأسطى أحمد محمود', 'completed', 'high', '2026-02-01', '2026-02-08', 'تشغيل ٢ عراوي و ٤ أزرار لكل قطعة', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('2', 'SY-fa3c2fd8849c77cef132e433f53df5c4', 'JOB-2026-002', NULL, NULL, NULL, 'detailed', 'فستان أطفال سواريه مشجر', 'عراوي وأزرار', '755.00', '5.50', '4152.50', 'محمود رضا', 'completed', 'normal', '2026-02-05', '2026-02-08', '٥ عراوي و ٥ زراير و ١ زرار بومبي', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('3', 'SY-2d072568896d367d263ca12d56d9351f', 'JOB-2026-003', NULL, NULL, NULL, 'detailed', 'قميص رجالي كلاسيك كاروهات', 'قص وتشغيل وتجميع', '2500.00', '4.00', '10000.00', 'محمد علي حسن', 'in_progress', 'urgent', '2026-02-12', '2026-02-28', '٨ زراير كلاسيك مع كبس أساور وياقة', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('4', 'SY-b44cea6ec1ea05670a411bd1deda4644', 'JOB-2026-004', NULL, NULL, NULL, 'detailed', 'مريلة يونيفورم مدرسي أزرق كحلي', 'خياطة وكبس', '3000.00', '1.50', '4500.00', 'خالد عبد الله', 'in_progress', 'normal', '2026-02-15', '2026-03-02', '٣ زراير وجيب أمامي وطباعة اللوجو', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('5', 'SY-4d2e32a35f4356c0f88f29c0c87087eb', 'JOB-2026-005', NULL, NULL, NULL, 'detailed', 'عباية خروج حريمي شيفون ملكي', 'تطريز وفينش', '850.00', '6.00', '5100.00', 'الأسطى إبراهيم صبري', 'pending', 'urgent', '2026-02-22', '2026-03-05', '٨ زراير كبس وتطريز أكمام', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('6', 'SY-23f3fc63fb87de91a336c7cfe11d87b4', 'JOB-2026-006', NULL, NULL, NULL, 'detailed', 'شيميز أطفال كاجوال قطن', 'عراوي وأزرار وكبس', '1200.00', '3.50', '4200.00', 'أحمد محمود', 'delivered', 'normal', '2026-02-10', '2026-02-16', 'تم التسليم والفوترة في فاتورة #INV-2026-002', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42');


-- --------------------------------------------------------
-- هيكل وبيانات الجدول: `employee_attendance`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `employee_attendance`;
CREATE TABLE IF NOT EXISTS `employee_attendance` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sync_uid` varchar(64) DEFAULT NULL,
  `employee_id` int(11) NOT NULL,
  `attendance_date` date NOT NULL,
  `check_in` time DEFAULT NULL,
  `check_out` time DEFAULT NULL,
  `status` enum('present','absent','leave','half_day') DEFAULT 'present',
  `work_hours` decimal(5,2) DEFAULT 8.00,
  `regular_hours` decimal(5,2) DEFAULT 8.00,
  `hourly_rate` decimal(10,2) DEFAULT 0.00,
  `late_hours` decimal(5,2) DEFAULT 0.00,
  `late_amount` decimal(10,2) DEFAULT 0.00,
  `overtime_hours` decimal(5,2) DEFAULT 0.00,
  `overtime_rate` decimal(10,2) DEFAULT 0.00,
  `overtime_amount` decimal(12,2) DEFAULT 0.00,
  `notes` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `is_deleted` tinyint(1) DEFAULT 0,
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `employee_id` (`employee_id`),
  KEY `idx_employee_attendance_sync_uid` (`sync_uid`),
  CONSTRAINT `employee_attendance_ibfk_1` FOREIGN KEY (`employee_id`) REFERENCES `employees` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

INSERT INTO `employee_attendance` (`id`, `sync_uid`, `employee_id`, `attendance_date`, `check_in`, `check_out`, `status`, `work_hours`, `regular_hours`, `hourly_rate`, `late_hours`, `late_amount`, `overtime_hours`, `overtime_rate`, `overtime_amount`, `notes`, `created_at`, `is_deleted`, `updated_at`) VALUES
('1', 'SY-508cd73b05e7af7c2a0bef7c63fcc8e9', '1', '2026-02-18', NULL, NULL, 'present', '8.00', '8.00', '0.00', '0.00', '0.00', '3.00', '50.00', '150.00', 'سهرة تشغيل طلبية السباعي', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('2', 'SY-b0e940713b99c994f706b0ec2fcec5a7', '1', '2026-02-19', NULL, NULL, 'present', '8.00', '8.00', '0.00', '0.00', '0.00', '2.50', '50.00', '125.00', 'سهرة إنهاء عراوي سالوبيت', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('3', 'SY-5e3a3510150223c08dc3f1ec53fa9f0b', '1', '2026-02-20', NULL, NULL, 'present', '8.00', '8.00', '0.00', '0.00', '0.00', '4.00', '50.00', '200.00', 'سهرة يوم الجمعة تسليم مستعجل', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('4', 'SY-c8f9a7e608b8735331b497fb3a266e1a', '2', '2026-02-18', NULL, NULL, 'present', '8.00', '8.00', '0.00', '0.00', '0.00', '2.00', '40.00', '80.00', 'سهر وردية مسائية', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('5', 'SY-777eb915a51a448a5ecdb58c59c6876f', '2', '2026-02-19', NULL, NULL, 'present', '8.00', '8.00', '0.00', '0.00', '0.00', '3.00', '40.00', '120.00', 'سهر تشغيل كباسين قمصان', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('6', 'SY-d2e8c5b9ef6aebd9eda1d3971f7e7044', '3', '2026-02-18', NULL, NULL, 'present', '8.00', '8.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', 'حضور عادي', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('7', 'SY-8b6b6afc491f93e207681c586d795749', '3', '2026-02-19', NULL, NULL, 'present', '8.00', '8.00', '0.00', '0.00', '0.00', '2.00', '45.00', '90.00', 'سهرة قص قماش يونيفورم', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('8', 'SY-d9c8a9fea76d5cb779ddb944522ce24c', '4', '2026-02-20', NULL, NULL, 'present', '8.00', '8.00', '0.00', '0.00', '0.00', '3.50', '40.00', '140.00', 'سهرة كي وتغليف عبايات', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42');


-- --------------------------------------------------------
-- هيكل وبيانات الجدول: `employee_transactions`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `employee_transactions`;
CREATE TABLE IF NOT EXISTS `employee_transactions` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sync_uid` varchar(64) DEFAULT NULL,
  `trx_number` varchar(50) NOT NULL,
  `employee_id` int(11) NOT NULL,
  `type` enum('advance','bonus','deduction','salary_payment') NOT NULL,
  `amount` decimal(12,2) NOT NULL,
  `safe_id` int(11) DEFAULT NULL,
  `trx_date` date NOT NULL,
  `reason` varchar(255) NOT NULL,
  `receipt_number` varchar(100) DEFAULT NULL,
  `notes` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `is_deleted` tinyint(1) DEFAULT 0,
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `trx_number` (`trx_number`),
  KEY `employee_id` (`employee_id`),
  KEY `safe_id` (`safe_id`),
  KEY `idx_employee_transactions_sync_uid` (`sync_uid`),
  CONSTRAINT `employee_transactions_ibfk_1` FOREIGN KEY (`employee_id`) REFERENCES `employees` (`id`) ON DELETE CASCADE,
  CONSTRAINT `employee_transactions_ibfk_2` FOREIGN KEY (`safe_id`) REFERENCES `safes` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

INSERT INTO `employee_transactions` (`id`, `sync_uid`, `trx_number`, `employee_id`, `type`, `amount`, `safe_id`, `trx_date`, `reason`, `receipt_number`, `notes`, `created_at`, `is_deleted`, `updated_at`) VALUES
('1', 'SY-d6128290b00dd215e0deec962af44394', 'ADV-2026-001', '1', 'advance', '1500.00', '1', '2026-02-10', 'سلفة نقدية تحت حساب الراتب', 'SLF-101', 'سلفة أول الشهر', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('2', 'SY-43e54b72b4ef88e9c06ac658b9c6cddc', 'ADV-2026-002', '1', 'advance', '500.00', '1', '2026-02-19', 'سلفة أسبوعية مصاريف', 'SLF-102', 'سلفة كاش من الخزينة', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('3', 'SY-187f072767f969ad259bc8c8c95addf2', 'ADV-2026-003', '2', 'advance', '800.00', '1', '2026-02-15', 'سلفة مصاريف علاج وعائلية', 'SLF-103', 'سلفة كاش', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('4', 'SY-1afc5b6afbb23ede54e1e48a84cfea85', 'ADV-2026-004', '3', 'bonus', '500.00', NULL, '2026-02-18', 'مكافأة إتقان وسرعة قص العينات', 'BON-201', 'مكافأة جودة الإنتاج', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42'),
('5', 'SY-8cd0f651099df3a5e87b9c0464545842', 'ADV-2026-005', '4', 'advance', '600.00', '2', '2026-02-16', 'تحويل سلفة فودافون كاش', 'SLF-104', 'سلفة على المحفظة', '2026-09-03 21:00:42', '0', '2026-09-03 21:00:42');

SET FOREIGN_KEY_CHECKS=1;
