120 lines
4.0 KiB
PHP
120 lines
4.0 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;
|
|
|
|
// File e cartelle deprecate
|
|
$files = [
|
|
'modules/listini',
|
|
];
|
|
|
|
foreach ($files as $key => $value) {
|
|
$files[$key] = realpath(base_dir().'/'.$value);
|
|
}
|
|
|
|
delete($files);
|
|
|
|
/**
|
|
* Procedura per aggiustare alcuni campi di sconto ivato nei documenti prima della fattura
|
|
* in quanto veniva calcolato lo sconto ivato erroneamente.
|
|
*/
|
|
|
|
// TODO: aggiornare procedura con query SQL esplicite invece che con i metodi che possono cambiare nel tempo
|
|
// Fix sconti contratti
|
|
$righe = $dbo->fetchArray('SELECT id, idiva, sconto_percentuale, sconto_unitario, tipo_sconto, 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']);
|
|
|
|
if ($riga['tipo_sconto'] == 'PRC') {
|
|
$this_riga->setSconto($riga['sconto_percentuale'], $riga['tipo_sconto']);
|
|
} else {
|
|
$this_riga->setSconto($riga['sconto_unitario'], $riga['tipo_sconto']);
|
|
}
|
|
|
|
$this_riga->save();
|
|
}
|
|
}
|
|
|
|
// Fix sconti preventivi
|
|
$righe = $dbo->fetchArray('SELECT id, idiva, sconto_percentuale, sconto_unitario, tipo_sconto, 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']);
|
|
|
|
if ($riga['tipo_sconto'] == 'PRC') {
|
|
$this_riga->setSconto($riga['sconto_percentuale'], $riga['tipo_sconto']);
|
|
} else {
|
|
$this_riga->setSconto($riga['sconto_unitario'], $riga['tipo_sconto']);
|
|
}
|
|
|
|
$this_riga->save();
|
|
}
|
|
}
|
|
|
|
// Fix sconti ordini
|
|
$righe = $dbo->fetchArray('SELECT id, idiva, sconto_percentuale, sconto_unitario, tipo_sconto, 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']);
|
|
|
|
if ($riga['tipo_sconto'] == 'PRC') {
|
|
$this_riga->setSconto($riga['sconto_percentuale'], $riga['tipo_sconto']);
|
|
} else {
|
|
$this_riga->setSconto($riga['sconto_unitario'], $riga['tipo_sconto']);
|
|
}
|
|
|
|
$this_riga->save();
|
|
}
|
|
}
|
|
|
|
// Fix sconti ddt
|
|
$righe = $dbo->fetchArray('SELECT id, idiva, sconto_percentuale, sconto_unitario, tipo_sconto, 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']);
|
|
|
|
if ($riga['tipo_sconto'] == 'PRC') {
|
|
$this_riga->setSconto($riga['sconto_percentuale'], $riga['tipo_sconto']);
|
|
} else {
|
|
$this_riga->setSconto($riga['sconto_unitario'], $riga['tipo_sconto']);
|
|
}
|
|
|
|
$this_riga->save();
|
|
}
|
|
}
|