const fs = require('fs');

if (fs.existsSync('app_final.js')) {
    let js = fs.readFileSync('app_final.js', 'utf8');

    // 1. Fix approveSettlement journal entry format
    const searchApprove = `const je = {
                date: s.date,
                description: 'اعتماد مصروفات تسوية عهدة رقم ' + s.id,
                lines: journalLines,
                user: currentUser.username,
                type: 'settlement',
                ref_id: s.id
            };`;
            
    const replaceApprove = `const je = {
                date: s.date,
                reference: 'تسوية عهدة #' + s.id,
                desc: 'اعتماد مصروفات تسوية عهدة رقم ' + s.id,
                rows: journalLines,
                total: expensesTotal,
                status: 'posted',
                created_by: currentUser.username,
                user: currentUser.username,
                type: 'settlement',
                ref_id: s.id
            };`;
            
    js = js.replace(searchApprove, replaceApprove);


    // 2. Fix generatePurchasesJournal descriptions for settlements
    const searchJournal = `const journal = {
    date: invoice.date.split('T')[0],
    reference: \`فاتورة مشتريات #\${invoice.id}\`,
    desc: \`قيد آلي لفاتورة المشتريات رقم \${invoice.id}\`,
    status: 'posted',`;
    
    const replaceJournal = `const journal = {
    date: invoice.date.split('T')[0],
    reference: invoice.is_from_settlement ? \`تسوية عهدة #\${invoice.settlement_ref}\` : \`فاتورة مشتريات #\${invoice.id}\`,
    desc: invoice.is_from_settlement ? \`قيد آلي لإضافة مخزون من تسوية عهدة رقم \${invoice.settlement_ref}\` : \`قيد آلي لفاتورة المشتريات رقم \${invoice.id}\`,
    status: 'posted',`;
    
    js = js.replace(searchJournal, replaceJournal);

    fs.writeFileSync('app_final.js', js, 'utf8');
    console.log('Fixed journal entry formats for settlements.');
}

// Cache buster
if (fs.existsSync('index.html')) {
    let html = fs.readFileSync('index.html', 'utf8');
    html = html.replace(/v=\d+/g, 'v=' + Date.now());
    fs.writeFileSync('index.html', html, 'utf8');
}
