1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2024-12-24 14:31:42 +01:00
openstamanager/update/2_4_20.php
2020-11-12 17:11:09 +01:00

84 lines
2.9 KiB
PHP

<?php
use Modules\Contratti\Components\Articolo as ArticoloContratto;
use Modules\Contratti\Components\Riga as RigaContratto;
use Modules\DDT\Components\Articolo as ArticoloDDT;
use Modules\DDT\Components\Riga as RigaDDT;
use Modules\Ordini\Components\Articolo as ArticoloOrdine;
use Modules\Ordini\Components\Riga as RigaOrdine;
use Modules\Preventivi\Components\Articolo as ArticoloPreventivo;
use Modules\Preventivi\Components\Riga as RigaPreventivo;
/**
* Procedura per aggiustare alcuni campi di sconto ivato nei documenti prima della fattura
* in quanto veniva calcolato lo sconto ivato erroneamente.
*/
// Fix sconti contratti
$righe = $dbo->fetchArray('SELECT id, idiva, sconto_percentuale, prezzo_unitario FROM co_righe_contratti WHERE sconto_percentuale != 0 AND tipo_sconto="PRC"');
foreach ($righe as $riga) {
if (empty($riga['idarticolo'])) {
$this_riga = RigaContratto::find($riga['id']);
} else {
$this_riga = ArticoloContratto::find($riga['id']);
}
if ($this_riga !== null) {
$this_riga->setPrezzoUnitario($riga['prezzo_unitario'], $riga['idiva']);
$this_riga->setSconto($riga['sconto_percentuale'], 'PRC');
$this_riga->save();
}
}
// Fix sconti preventivi
$righe = $dbo->fetchArray('SELECT id, idiva, sconto_percentuale, prezzo_unitario FROM co_righe_preventivi WHERE sconto_percentuale != 0 AND tipo_sconto="PRC"');
foreach ($righe as $riga) {
if (empty($riga['idarticolo'])) {
$this_riga = RigaPreventivo::find($riga['id']);
} else {
$this_riga = ArticoloPreventivo::find($riga['id']);
}
if ($this_riga !== null) {
$this_riga->setPrezzoUnitario($riga['prezzo_unitario'], $riga['idiva']);
$this_riga->setSconto($riga['sconto_percentuale'], 'PRC');
$this_riga->save();
}
}
// Fix sconti ordini
$righe = $dbo->fetchArray('SELECT id, idiva, sconto_percentuale, prezzo_unitario FROM or_righe_ordini WHERE sconto_percentuale != 0 AND tipo_sconto="PRC"');
foreach ($righe as $riga) {
if (empty($riga['idarticolo'])) {
$this_riga = RigaOrdine::find($riga['id']);
} else {
$this_riga = ArticoloOrdine::find($riga['id']);
}
if ($this_riga !== null) {
$this_riga->setPrezzoUnitario($riga['prezzo_unitario'], $riga['idiva']);
$this_riga->setSconto($riga['sconto_percentuale'], 'PRC');
$this_riga->save();
}
}
// Fix sconti ddt
$righe = $dbo->fetchArray('SELECT id, idiva, sconto_percentuale, prezzo_unitario FROM dt_righe_ddt WHERE sconto_percentuale != 0 AND tipo_sconto="PRC"');
foreach ($righe as $riga) {
if (empty($riga['idarticolo'])) {
$this_riga = RigaDDT::find($riga['id']);
} else {
$this_riga = ArticoloDDT::find($riga['id']);
}
if ($this_riga !== null) {
$this_riga->setPrezzoUnitario($riga['prezzo_unitario'], $riga['idiva']);
$this_riga->setSconto($riga['sconto_percentuale'], 'PRC');
$this_riga->save();
}
}