subtotaltitle/ajax/reorder_invoice.php

64 lines
2.2 KiB
PHP
Executable file

<?php
require '../../../main.inc.php';
require_once __DIR__.'/../lib/subtotaltitle.lib.php';
$facture_id = 20;
subtotaltitle_debug_log('🔄 reorder_invoice: facture=' . $facture_id);
// Neuordnen
$new_order = 1;
// 1. Freie Produkte
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."facture_lines_manager";
$sql .= " WHERE fk_facture = ".(int)$facture_id;
$sql .= " AND line_type = 'product'";
$sql .= " AND parent_section IS NULL";
$sql .= " ORDER BY line_order";
$resql = $db->query($sql);
while ($obj = $db->fetch_object($resql)) {
$db->query("UPDATE ".MAIN_DB_PREFIX."facture_lines_manager SET line_order = ".$new_order." WHERE rowid = ".$obj->rowid);
echo "Product ".$obj->rowid."".$new_order."<br>";
$new_order++;
}
// 2. Sections + ihre Produkte
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."facture_lines_manager";
$sql .= " WHERE fk_facture = ".(int)$facture_id;
$sql .= " AND line_type = 'section'";
$sql .= " ORDER BY line_order";
$resql = $db->query($sql);
while ($sec = $db->fetch_object($resql)) {
$db->query("UPDATE ".MAIN_DB_PREFIX."facture_lines_manager SET line_order = ".$new_order." WHERE rowid = ".$sec->rowid);
echo "Section ".$sec->rowid."".$new_order."<br>";
$new_order++;
// Produkte
$sql2 = "SELECT rowid FROM ".MAIN_DB_PREFIX."facture_lines_manager";
$sql2 .= " WHERE parent_section = ".$sec->rowid;
$sql2 .= " ORDER BY line_order";
$resql2 = $db->query($sql2);
while ($prod = $db->fetch_object($resql2)) {
$db->query("UPDATE ".MAIN_DB_PREFIX."facture_lines_manager SET line_order = ".$new_order." WHERE rowid = ".$prod->rowid);
echo " Product ".$prod->rowid."".$new_order."<br>";
$new_order++;
}
}
// 3. Sync rang
$sql = "SELECT fk_facturedet FROM ".MAIN_DB_PREFIX."facture_lines_manager";
$sql .= " WHERE fk_facture = ".(int)$facture_id;
$sql .= " AND line_type = 'product'";
$sql .= " ORDER BY line_order";
$resql = $db->query($sql);
$rang = 1;
while ($obj = $db->fetch_object($resql)) {
$db->query("UPDATE ".MAIN_DB_PREFIX."facturedet SET rang = ".$rang." WHERE rowid = ".$obj->fk_facturedet);
echo "Rang ".$obj->fk_facturedet."".$rang."<br>";
$rang++;
}
echo "<br><b>DONE!</b>";