<?php
require("../../classes/autoload.php"); // Make sure FPDF is included

$invoice_res = $db->query('supplier_orders', "SELECT * FROM supplier_orders WHERE record_id = '{$_GET['record_id']}'");
$invoice = $invoice_res->fetch_assoc();

$company_res = $db->query("company_info", "SELECT * FROM company_info WHERE record_id = 1");
$company = $company_res->fetch_assoc();

$client_details_res = $db->query("suppliers", "SELECT * FROM suppliers WHERE record_id = '{$invoice['supplier_id']}'");
$client = $client_details_res->fetch_assoc();

$invoice_list_res = $db->query("supplier_order_list", "SELECT * FROM supplier_order_list WHERE supplier_order_id = '{$_GET['record_id']}'");
$index = 1;

$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial', '', 12);

// Logos
$pdf->Image('../../assets/logo.png', 10, 15, 40);
$pdf->Image('../../assets/logo_2.png', 170, 10, 30);

// Title
$pdf->SetFont('Arial', 'B', 16);
$pdf->Cell(0, 20, 'ORDER NO: ' . $invoice['supplier_order_no'], 0, 1, 'C');
$pdf->Ln(10);

// Client Details
$pdf->SetFont('Arial', 'B', 10);
$pdf->Cell(100, 8, $client['name'], 0, 0);
$pdf->Cell(80, 8, $company['name'], 0, 1);
$pdf->SetFont('Arial', '', 9);

$pdf->Cell(100, 8, $client['email'], 0, 0);
$pdf->Cell(80, 8, "Reg: " . $company['reg'] . " | Vat NR: " . $company['vat'], 0, 1);

$pdf->Cell(100, 8, $client['contact_person'], 0, 0);
$pdf->Cell(80, 8, "TEL: " . $company['tel'], 0, 1);

$pdf->Cell(100, 8, $client['contact_number'], 0, 0);
$pdf->Cell(80, 8, "EMAIL: " . $company['email'], 0, 1);
$pdf->MultiCell(100, 8, $client['address']);
$pdf->Ln(6);
$pdf->SetXY(110, 72);
$pdf->MultiCell(80, 8, $company['address_line_1'] . " " . $company['address_line_2'] . " " . $company['address_line_3']);

// $pdf->Ln(5);


// Quote Info
$pdf->SetFont('Arial', 'B', 10);
$pdf->Cell(26, 6, "DATE: ", 0, 0);
$pdf->SetFont('Arial', '', 10);
$pdf->Cell(50, 6, $invoice['date_time'], 0, 1);

// Table Header
$pdf->SetFont('Arial', 'B', 8);
$pdf->SetFillColor(200, 200, 200);
$pdf->Cell(20, 7, 'Code', 1, 0, 'C', true);
$pdf->Cell(65, 7, 'Description', 1, 0, 'C', true);
$pdf->Cell(12, 7, 'U.O.M', 1, 0, 'C', true);
$pdf->Cell(15, 7, 'Qty', 1, 0, 'C', true);
$pdf->Cell(15, 7, 'Size', 1, 0, 'C', true);
$pdf->Cell(15, 7, 'Panels', 1, 0, 'C', true);
$pdf->Cell(25, 7, 'Amount', 1, 0, 'C', true);
$pdf->Cell(25, 7, 'Total', 1, 1, 'C', true);

// Table Body
$pdf->SetFont('Arial', '', 6);
$subtotal = 0;


foreach ($invoice_list_res as $invoice_list) {
    $stock_res = $db->query("stock", "SELECT * FROM stock WHERE record_id = '{$invoice_list['stock_id']}'");
    $stock = $stock_res->fetch_assoc();

    // Clean price string
    $price = (float) preg_replace('/[^0-9\.,]/', '', str_replace(['R', '�', 'Â', ','], '', utf8_decode($invoice_list['price'])));
    $qty = (float) $invoice_list['qty']; // make sure qty is float/int

    $total = $price * $qty;
    $subtotal += $total;

    $pdf->Cell(20, 7, $stock['code'], 1);
    $pdf->Cell(65, 7, $stock['name'], 1);
    $pdf->Cell(12, 7, $stock['unit_of_measure'], 1);
    $pdf->Cell(15, 7, $qty, 1, 0, 'C');
    $pdf->Cell(15, 7, $invoice_list['size_m'], 1, 0, 'C');
    $pdf->Cell(15, 7, $invoice_list['pannels'], 1, 0, 'C');
    $pdf->Cell(25, 7, 'R ' . number_format($price, 2), 1, 0, 'L'); // use cleaned float
    $pdf->Cell(25, 7, 'R ' . number_format($total, 2), 1, 1, 'L');
}
// Totals
$vat = $subtotal * 0.15;
$net_total = $subtotal + $vat;

$pdf->Cell(167, 7, 'Subtotal', 0, 0, 'R');
$pdf->Cell(25, 7, 'R ' . number_format($subtotal, 2), 1, 1, 'L');

$pdf->Cell(167, 7, 'VAT (15%)', 0, 0, 'R');
$pdf->Cell(25, 7, 'R ' . number_format($vat, 2), 1, 1, 'L');

$pdf->Cell(167, 7, 'Net Total', 0, 0, 'R');
$pdf->Cell(25, 7, 'R ' . number_format($net_total, 2), 1, 1, 'L');

// get payments
$payment_res = $db->query("payments", "SELECT SUM(amount) as total FROM payments WHERE invoice_id = '{$_GET['record_id']}'");
$payment = $payment_res->fetch_assoc();
$payments = $payment['total'];


// Output PDF
$pdf->Output('I', 'supplier_order.pdf');
