-- Migration: Create terms_conditions table for managing document terms and conditions
-- Date: 2026-02-22

CREATE TABLE IF NOT EXISTS terms_conditions (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    company_id BIGINT UNSIGNED NOT NULL,
    document_type VARCHAR(50) NOT NULL COMMENT 'vendor_bill, purchase_order, grn, rfq',
    display_order INT NOT NULL DEFAULT 0,
    term_title_en VARCHAR(200) NOT NULL,
    term_title_ar VARCHAR(200) NOT NULL,
    term_text_en TEXT NOT NULL,
    term_text_ar TEXT NOT NULL,
    is_default TINYINT NOT NULL DEFAULT 0 COMMENT 'True if this is a default system term',
    is_active TINYINT NOT NULL DEFAULT 1,
    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at DATETIME NULL,
    deleted_at DATETIME NULL,
    INDEX idx_company_doc (company_id, document_type),
    INDEX idx_document (document_type),
    INDEX idx_order (display_order),
    CONSTRAINT fk_terms_company FOREIGN KEY (company_id) REFERENCES companies(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Storage for document terms and conditions per company and document type';

-- Insert default terms for Vendor Bill
INSERT INTO terms_conditions (company_id, document_type, display_order, term_title_en, term_title_ar, term_text_en, term_text_ar, is_default, is_active) 
VALUES 
(1, 'vendor_bill', 1, 'Payment Terms', 'شروط الدفع', 'Due within {payment_days} days from invoice date', 'مستحق الدفع خلال {payment_days} يوم من تاريخ الفاتورة', 1, 1),
(1, 'vendor_bill', 2, 'Currency', 'العملة', '{currency} (Saudi Riyal)', '{currency} (الريال السعودي)', 1, 1),
(1, 'vendor_bill', 3, 'Dispute Resolution Period', 'فترة تسوية النزاعات', '10 calendar days from delivery date', '10 أيام تقويمية من تاريخ التسليم', 1, 1),
(1, 'vendor_bill', 4, 'Late Payment Penalties', 'غرامات التأخير', '1.5% monthly on overdue invoices', '1.5% شهري على الفواتير المتأخرة', 1, 1),
(1, 'vendor_bill', 5, 'Intellectual Property Rights', 'حقوق الملكية الفكرية', 'All items are Company property unless agreed otherwise', 'جميع العناصر ملك الشركة ما لم يتم الاتفاق على غير ذلك', 1, 1),
(1, 'vendor_bill', 6, 'Disputes', 'المنازعات', 'Must be reported within 10 days of receipt', 'يجب الإبلاغ عنها في غضون 10 أيام من الاستلام', 1, 1),

-- Insert default terms for Purchase Order
(1, 'purchase_order', 1, 'Payment Terms', 'شروط الدفع', 'Due within {payment_days} days of receipt', 'مستحق الدفع خلال {payment_days} يوم من الاستقبال', 1, 1),
(1, 'purchase_order', 2, 'Currency', 'العملة', '{currency} (Saudi Riyal)', '{currency} (الريال السعودي)', 1, 1),
(1, 'purchase_order', 3, 'Dispute Resolution Period', 'فترة تسوية النزاعات', '10 calendar days from delivery date', '10 أيام تقويمية من تاريخ التسليم', 1, 1),
(1, 'purchase_order', 4, 'Late Payment Penalties', 'غرامات التأخير', '1.5% monthly on overdue invoices', '1.5% شهري على الفواتير المتأخرة', 1, 1),
(1, 'purchase_order', 5, 'Intellectual Property Rights', 'حقوق الملكية الفكرية', 'All items are Company property unless agreed otherwise', 'جميع العناصر ملك الشركة ما لم يتم الاتفاق على غير ذلك', 1, 1),
(1, 'purchase_order', 6, 'Disputes', 'المنازعات', 'Must be reported within 10 days of receipt', 'يجب الإبلاغ عنها في غضون 10 أيام من الاستلام', 1, 1),

-- Insert default terms for GRN
(1, 'grn', 1, 'Payment Terms', 'شروط الدفع', 'Due within {payment_days} days from delivery', 'مستحق الدفع خلال {payment_days} يوم من التسليم', 1, 1),
(1, 'grn', 2, 'Currency', 'العملة', '{currency} (Saudi Riyal)', '{currency} (الريال السعودي)', 1, 1),
(1, 'grn', 3, 'Goods Verification Period', 'فترة التحقق من البضائع', '10 calendar days from delivery', '10 أيام تقويمية من التسليم', 1, 1),
(1, 'grn', 4, 'Quality Issues', 'مشاكل الجودة', 'Must be reported within 10 days of receipt', 'يجب الإبلاغ عنها في غضون 10 أيام من الاستقبال', 1, 1),
(1, 'grn', 5, 'Intellectual Property Rights', 'حقوق الملكية الفكرية', 'All goods are Company property', 'جميع البضائع ملك الشركة', 1, 1),
(1, 'grn', 6, 'Dispute Period', 'فترة النزاع', 'Claims must be submitted within 10 days', 'يجب تقديم المطالبات في غضون 10 أيام', 1, 1),

-- Insert default terms for RFQ
(1, 'rfq', 1, 'Quotation Validity', 'صلاحية العروض', '30 days from RFQ date', '30 يوم من تاريخ طلب العرض', 1, 1),
(1, 'rfq', 2, 'Currency', 'العملة', '{currency} (Saudi Riyal)', '{currency} (الريال السعودي)', 1, 1),
(1, 'rfq', 3, 'Required Delivery', 'التسليم المطلوب', 'As specified in RFQ lines', 'كما هو محدد في بنود طلب العرض', 1, 1),
(1, 'rfq', 4, 'Quotation Response Deadline', 'الموعد النهائي للرد على العرض', 'Within 10 business days of RFQ', 'في غضون 10 أيام عمل من طلب العرض', 1, 1),
(1, 'rfq', 5, 'Intellectual Property Rights', 'حقوق الملكية الفكرية', 'All items quoted are for Company use only', 'جميع العناصر المعروضة للاستخدام الخاص بالشركة فقط', 1, 1),
(1, 'rfq', 6, 'Confidentiality', 'السرية', 'All quotation details are confidential and for evaluation only', 'جميع تفاصيل العرض سرية وللتقييم فقط', 1, 1);
