<?php
/* Checked for PHP5.6 / 8.x compatibility */
include ("../../operainfo/getq.php");

// Get parameters from POST or GET
$companyid = safetext2(isset($_POST['companyid']) ? $_POST['companyid'] : (isset($_GET['companyid']) ? $_GET['companyid'] : ''));
$cid = $companyid;
$hostcompanyid = safetext2(isset($_POST['hostcompanyid']) ? $_POST['hostcompanyid'] : (isset($_GET['hostcompanyid']) ? $_GET['hostcompanyid'] : ''));

if (empty($companyid) || empty($hostcompanyid)) {
    die("Error: Required parameters companyid and hostcompanyid must be provided");
}

include ("../crm/showaddress.php");

// Process form submission after showaddress.php
if (isset($_POST['action']) && $_POST['action'] === 'create') {
    $description = safetext2($_POST['description']);
    $autopopulate = isset($_POST['autopopulate']) ? 1 : 0;
    // $nowis and $vui are set in getq.php
    $sql = "INSERT INTO supplier_prices_workinglist
              (hostcompanyid, companyid, description, createdon, createdby, status)
              VALUES (?, ?, ?, ?, ?, ?)";
    $stmt = pdoquery($sql, array($hostcompanyid, $companyid, $description, $nowis, $vui, 1));
    if ($stmt) {
        $sql = "SELECT id FROM supplier_prices_workinglist
                  WHERE createdby = ?
                  AND createdon = ?
                  ORDER BY id DESC LIMIT 1";
        $stmt = pdoquery($sql, array($vui, $nowis));
        $row = $stmt->fetch(PDO::FETCH_ASSOC);
        $workinglistid = $row['id'];
        
        // Debug information
        echo "<div style='background:#eee;padding:10px;margin:10px;border:1px solid #999;'>";
        echo "<h3>Debug Information</h3>";
        echo "<p>Working List ID: " . ($workinglistid ? $workinglistid : 'Not found') . "</p>";
        echo "<p>Auto-populate: " . ($autopopulate ? 'Yes' : 'No') . "</p>";
        
        if ($workinglistid && $autopopulate) {
            echo "<p>Auto-populate starting for workinglistid=$workinglistid</p>";
            
            $singleCopyResult = false;
            $singleCount = 0;
            
            $sql = "INSERT INTO supplier_prices_workingdb 
                (workinglistid, hostcompanyid, companyid, stkref, breakqty, price, currencyid, status) 
                SELECT ?, ?, ?, stock_ref, 1, rawprice, 
                    CASE WHEN currenyid > 0 THEN currenyid ELSE 1 END, status 
                FROM viamed_customer_stock_references 
                WHERE companyid = ? AND status = '2'";
            try {
                $stmt = pdoquery($sql, array($workinglistid, $hostcompanyid, $companyid, $companyid));
                $singleCopyResult = ($stmt !== false);
                $singleCount = $stmt->rowCount();
            } catch (Exception $e) {
                echo "<p style='color:red'>Error copying single prices: " . $e->getMessage() . "</p>";
                $singleCopyResult = false;
            }
            echo "<p>Single prices: " . $singleCopyResult . " (estimated rows: " . $singleCount . ")</p>";

            $breaksCopyResult = false;
            $breaksCount = 0;
            
            $sql = "INSERT INTO supplier_prices_workingdb 
                (workinglistid, hostcompanyid, companyid, stkref, breakqty, price, currencyid, status) 
                SELECT ?, ?, ?, stkref, breakqty, price, currencyid, status 
                FROM viamedquote_orders_price_breaks 
                WHERE hostcompanyid = ? AND companyid = ?";
            try {
                $stmt = pdoquery($sql, array($workinglistid, $hostcompanyid, $companyid, $hostcompanyid, $companyid));
                $breaksCopyResult = ($stmt !== false);
                $breaksCount = $stmt->rowCount();
            } catch (Exception $e) {
                echo "<p style='color:red'>Error copying price breaks: " . $e->getMessage() . "</p>";
                $breaksCopyResult = false;
            }
            echo "<p>Price breaks: " . $breaksCopyResult . " (estimated rows: " . $breaksCount . ")</p>";
            
            echo "<p>Auto-populate result: " . ($singleCopyResult && $breaksCopyResult ? 'Success' : 'Partial/Failed') . "</p>";
        } else {
            echo "<p>Auto-populate NOT executed (autopopulate value: " . $autopopulate . ")</p>";
        }

        
        echo "<p><a href='adminpricesdetails.php$x&id=" . $workinglistid . "&hostcompanyid=" . $hostcompanyid . "&companyid=" . $companyid . "' class='btn btn-primary'>Continue to Details Page</a></p>";
        echo "</div>";
        
        // No automatic redirect - user must click the link
    }
}

// --- HTML output and form ---
echo "<h2>Supplier Price Working Lists</h2>";

// List existing working lists
$sql = "SELECT id, description, createdon
          FROM supplier_prices_workinglist
          WHERE hostcompanyid = ?
          AND companyid = ?
          ORDER BY createdon DESC";
$stmt = pdoquery($sql, array($hostcompanyid, $companyid));
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

echo "<table class='table'>";
echo "<tr><th>ID</th><th>Description</th><th>Created</th><th>Action</th></tr>";
foreach ($rows as $row) {
    echo "<tr>";
    echo "<td>" . $row['id'] . "</td>";
    echo "<td>" . htmlspecialchars($row['description']) . "</td>";
    echo "<td>" . date('d M Y H:i', $row['createdon']) . "</td>";
    echo "<td><a href='adminpricesdetails.php$x&id=" . $row['id'] . "&hostcompanyid=" . $hostcompanyid . "&companyid=" . $companyid . "'>Edit</a></td>";
    echo "</tr>";
}
echo "</table>";

// New list creation form
echo "<h3>Create New List</h3>";
echo "<form method='post' action='adminprices.php$x'>";
echo "<input type='hidden' name='action' value='create'>";
echo "<input type='hidden' name='hostcompanyid' value='" . $hostcompanyid . "'>";
echo "<input type='hidden' name='companyid' value='" . $companyid . "'>";
echo "Description: <input type='text' name='description' required><br>";
echo "<input type='checkbox' name='autopopulate' value='1'> Auto-populate with active stock references<br>";
echo "<input type='submit' value='Create New List'>";
echo "</form>";
?>