
-- Add new print setting for displaying date and time on receipts
INSERT INTO `settings` (`id`, `store_id`, `category_id`, `name`, `code`, `type`, `value`, `default_value`, `description`, `is_active`) VALUES
(NULL, NULL, 1, 'Print Date and Time', 'print_datetime', 'boolean', '1', '1', 'Display date and time on printed receipts', 1);





-- Add new print setting for displaying remarks on receipts
INSERT INTO `settings` (`id`, `store_id`, `category_id`, `name`, `code`, `type`, `value`, `default_value`, `description`, `is_active`) VALUES
(NULL, NULL, 1, 'Print Remarks', 'print_remarks', 'boolean', '1', '1', 'Display remarks/notes on printed receipts', 1);



-- Add new right
INSERT INTO rights (name, description, category) VALUES ('Edit Sale Price in POS', 'Allows editing item prices during sale in POS', 'POS');

-- Assign to Admin role (assuming Admin has role_id = 1)
INSERT INTO role_rights (role_id, right_id) VALUES (1, (SELECT id FROM rights WHERE name = 'Edit Sale Price in POS'));








-- Rename kot_devices to print_devices
RENAME TABLE `kot_devices` TO `print_devices`;

-- Add new columns to print_devices
ALTER TABLE `print_devices` ADD COLUMN `print_type` ENUM('receipt', 'kot', 'barcode', 'quotation', 'shift_summary', 'all') DEFAULT 'all' AFTER `connection_type`;
ALTER TABLE `print_devices` ADD COLUMN `is_default` TINYINT(1) DEFAULT '0' AFTER `is_active`;
ALTER TABLE `print_devices` ADD COLUMN `printer_type` ENUM('thermal', 'dot_matrix', 'laser', 'inkjet') DEFAULT 'thermal' AFTER `printer_name`;
ALTER TABLE `print_devices` ADD COLUMN `auto_detect` TINYINT(1) DEFAULT '1' AFTER `is_default`;
ALTER TABLE `print_devices` ADD COLUMN `print_mode` ENUM('ask', 'auto', 'no') DEFAULT 'auto' AFTER `printer_type`;

-- Update existing records to have proper print_type
UPDATE `print_devices` SET `print_type` = 'kot' WHERE `print_type` = 'all';

-- Add print method setting
INSERT INTO `settings` (`id`, `store_id`, `category_id`, `name`, `code`, `type`, `value`, `default_value`, `description`, `is_active`) VALUES
(NULL, NULL, 1, 'Print Method', 'print_method', 'select', 'popup', 'popup', 'Choose print method: Popup (browser dialog) or Direct (use configured devices)', 1);

-- Add global print mode setting
INSERT INTO `settings` (`id`, `store_id`, `category_id`, `name`, `code`, `type`, `value`, `default_value`, `description`, `is_active`) VALUES
(NULL, NULL, 1, 'Global Print Mode', 'global_print_mode', 'select', 'ask', 'ask', 'Global print behavior: Ask (prompt user), Auto (direct print), No (no print)', 1);

-- Get the setting IDs for options
SET @print_method_id = (SELECT id FROM settings WHERE code = 'print_method' ORDER BY id DESC LIMIT 1);
SET @global_print_mode_id = (SELECT id FROM settings WHERE code = 'global_print_mode' ORDER BY id DESC LIMIT 1);

-- Add options for print method
INSERT INTO `setting_options` (`id`, `setting_id`, `option_label`, `option_value`) VALUES
(NULL, @print_method_id, 'Popup (Browser Dialog)', 'popup'),
(NULL, @print_method_id, 'Direct to Device', 'direct');

-- Add options for global print mode
INSERT INTO `setting_options` (`id`, `setting_id`, `option_label`, `option_value`) VALUES
(NULL, @global_print_mode_id, 'Ask User', 'ask'),
(NULL, @global_print_mode_id, 'Auto Print', 'auto'),
(NULL, @global_print_mode_id, 'No Print', 'no');

-- Insert default devices if none exist
INSERT IGNORE INTO `print_devices` (`name`, `connection_type`, `print_type`, `printer_name`, `printer_type`, `is_active`, `is_default`, `auto_detect`, `print_mode`) VALUES
('Counter Receipt Printer', 'usb', 'receipt', 'Microsoft Print to PDF', 'thermal', 1, 1, 1, 'ask'),
('Kitchen KOT Printer', 'lan', 'kot', 'Kitchen Printer', 'thermal', 1, 1, 1, 'auto'),
('Barcode Label Printer', 'usb', 'barcode', 'Microsoft Print to PDF', 'thermal', 1, 0, 1, 'auto');

-- Create indexes for better performance
CREATE INDEX `idx_print_devices_type` ON `print_devices` (`print_type`);
CREATE INDEX `idx_print_devices_active` ON `print_devices` (`is_active`);
CREATE INDEX `idx_print_devices_default` ON `print_devices` (`is_default`);

-- Migration completed successfully
SELECT 'Print System Migration Completed Successfully!' as status;


-- Add general PIN column to users table
ALTER TABLE users ADD COLUMN pin VARCHAR(10) NULL;

-- Add per-user void PIN requirement setting
ALTER TABLE users ADD COLUMN pin_required_for_void BOOLEAN DEFAULT TRUE;






