64 lines
2.2 KiB
PHP
Executable file
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>";
|