-- Production Orders Table - Main production orders
CREATE TABLE IF NOT EXISTS `production_orders` (
  `id` int NOT NULL AUTO_INCREMENT,
  `order_number` varchar(50) NOT NULL,
  `production_date` date NOT NULL,
  `status` enum('pending','in_progress','completed','cancelled') NOT NULL DEFAULT 'pending',
  `remarks` text,
  `total_cost` decimal(10,2) DEFAULT 0.00,
  `created_by` int NOT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `order_number` (`order_number`),
  KEY `production_date` (`production_date`),
  KEY `status` (`status`),
  KEY `created_by` (`created_by`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Production Items Table - Items being produced in each order
CREATE TABLE IF NOT EXISTS `production_items` (
  `id` int NOT NULL AUTO_INCREMENT,
  `production_order_id` int NOT NULL,
  `item_id` int NOT NULL,
  `quantity` decimal(10,2) NOT NULL,
  `unit_cost` decimal(10,2) DEFAULT 0.00,
  `total_cost` decimal(10,2) DEFAULT 0.00,
  `status` enum('pending','completed') NOT NULL DEFAULT 'pending',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `production_order_id` (`production_order_id`),
  KEY `item_id` (`item_id`),
  KEY `status` (`status`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Production Materials Table - BOM materials consumed during production
CREATE TABLE IF NOT EXISTS `production_materials` (
  `id` int NOT NULL AUTO_INCREMENT,
  `production_item_id` int NOT NULL,
  `material_item_id` int NOT NULL,
  `quantity_consumed` decimal(10,2) NOT NULL,
  `unit_cost` decimal(10,2) DEFAULT 0.00,
  `total_cost` decimal(10,2) DEFAULT 0.00,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `production_item_id` (`production_item_id`),
  KEY `material_item_id` (`material_item_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;





-- Add customer_id column to hold_orders table
ALTER TABLE `hold_orders` ADD COLUMN `customer_id` INT NULL AFTER `customer_name`;

-- Add index for better performance
ALTER TABLE `hold_orders` ADD INDEX `idx_customer_id` (`customer_id`);









-- Language Module Database Setup
-- Run this SQL file to set up the language system

-- Create languages table
CREATE TABLE IF NOT EXISTS `languages` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `code` varchar(5) NOT NULL,
  `name` varchar(50) NOT NULL,
  `native_name` varchar(50) NOT NULL,
  `flag` varchar(100) DEFAULT NULL,
  `rtl` tinyint(1) DEFAULT 0,
  `active` tinyint(1) DEFAULT 1,
  `created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Create translations table
CREATE TABLE IF NOT EXISTS `translations` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `language_code` varchar(5) NOT NULL,
  `key` varchar(255) NOT NULL,
  `value` text NOT NULL,
  `context` varchar(100) DEFAULT NULL,
  `created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_translation` (`language_code`, `key`),
  KEY `language_code` (`language_code`),
  KEY `key` (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Create user language preferences table
CREATE TABLE IF NOT EXISTS `user_language_preferences` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `language_code` varchar(5) NOT NULL,
  `created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_id` (`user_id`),
  KEY `language_code` (`language_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Insert default languages
INSERT INTO `languages` (`code`, `name`, `native_name`, `flag`, `rtl`, `active`) VALUES
('en', 'English', 'English', 'us.png', 0, 1),
('fa', 'Persian', 'فارسی', 'ir.png', 1, 1),
('ur', 'Urdu', 'اردو', 'pk.png', 1, 1);

-- Add language settings to settings table
INSERT INTO `settings` (`store_id`, `category_id`, `name`, `code`, `type`, `value`, `default_value`, `description`, `is_active`) VALUES
(NULL, 7, 'Default Language', 'default_language', 'select', 'en', 'en', 'Default system language', 1),
(NULL, 7, 'Language Switcher', 'language_switcher_enabled', 'boolean', '1', '1', 'Enable language switcher in header', 1),
(NULL, 7, 'RTL Support', 'rtl_support_enabled', 'boolean', '1', '1', 'Enable RTL (Right-to-Left) support', 1);

-- Insert comprehensive English translations
INSERT INTO `translations` (`language_code`, `key`, `value`, `context`) VALUES
-- Navigation
('en', 'dashboard', 'Dashboard', 'navigation'),
('en', 'sales', 'Sales', 'navigation'),
('en', 'purchases', 'Purchases', 'navigation'),
('en', 'inventory', 'Inventory', 'navigation'),
('en', 'reports', 'Reports', 'navigation'),
('en', 'settings', 'Settings', 'navigation'),
('en', 'users', 'Users', 'navigation'),
('en', 'customers', 'Customers', 'navigation'),
('en', 'suppliers', 'Suppliers', 'navigation'),
('en', 'items', 'Items', 'navigation'),
('en', 'categories', 'Categories', 'navigation'),
('en', 'language_management', 'Language Management', 'navigation'),
('en', 'features', 'Features', 'navigation'),
('en', 'license_info', 'License Info', 'navigation'),
('en', 'new_features', 'New Features', 'navigation'),
('en', 'check_updates', 'Check For Updates', 'navigation'),
('en', 'apply_update', 'Apply Update', 'navigation'),
('en', 'item_modifiers', 'Item Modifiers', 'navigation'),
('en', 'void_reasons', 'Void Reasons', 'navigation'),
('en', 'quotations', 'Quotations', 'navigation'),
('en', 'tables', 'Tables', 'navigation'),
('en', 'floors', 'Floors', 'navigation'),
('en', 'unit_of_measurement', 'Unit Of Measurement', 'navigation'),
('en', 'stock_transfer', 'Stock Transfer', 'navigation'),
('en', 'new_transfer_request', 'New Transfer Request', 'navigation'),
('en', 'transfer_approval', 'Transfer Approval', 'navigation'),
('en', 'stock_adjustment', 'Stock Adjustment', 'navigation'),
('en', 'new_adjustment', 'New Adjustment', 'navigation'),
('en', 'production', 'Production', 'navigation'),
('en', 'users_permissions', 'Users & Permissions', 'navigation'),
('en', 'order_takers', 'Order Takers', 'navigation'),
('en', 'riders', 'Riders', 'navigation'),
('en', 'delivery_orders', 'Delivery Orders', 'navigation'),
('en', 'expense_list', 'Expense List', 'navigation'),
('en', 'general_settings', 'General Settings', 'navigation'),
('en', 'branch_settings', 'Branch Settings', 'navigation'),
('en', 'store_management', 'Store Management', 'navigation'),
('en', 'tax_rate', 'Tax Rate', 'navigation'),

-- Buttons
('en', 'add_new', 'Add New', 'buttons'),
('en', 'edit', 'Edit', 'buttons'),
('en', 'delete', 'Delete', 'buttons'),
('en', 'save', 'Save', 'buttons'),
('en', 'cancel', 'Cancel', 'buttons'),
('en', 'search', 'Search', 'buttons'),
('en', 'filter', 'Filter', 'buttons'),
('en', 'export', 'Export', 'buttons'),
('en', 'import', 'Import', 'buttons'),
('en', 'update_translation', 'Update Translation', 'buttons'),
('en', 'add_translation', 'Add Translation', 'buttons'),
('en', 'update', 'Update', 'buttons'),
('en', 'skip', 'Skip', 'buttons'),
('en', 'void_order', 'Void Order', 'buttons'),
('en', 'confirm', 'Confirm', 'buttons'),
('en', 'close', 'Close', 'buttons'),
('en', 'submit', 'Submit', 'buttons'),
('en', 'reset', 'Reset', 'buttons'),
('en', 'back', 'Back', 'buttons'),
('en', 'next', 'Next', 'buttons'),
('en', 'previous', 'Previous', 'buttons'),
('en', 'finish', 'Finish', 'buttons'),

-- Labels
('en', 'current_language', 'Current Language', 'labels'),
('en', 'available_languages', 'Available Languages', 'labels'),
('en', 'translation_key', 'Translation Key', 'labels'),
('en', 'translation_value', 'Translation Value', 'labels'),
('en', 'rtl_support', 'RTL Support', 'labels'),
('en', 'language_switcher', 'Language Switcher', 'labels'),
('en', 'context', 'Context', 'labels'),
('en', 'name', 'Name', 'labels'),
('en', 'email', 'Email', 'labels'),
('en', 'phone', 'Phone', 'labels'),
('en', 'address', 'Address', 'labels'),
('en', 'status', 'Status', 'labels'),
('en', 'actions', 'Actions', 'labels'),
('en', 'price', 'Price', 'labels'),
('en', 'quantity', 'Quantity', 'labels'),
('en', 'total', 'Total', 'labels'),
('en', 'subtotal', 'Subtotal', 'labels'),
('en', 'tax', 'Tax', 'labels'),
('en', 'discount', 'Discount', 'labels'),
('en', 'grand_total', 'Grand Total', 'labels'),
('en', 'order_list', 'Order List', 'labels'),
('en', 'delivery_charges', 'Delivery Charges', 'labels'),
('en', 'notes', 'Notes', 'labels'),

-- Messages
('en', 'translation_updated', 'Translation updated successfully', 'messages'),
('en', 'translation_added', 'Translation added successfully', 'messages'),
('en', 'invalid_language', 'Invalid language selected', 'messages'),
('en', 'success', 'Success', 'messages'),
('en', 'error', 'Error', 'messages'),
('en', 'warning', 'Warning', 'messages'),
('en', 'info', 'Information', 'messages'),
('en', 'confirm_delete', 'Are you sure you want to delete this item?', 'messages'),
('en', 'confirm_void', 'Are you sure you want to void this order?', 'messages'),
('en', 'no_data_found', 'No data found', 'messages'),
('en', 'loading', 'Loading...', 'messages'),
('en', 'please_wait', 'Please wait...', 'messages'),

-- Placeholders
('en', 'search_product', 'Search product...', 'placeholders'),
('en', 'enter_notes', 'Enter any additional notes...', 'placeholders'),
('en', 'enter_name', 'Enter name...', 'placeholders'),
('en', 'enter_email', 'Enter email...', 'placeholders'),
('en', 'enter_phone', 'Enter phone...', 'placeholders'),
('en', 'enter_address', 'Enter address...', 'placeholders'),
('en', 'enter_price', 'Enter price...', 'placeholders'),
('en', 'enter_quantity', 'Enter quantity...', 'placeholders'),

-- Page Titles
('en', 'manage_customers', 'Manage your customers', 'page_titles'),
('en', 'manage_system_languages', 'Manage system languages and translations', 'page_titles'),
('en', 'click_category_settings', 'Click a category to load its settings', 'page_titles'),

-- Additional Navigation Items
('en', 'expenses', 'Expenses', 'navigation'),
('en', 'expense_accounts', 'Expense Accounts', 'navigation'),
('en', 'expense_categories', 'Expense Categories', 'navigation'),
('en', 'accounts', 'Accounts', 'navigation'),
('en', 'bank_accounts', 'Bank Accounts', 'navigation'),
('en', 'payments', 'Payments', 'navigation'),
('en', 'customer_payments', 'Customer Payments', 'navigation'),
('en', 'supplier_payments', 'Supplier Payments', 'navigation'),
('en', 'payment_methods', 'Payment Methods', 'navigation'),
('en', 'financials', 'Financials', 'navigation'),
('en', 'chart_of_accounts', 'Chart of Accounts', 'navigation'),
('en', 'account_mappings', 'Account Mappings', 'navigation'),
('en', 'journal_entries', 'Journal Entries', 'navigation'),
('en', 'financial_periods', 'Financial Periods', 'navigation'),
('en', 'trial_balance', 'Trial Balance', 'navigation'),
('en', 'general_ledger', 'General Ledger', 'navigation'),
('en', 'profit_loss', 'Profit & Loss', 'navigation'),
('en', 'financial_reports', 'Financial Reports', 'navigation'),
('en', 'hardware_devices', 'Hardware & Devices', 'navigation'),
('en', 'print_devices', 'Print Devices', 'navigation'),
('en', 'kds', 'KDS', 'navigation'),
('en', 'tablet_orders', 'Tablet Orders', 'navigation'),
('en', 'database_backup', 'Database Backup', 'navigation'),
('en', 'backup_management', 'Backup Management', 'navigation'),
('en', 'restore_database', 'Restore Database', 'navigation'),

-- Additional Buttons and Labels
('en', 'all', 'All', 'labels'),
('en', 'clear', 'Clear', 'buttons'),
('en', 'navigation', 'Navigation', 'labels'),
('en', 'buttons', 'Buttons', 'labels'),
('en', 'labels', 'Labels', 'labels'),
('en', 'messages', 'Messages', 'labels'),
('en', 'placeholders', 'Placeholders', 'labels'),
('en', 'page_titles', 'Page Titles', 'labels'),

-- Reports Section
('en', 'sales_report', 'Sales Report', 'navigation'),
('en', 'invoice_report', 'Invoice Report', 'navigation'),
('en', 'invoice_wise_profit_report', 'Invoice Wise Profit Report', 'navigation'),
('en', 'sale_return_report', 'Sale Return Report', 'navigation'),
('en', 'day_wise_sale_summary', 'Day Wise Sale Summary', 'navigation'),
('en', 'item_wise_sales_report', 'Item Wise Sales Report', 'navigation'),
('en', 'item_modifier_report', 'Item Modifier Report', 'navigation'),
('en', 'cashier_shift_report', 'Cashier Shift Report', 'navigation'),
('en', 'tax_wise_report', 'Tax Wise Report', 'navigation'),
('en', 'order_taker_report', 'Order Taker Report', 'navigation'),
('en', 'void_orders_report', 'Void Orders Report', 'navigation'),
('en', 'purchase_report', 'Purchase Report', 'navigation'),
('en', 'stock_balance_report', 'Stock Balance Report', 'navigation'),
('en', 'stock_valuation_report', 'Stock Valuation Report', 'navigation'),
('en', 'item_ledger_report', 'Item Ledger Report', 'navigation'),
('en', 'production_report', 'Production Report', 'navigation'),
('en', 'purchase_return_report', 'Purchase Return Report', 'navigation'),
('en', 'customer_ledger', 'Customer Ledger', 'navigation'),
('en', 'customer_statement', 'Customer Statement', 'navigation'),
('en', 'supplier_ledger', 'Supplier Ledger', 'navigation'),
('en', 'supplier_statement', 'Supplier Statement', 'navigation'),
('en', 'profit_loss_report', 'Profit & Loss Report', 'navigation'),
('en', 'account_ledger', 'Account Ledger', 'navigation'),
('en', 'accounts_report', 'Accounts Report', 'navigation');

-- Insert comprehensive Farsi translations
INSERT INTO `translations` (`language_code`, `key`, `value`, `context`) VALUES
-- Navigation
('fa', 'dashboard', 'داشبورد', 'navigation'),
('fa', 'sales', 'فروش', 'navigation'),
('fa', 'purchases', 'خرید', 'navigation'),
('fa', 'inventory', 'موجودی', 'navigation'),
('fa', 'reports', 'گزارشات', 'navigation'),
('fa', 'settings', 'تنظیمات', 'navigation'),
('fa', 'users', 'کاربران', 'navigation'),
('fa', 'customers', 'مشتریان', 'navigation'),
('fa', 'suppliers', 'تامین کنندگان', 'navigation'),
('fa', 'items', 'اقلام', 'navigation'),
('fa', 'categories', 'دسته بندی ها', 'navigation'),
('fa', 'language_management', 'مدیریت زبان', 'navigation'),
('fa', 'features', 'ویژگی ها', 'navigation'),
('fa', 'license_info', 'اطلاعات مجوز', 'navigation'),
('fa', 'new_features', 'ویژگی های جدید', 'navigation'),
('fa', 'check_updates', 'بررسی به روزرسانی', 'navigation'),
('fa', 'apply_update', 'اعمال به روزرسانی', 'navigation'),
('fa', 'item_modifiers', 'تغییرات اقلام', 'navigation'),
('fa', 'void_reasons', 'دلایل لغو', 'navigation'),
('fa', 'quotations', 'پیش فاکتورها', 'navigation'),
('fa', 'tables', 'جداول', 'navigation'),
('fa', 'floors', 'طبقات', 'navigation'),
('fa', 'unit_of_measurement', 'واحد اندازه گیری', 'navigation'),
('fa', 'stock_transfer', 'انتقال موجودی', 'navigation'),
('fa', 'new_transfer_request', 'درخواست انتقال جدید', 'navigation'),
('fa', 'transfer_approval', 'تایید انتقال', 'navigation'),
('fa', 'stock_adjustment', 'تنظیم موجودی', 'navigation'),
('fa', 'new_adjustment', 'تنظیم جدید', 'navigation'),
('fa', 'production', 'تولید', 'navigation'),
('fa', 'users_permissions', 'کاربران و مجوزها', 'navigation'),
('fa', 'order_takers', 'گیرندگان سفارش', 'navigation'),
('fa', 'riders', 'رانندگان', 'navigation'),
('fa', 'delivery_orders', 'سفارشات تحویل', 'navigation'),
('fa', 'expense_list', 'لیست هزینه ها', 'navigation'),
('fa', 'general_settings', 'تنظیمات عمومی', 'navigation'),
('fa', 'branch_settings', 'تنظیمات شعبه', 'navigation'),
('fa', 'store_management', 'مدیریت فروشگاه', 'navigation'),
('fa', 'tax_rate', 'نرخ مالیات', 'navigation'),

-- Buttons
('fa', 'add_new', 'افزودن جدید', 'buttons'),
('fa', 'edit', 'ویرایش', 'buttons'),
('fa', 'delete', 'حذف', 'buttons'),
('fa', 'save', 'ذخیره', 'buttons'),
('fa', 'cancel', 'لغو', 'buttons'),
('fa', 'search', 'جستجو', 'buttons'),
('fa', 'filter', 'فیلتر', 'buttons'),
('fa', 'export', 'صادرات', 'buttons'),
('fa', 'import', 'واردات', 'buttons'),
('fa', 'update_translation', 'به روزرسانی ترجمه', 'buttons'),
('fa', 'add_translation', 'افزودن ترجمه', 'buttons'),
('fa', 'update', 'به روزرسانی', 'buttons'),
('fa', 'skip', 'رد کردن', 'buttons'),
('fa', 'void_order', 'لغو سفارش', 'buttons'),
('fa', 'confirm', 'تایید', 'buttons'),
('fa', 'close', 'بستن', 'buttons'),
('fa', 'submit', 'ارسال', 'buttons'),
('fa', 'reset', 'بازنشانی', 'buttons'),
('fa', 'back', 'بازگشت', 'buttons'),
('fa', 'next', 'بعدی', 'buttons'),
('fa', 'previous', 'قبلی', 'buttons'),
('fa', 'finish', 'پایان', 'buttons'),

-- Labels
('fa', 'current_language', 'زبان فعلی', 'labels'),
('fa', 'available_languages', 'زبان های موجود', 'labels'),
('fa', 'translation_key', 'کلید ترجمه', 'labels'),
('fa', 'translation_value', 'مقدار ترجمه', 'labels'),
('fa', 'rtl_support', 'پشتیبانی راست به چپ', 'labels'),
('fa', 'language_switcher', 'تعویض زبان', 'labels'),
('fa', 'context', 'متن', 'labels'),
('fa', 'name', 'نام', 'labels'),
('fa', 'email', 'ایمیل', 'labels'),
('fa', 'phone', 'تلفن', 'labels'),
('fa', 'address', 'آدرس', 'labels'),
('fa', 'status', 'وضعیت', 'labels'),
('fa', 'actions', 'اقدامات', 'labels'),
('fa', 'price', 'قیمت', 'labels'),
('fa', 'quantity', 'تعداد', 'labels'),
('fa', 'total', 'مجموع', 'labels'),
('fa', 'subtotal', 'زیرمجموع', 'labels'),
('fa', 'tax', 'مالیات', 'labels'),
('fa', 'discount', 'تخفیف', 'labels'),
('fa', 'grand_total', 'مجموع کل', 'labels'),
('fa', 'order_list', 'لیست سفارشات', 'labels'),
('fa', 'delivery_charges', 'هزینه تحویل', 'labels'),
('fa', 'notes', 'یادداشت ها', 'labels'),

-- Messages
('fa', 'translation_updated', 'ترجمه با موفقیت به روزرسانی شد', 'messages'),
('fa', 'translation_added', 'ترجمه با موفقیت افزوده شد', 'messages'),
('fa', 'invalid_language', 'زبان انتخاب شده نامعتبر است', 'messages'),
('fa', 'success', 'موفقیت', 'messages'),
('fa', 'error', 'خطا', 'messages'),
('fa', 'warning', 'هشدار', 'messages'),
('fa', 'info', 'اطلاعات', 'messages'),
('fa', 'confirm_delete', 'آیا مطمئن هستید که می خواهید این مورد را حذف کنید؟', 'messages'),
('fa', 'confirm_void', 'آیا مطمئن هستید که می خواهید این سفارش را لغو کنید؟', 'messages'),
('fa', 'no_data_found', 'داده ای یافت نشد', 'messages'),
('fa', 'loading', 'در حال بارگذاری...', 'messages'),
('fa', 'please_wait', 'لطفا صبر کنید...', 'messages'),

-- Placeholders
('fa', 'search_product', 'جستجوی محصول...', 'placeholders'),
('fa', 'enter_notes', 'یادداشت های اضافی وارد کنید...', 'placeholders'),
('fa', 'enter_name', 'نام وارد کنید...', 'placeholders'),
('fa', 'enter_email', 'ایمیل وارد کنید...', 'placeholders'),
('fa', 'enter_phone', 'تلفن وارد کنید...', 'placeholders'),
('fa', 'enter_address', 'آدرس وارد کنید...', 'placeholders'),
('fa', 'enter_price', 'قیمت وارد کنید...', 'placeholders'),
('fa', 'enter_quantity', 'تعداد وارد کنید...', 'placeholders'),

-- Page Titles
('fa', 'manage_customers', 'مدیریت مشتریان خود', 'page_titles'),
('fa', 'manage_system_languages', 'مدیریت زبان های سیستم و ترجمه ها', 'page_titles'),
('fa', 'click_category_settings', 'برای بارگذاری تنظیمات روی دسته کلیک کنید', 'page_titles'),

-- Additional Navigation Items
('fa', 'expenses', 'هزینه ها', 'navigation'),
('fa', 'expense_accounts', 'حساب های هزینه', 'navigation'),
('fa', 'expense_categories', 'دسته بندی های هزینه', 'navigation'),
('fa', 'accounts', 'حساب ها', 'navigation'),
('fa', 'bank_accounts', 'حساب های بانکی', 'navigation'),
('fa', 'payments', 'پرداخت ها', 'navigation'),
('fa', 'customer_payments', 'پرداخت های مشتری', 'navigation'),
('fa', 'supplier_payments', 'پرداخت های تامین کننده', 'navigation'),
('fa', 'payment_methods', 'روش های پرداخت', 'navigation'),
('fa', 'financials', 'مالی', 'navigation'),
('fa', 'chart_of_accounts', 'نمودار حساب ها', 'navigation'),
('fa', 'account_mappings', 'نگاشت حساب ها', 'navigation'),
('fa', 'journal_entries', 'ورودی های دفتر روزنامه', 'navigation'),
('fa', 'financial_periods', 'دوره های مالی', 'navigation'),
('fa', 'trial_balance', 'تراز آزمایشی', 'navigation'),
('fa', 'general_ledger', 'دفتر کل عمومی', 'navigation'),
('fa', 'profit_loss', 'سود و زیان', 'navigation'),
('fa', 'financial_reports', 'گزارشات مالی', 'navigation'),
('fa', 'hardware_devices', 'سخت افزار و دستگاه ها', 'navigation'),
('fa', 'print_devices', 'دستگاه های چاپ', 'navigation'),
('fa', 'kds', 'KDS', 'navigation'),
('fa', 'tablet_orders', 'سفارشات تبلت', 'navigation'),
('fa', 'database_backup', 'پشتیبان گیری پایگاه داده', 'navigation'),
('fa', 'backup_management', 'مدیریت پشتیبان گیری', 'navigation'),
('fa', 'restore_database', 'بازیابی پایگاه داده', 'navigation'),

-- Additional Buttons and Labels
('fa', 'all', 'همه', 'labels'),
('fa', 'clear', 'پاک کردن', 'buttons'),
('fa', 'navigation', 'ناوبری', 'labels'),
('fa', 'buttons', 'دکمه ها', 'labels'),
('fa', 'labels', 'برچسب ها', 'labels'),
('fa', 'messages', 'پیام ها', 'labels'),
('fa', 'placeholders', 'متن های راهنما', 'labels'),
('fa', 'page_titles', 'عنوان های صفحه', 'labels'),

-- Reports Section
('fa', 'sales_report', 'گزارش فروش', 'navigation'),
('fa', 'invoice_report', 'گزارش فاکتور', 'navigation'),
('fa', 'invoice_wise_profit_report', 'گزارش سود بر اساس فاکتور', 'navigation'),
('fa', 'sale_return_report', 'گزارش برگشت فروش', 'navigation'),
('fa', 'day_wise_sale_summary', 'خلاصه فروش روزانه', 'navigation'),
('fa', 'item_wise_sales_report', 'گزارش فروش بر اساس آیتم', 'navigation'),
('fa', 'item_modifier_report', 'گزارش اصلاحات آیتم', 'navigation'),
('fa', 'cashier_shift_report', 'گزارش شیفت صندوق دار', 'navigation'),
('fa', 'tax_wise_report', 'گزارش بر اساس مالیات', 'navigation'),
('fa', 'order_taker_report', 'گزارش دریافت کننده سفارش', 'navigation'),
('fa', 'void_orders_report', 'گزارش سفارشات لغو شده', 'navigation'),
('fa', 'purchase_report', 'گزارش خرید', 'navigation'),
('fa', 'stock_balance_report', 'گزارش موجودی انبار', 'navigation'),
('fa', 'stock_valuation_report', 'گزارش ارزش گذاری موجودی', 'navigation'),
('fa', 'item_ledger_report', 'گزارش دفتر آیتم', 'navigation'),
('fa', 'production_report', 'گزارش تولید', 'navigation'),
('fa', 'purchase_return_report', 'گزارش برگشت خرید', 'navigation'),
('fa', 'customer_ledger', 'دفتر مشتری', 'navigation'),
('fa', 'customer_statement', 'صورت حساب مشتری', 'navigation'),
('fa', 'supplier_ledger', 'دفتر تامین کننده', 'navigation'),
('fa', 'supplier_statement', 'صورت حساب تامین کننده', 'navigation'),
('fa', 'profit_loss_report', 'گزارش سود و زیان', 'navigation'),
('fa', 'account_ledger', 'دفتر حساب', 'navigation'),
('fa', 'accounts_report', 'گزارش حساب ها', 'navigation');

-- Insert comprehensive Urdu translations
INSERT INTO `translations` (`language_code`, `key`, `value`, `context`) VALUES
-- Navigation
('ur', 'dashboard', 'ڈیش بورڈ', 'navigation'),
('ur', 'sales', 'سیلز', 'navigation'),
('ur', 'purchases', 'خریداری', 'navigation'),
('ur', 'inventory', 'انوینٹری', 'navigation'),
('ur', 'reports', 'رپورٹس', 'navigation'),
('ur', 'settings', 'سیٹنگز', 'navigation'),
('ur', 'users', 'صارفین', 'navigation'),
('ur', 'customers', 'کسٹمرز', 'navigation'),
('ur', 'suppliers', 'سپلائرز', 'navigation'),
('ur', 'items', 'آئٹمز', 'navigation'),
('ur', 'categories', 'کیٹگریز', 'navigation'),
('ur', 'language_management', 'زبان کا انتظام', 'navigation'),
('ur', 'features', 'فیچرز', 'navigation'),
('ur', 'license_info', 'لائسنس کی معلومات', 'navigation'),
('ur', 'new_features', 'نئے فیچرز', 'navigation'),
('ur', 'check_updates', 'اپڈیٹ چیک کریں', 'navigation'),
('ur', 'apply_update', 'اپڈیٹ لاگو کریں', 'navigation'),
('ur', 'item_modifiers', 'آئٹم موڈیفائرز', 'navigation'),
('ur', 'void_reasons', 'کینسل کرنے کی وجوہات', 'navigation'),
('ur', 'quotations', 'کوٹیشنز', 'navigation'),
('ur', 'tables', 'ٹیبلز', 'navigation'),
('ur', 'floors', 'فلورز', 'navigation'),
('ur', 'unit_of_measurement', 'پیمائش کی اکائی', 'navigation'),
('ur', 'stock_transfer', 'اسٹاک ٹرانسفر', 'navigation'),
('ur', 'new_transfer_request', 'نیا ٹرانسفر درخواست', 'navigation'),
('ur', 'transfer_approval', 'ٹرانسفر کی منظوری', 'navigation'),
('ur', 'stock_adjustment', 'اسٹاک ایڈجسٹمنٹ', 'navigation'),
('ur', 'new_adjustment', 'نیا ایڈجسٹمنٹ', 'navigation'),
('ur', 'production', 'پروڈکشن', 'navigation'),
('ur', 'users_permissions', 'صارفین اور اجازتیں', 'navigation'),
('ur', 'order_takers', 'آرڈر لینے والے', 'navigation'),
('ur', 'riders', 'رائیڈرز', 'navigation'),
('ur', 'delivery_orders', 'ڈیلیوری آرڈرز', 'navigation'),
('ur', 'expense_list', 'خرچوں کی فہرست', 'navigation'),
('ur', 'general_settings', 'جنرل سیٹنگز', 'navigation'),
('ur', 'branch_settings', 'برانچ سیٹنگز', 'navigation'),
('ur', 'store_management', 'اسٹور مینجمنٹ', 'navigation'),
('ur', 'tax_rate', 'ٹیکس کی شرح', 'navigation'),

-- Buttons
('ur', 'add_new', 'نیا شامل کریں', 'buttons'),
('ur', 'edit', 'ایڈٹ', 'buttons'),
('ur', 'delete', 'ڈیلیٹ', 'buttons'),
('ur', 'save', 'سیو', 'buttons'),
('ur', 'cancel', 'کینسل', 'buttons'),
('ur', 'search', 'سرچ', 'buttons'),
('ur', 'filter', 'فلٹر', 'buttons'),
('ur', 'export', 'ایکسپورٹ', 'buttons'),
('ur', 'import', 'امپورٹ', 'buttons'),
('ur', 'update_translation', 'ترجمہ اپڈیٹ کریں', 'buttons'),
('ur', 'add_translation', 'ترجمہ شامل کریں', 'buttons'),
('ur', 'update', 'اپڈیٹ', 'buttons'),
('ur', 'skip', 'سکیپ', 'buttons'),
('ur', 'void_order', 'آرڈر کینسل کریں', 'buttons'),
('ur', 'confirm', 'کنفرم', 'buttons'),
('ur', 'close', 'بند کریں', 'buttons'),
('ur', 'submit', 'سبمٹ', 'buttons'),
('ur', 'reset', 'ری سیٹ', 'buttons'),
('ur', 'back', 'واپس', 'buttons'),
('ur', 'next', 'اگلا', 'buttons'),
('ur', 'previous', 'پچھلا', 'buttons'),
('ur', 'finish', 'ختم', 'buttons'),

-- Labels
('ur', 'current_language', 'موجودہ زبان', 'labels'),
('ur', 'available_languages', 'دستیاب زبانیں', 'labels'),
('ur', 'translation_key', 'ترجمہ کی کلید', 'labels'),
('ur', 'translation_value', 'ترجمہ کی قیمت', 'labels'),
('ur', 'rtl_support', 'RTL سپورٹ', 'labels'),
('ur', 'language_switcher', 'زبان سوئچر', 'labels'),
('ur', 'context', 'سیاق و سباق', 'labels'),
('ur', 'name', 'نام', 'labels'),
('ur', 'email', 'ای میل', 'labels'),
('ur', 'phone', 'فون', 'labels'),
('ur', 'address', 'پتہ', 'labels'),
('ur', 'status', 'حالت', 'labels'),
('ur', 'actions', 'اعمال', 'labels'),
('ur', 'price', 'قیمت', 'labels'),
('ur', 'quantity', 'مقدار', 'labels'),
('ur', 'total', 'کل', 'labels'),
('ur', 'subtotal', 'ذیلی کل', 'labels'),
('ur', 'tax', 'ٹیکس', 'labels'),
('ur', 'discount', 'ڈسکاؤنٹ', 'labels'),
('ur', 'grand_total', 'گرینڈ ٹوٹل', 'labels'),
('ur', 'order_list', 'آرڈر کی فہرست', 'labels'),
('ur', 'delivery_charges', 'ڈیلیوری چارجز', 'labels'),
('ur', 'notes', 'نوٹس', 'labels'),

-- Messages
('ur', 'translation_updated', 'ترجمہ کامیابی سے اپڈیٹ ہو گیا', 'messages'),
('ur', 'translation_added', 'ترجمہ کامیابی سے شامل ہو گیا', 'messages'),
('ur', 'invalid_language', 'غلط زبان منتخب کی گئی', 'messages'),
('ur', 'success', 'کامیابی', 'messages'),
('ur', 'error', 'خرابی', 'messages'),
('ur', 'warning', 'انتباہ', 'messages'),
('ur', 'info', 'معلومات', 'messages'),
('ur', 'confirm_delete', 'کیا آپ واقعی اس آئٹم کو ڈیلیٹ کرنا چاہتے ہیں؟', 'messages'),
('ur', 'confirm_void', 'کیا آپ واقعی اس آرڈر کو کینسل کرنا چاہتے ہیں؟', 'messages'),
('ur', 'no_data_found', 'کوئی ڈیٹا نہیں ملا', 'messages'),
('ur', 'loading', 'لوڈ ہو رہا ہے...', 'messages'),
('ur', 'please_wait', 'براہ کرم انتظار کریں...', 'messages'),

-- Placeholders
('ur', 'search_product', 'پروڈکٹ تلاش کریں...', 'placeholders'),
('ur', 'enter_notes', 'اضافی نوٹس درج کریں...', 'placeholders'),
('ur', 'enter_name', 'نام درج کریں...', 'placeholders'),
('ur', 'enter_email', 'ای میل درج کریں...', 'placeholders'),
('ur', 'enter_phone', 'فون درج کریں...', 'placeholders'),
('ur', 'enter_address', 'پتہ درج کریں...', 'placeholders'),
('ur', 'enter_price', 'قیمت درج کریں...', 'placeholders'),
('ur', 'enter_quantity', 'مقدار درج کریں...', 'placeholders'),

-- Page Titles
('ur', 'manage_customers', 'اپنے کسٹمرز کا انتظام کریں', 'page_titles'),
('ur', 'manage_system_languages', 'سسٹم کی زبانیں اور تراجم کا انتظام کریں', 'page_titles'),
('ur', 'click_category_settings', 'سیٹنگز لوڈ کرنے کے لیے کیٹگری پر کلک کریں', 'page_titles'),

-- Additional Navigation Items
('ur', 'expenses', 'خرچے', 'navigation'),
('ur', 'expense_accounts', 'خرچے کے اکاؤنٹس', 'navigation'),
('ur', 'expense_categories', 'خرچے کی کیٹگریز', 'navigation'),
('ur', 'accounts', 'اکاؤنٹس', 'navigation'),
('ur', 'bank_accounts', 'بینک اکاؤنٹس', 'navigation'),
('ur', 'payments', 'پیمنٹس', 'navigation'),
('ur', 'customer_payments', 'کسٹمر پیمنٹس', 'navigation'),
('ur', 'supplier_payments', 'سپلائر پیمنٹس', 'navigation'),
('ur', 'payment_methods', 'پیمنٹ کے طریقے', 'navigation'),
('ur', 'financials', 'مالی', 'navigation'),
('ur', 'chart_of_accounts', 'اکاؤنٹس کا چارٹ', 'navigation'),
('ur', 'account_mappings', 'اکاؤنٹ میپنگ', 'navigation'),
('ur', 'journal_entries', 'جرنل انٹریز', 'navigation'),
('ur', 'financial_periods', 'مالی ادوار', 'navigation'),
('ur', 'trial_balance', 'ٹرائل بیلنس', 'navigation'),
('ur', 'general_ledger', 'جنرل لیجر', 'navigation'),
('ur', 'profit_loss', 'منافع اور نقصان', 'navigation'),
('ur', 'financial_reports', 'مالی رپورٹس', 'navigation'),
('ur', 'hardware_devices', 'ہارڈویئر اور ڈیوائسز', 'navigation'),
('ur', 'print_devices', 'پرنٹ ڈیوائسز', 'navigation'),
('ur', 'kds', 'KDS', 'navigation'),
('ur', 'tablet_orders', 'ٹیبلٹ آرڈرز', 'navigation'),
('ur', 'database_backup', 'ڈیٹابیس بیک اپ', 'navigation'),
('ur', 'backup_management', 'بیک اپ مینجمنٹ', 'navigation'),
('ur', 'restore_database', 'ڈیٹابیس ریسٹور', 'navigation'),

-- Additional Buttons and Labels
('ur', 'all', 'سب', 'labels'),
('ur', 'clear', 'صاف کریں', 'buttons'),
('ur', 'navigation', 'نیویگیشن', 'labels'),
('ur', 'buttons', 'بٹنز', 'labels'),
('ur', 'labels', 'لیبلز', 'labels'),
('ur', 'messages', 'پیغامات', 'labels'),
('ur', 'placeholders', 'پلیس ہولڈرز', 'labels'),
('ur', 'page_titles', 'صفحہ کے عنوانات', 'labels'),

-- Reports Section
('ur', 'sales_report', 'سیلز رپورٹ', 'navigation'),
('ur', 'invoice_report', 'انوائس رپورٹ', 'navigation'),
('ur', 'invoice_wise_profit_report', 'انوائس وائز پرافٹ رپورٹ', 'navigation'),
('ur', 'sale_return_report', 'سیل ریٹرن رپورٹ', 'navigation'),
('ur', 'day_wise_sale_summary', 'ڈے وائز سیل سمیری', 'navigation'),
('ur', 'item_wise_sales_report', 'آئٹم وائز سیلز رپورٹ', 'navigation'),
('ur', 'item_modifier_report', 'آئٹم موڈیفائر رپورٹ', 'navigation'),
('ur', 'cashier_shift_report', 'کیشئیر شفٹ رپورٹ', 'navigation'),
('ur', 'tax_wise_report', 'ٹیکس وائز رپورٹ', 'navigation'),
('ur', 'order_taker_report', 'آرڈر ٹیکر رپورٹ', 'navigation'),
('ur', 'void_orders_report', 'وائڈ آرڈرز رپورٹ', 'navigation'),
('ur', 'purchase_report', 'پچیز رپورٹ', 'navigation'),
('ur', 'stock_balance_report', 'اسٹاک بیلنس رپورٹ', 'navigation'),
('ur', 'stock_valuation_report', 'اسٹاک ویلیوایشن رپورٹ', 'navigation'),
('ur', 'item_ledger_report', 'آئٹم لیجر رپورٹ', 'navigation'),
('ur', 'production_report', 'پروڈکشن رپورٹ', 'navigation'),
('ur', 'purchase_return_report', 'پچیز ریٹرن رپورٹ', 'navigation'),
('ur', 'customer_ledger', 'کسٹمر لیجر', 'navigation'),
('ur', 'customer_statement', 'کسٹمر سٹیٹمنٹ', 'navigation'),
('ur', 'supplier_ledger', 'سپلائر لیجر', 'navigation'),
('ur', 'supplier_statement', 'سپلائر سٹیٹمنٹ', 'navigation'),
('ur', 'profit_loss_report', 'پرافٹ اینڈ لاس رپورٹ', 'navigation'),
('ur', 'account_ledger', 'اکاؤنٹ لیجر', 'navigation'),
('ur', 'accounts_report', 'اکاؤنٹس رپورٹ', 'navigation');










-- Add chart_of_account_id column to bank_accounts table
ALTER TABLE `bank_accounts` 
ADD COLUMN `chart_of_account_id` int NULL AFTER `account_title`,
ADD COLUMN `mapped_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP AFTER `chart_of_account_id`,
ADD COLUMN `mapped_by` int NULL AFTER `mapped_at`;

-- Add foreign key constraint
ALTER TABLE `bank_accounts` 
ADD CONSTRAINT `fk_bank_accounts_chart_of_accounts` 
FOREIGN KEY (`chart_of_account_id`) REFERENCES `chart_of_accounts`(`id`) 
ON DELETE SET NULL ON UPDATE CASCADE;

-- Add index for better performance
ALTER TABLE `bank_accounts` 
ADD INDEX `idx_chart_of_account_id` (`chart_of_account_id`);

-- Add index for mapping tracking
ALTER TABLE `bank_accounts` 
ADD INDEX `idx_mapped_at` (`mapped_at`);

