Fix #551
This commit is contained in:
parent
bdd52f5bfc
commit
c7076f3557
|
@ -2,10 +2,22 @@
|
|||
|
||||
namespace Common\Components;
|
||||
|
||||
use Common\Document;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
|
||||
abstract class Discount extends Row
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
public static function build(Document $document, $bypass = false)
|
||||
{
|
||||
$model = parent::build($document, true);
|
||||
|
||||
$model->is_sconto = 1;
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public function getIvaAttribute()
|
||||
{
|
||||
return $this->attributes['iva'];
|
||||
|
@ -31,7 +43,7 @@ abstract class Discount extends Row
|
|||
parent::boot(true);
|
||||
|
||||
static::addGlobalScope('discounts', function (Builder $builder) {
|
||||
$builder->where('subtotale', '=', 0);
|
||||
$builder->where('is_sconto', '=', 1);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -179,7 +179,7 @@ abstract class Row extends Description
|
|||
});
|
||||
|
||||
static::addGlobalScope('not_discounts', function (Builder $builder) {
|
||||
$builder->where('subtotale', '!=', 0);
|
||||
$builder->where('is_sconto', '=', 0);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -324,15 +324,6 @@ function get_costi_intervento($id_intervento)
|
|||
$result['altro_scontato'] + ($result['altro_scontato'] * $result['altro_iva'] / 100),
|
||||
]);
|
||||
|
||||
// Calcolo dello sconto incondizionato
|
||||
$sconto = $dbo->fetchArray('SELECT sconto_globale, tipo_sconto_globale FROM in_interventi WHERE id='.prepare($id_intervento))[0];
|
||||
$result['sconto_globale'] = ($sconto['tipo_sconto_globale'] == 'PRC') ? $result['totale_scontato'] * $sconto['sconto_globale'] / 100 : $sconto['sconto_globale'];
|
||||
$result['sconto_globale'] = round($result['sconto_globale'], $decimals);
|
||||
|
||||
$result['totale_scontato'] = sum($result['totale_scontato'], -$result['sconto_globale']);
|
||||
$result['iva_totale'] = sum($result['iva_totale'], -($result['sconto_globale'] * $rs_iva[0]['percentuale'] / 100));
|
||||
$result['totale'] = sum($result['totale'], -($result['sconto_globale'] + ($result['sconto_globale'] * $rs_iva[0]['percentuale'] / 100)));
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
|
|
@ -371,7 +371,6 @@ switch (post('op')) {
|
|||
'sconto' => $rs_righe_preventivo[$i]['sconto'],
|
||||
'sconto_unitario' => $rs_righe_preventivo[$i]['sconto_unitario'],
|
||||
'tipo_sconto' => $rs_righe_preventivo[$i]['tipo_sconto'],
|
||||
'sconto_globale' => $rs_righe_preventivo[$i]['sconto_globale'],
|
||||
'um' => $rs_righe_preventivo[$i]['um'],
|
||||
'qta' => $rs_righe_preventivo[$i]['qta'],
|
||||
'order' => $rs_righe_preventivo[$i]['order'],
|
||||
|
|
|
@ -689,22 +689,6 @@ class FatturaElettronica
|
|||
|
||||
// Sconto globale (2.1.1.8)
|
||||
// Disabilitazione per aggiornamento sconti
|
||||
/*
|
||||
$documento['sconto_globale'] = floatval($documento['sconto_globale']);
|
||||
if (!empty($documento['sconto_globale'])) {
|
||||
$sconto = [
|
||||
'Tipo' => $documento['sconto_globale'] > 0 ? 'SC' : 'MG',
|
||||
];
|
||||
|
||||
if ($documento['tipo_sconto_globale'] == 'PRC') {
|
||||
$sconto['Percentuale'] = $documento['sconto_globale'];
|
||||
} else {
|
||||
$sconto['Importo'] = $documento['sconto_globale'];
|
||||
}
|
||||
|
||||
$result['ScontoMaggiorazione'] = $sconto;
|
||||
}
|
||||
*/
|
||||
|
||||
// Importo Totale Documento (2.1.1.9)
|
||||
// Valorizzare l’importo complessivo lordo della fattura (onnicomprensivo di Iva, bollo, contributi previdenziali, ecc…)
|
||||
|
|
|
@ -61,6 +61,7 @@ foreach ($interventi as $intervento) {
|
|||
'sconto' => $sconto_globale,
|
||||
'sconto_unitario' => $sconto_globale,
|
||||
'tipo_sconto' => 'UNT',
|
||||
'is_sconto' => 1,
|
||||
'idiva' => $id_iva['id'],
|
||||
'desc_iva' => $iva['descrizione'],
|
||||
'iva' => $valore_iva,
|
||||
|
|
|
@ -117,24 +117,29 @@ ALTER TABLE `co_contratti` DROP `sconto_globale`, DROP `tipo_sconto_globale`;
|
|||
ALTER TABLE `or_ordini` DROP `sconto_globale`, DROP `tipo_sconto_globale`;
|
||||
ALTER TABLE `dt_ddt` DROP `sconto_globale`, DROP `tipo_sconto_globale`;
|
||||
|
||||
UPDATE `co_righe_documenti` SET `sconto` = `sconto_globale`, `sconto_unitario` = `sconto_globale`, `tipo_sconto` = 'UNT' WHERE `sconto_globale` != 0;
|
||||
ALTER TABLE `co_righe_documenti` ADD `is_sconto` BOOLEAN DEFAULT FALSE NOT NULL AFTER `is_descrizione`;
|
||||
UPDATE `co_righe_documenti` SET `sconto` = `sconto_globale`, `sconto_unitario` = `sconto_globale`, `tipo_sconto` = 'UNT', `is_sconto` = 1 WHERE `sconto_globale` != 0;
|
||||
ALTER TABLE `co_righe_documenti` DROP `sconto_globale`;
|
||||
|
||||
UPDATE `co_righe_preventivi` SET `sconto` = `sconto_globale`, `sconto_unitario` = `sconto_globale`, `tipo_sconto` = 'UNT' WHERE `sconto_globale` != 0;
|
||||
ALTER TABLE `co_righe_preventivi` ADD `is_sconto` BOOLEAN DEFAULT FALSE NOT NULL AFTER `is_descrizione`;
|
||||
UPDATE `co_righe_preventivi` SET `sconto` = `sconto_globale`, `sconto_unitario` = `sconto_globale`, `tipo_sconto` = 'UNT', `is_sconto` = 1 WHERE `sconto_globale` != 0;
|
||||
ALTER TABLE `co_righe_preventivi` DROP `sconto_globale`;
|
||||
|
||||
UPDATE `co_righe_contratti` SET `sconto` = `sconto_globale`, `sconto_unitario` = `sconto_globale`, `tipo_sconto` = 'UNT' WHERE `sconto_globale` != 0;
|
||||
ALTER TABLE `co_righe_contratti` ADD `is_sconto` BOOLEAN DEFAULT FALSE NOT NULL AFTER `is_descrizione`;
|
||||
UPDATE `co_righe_contratti` SET `sconto` = `sconto_globale`, `sconto_unitario` = `sconto_globale`, `tipo_sconto` = 'UNT', `is_sconto` = 1 WHERE `sconto_globale` != 0;
|
||||
ALTER TABLE `co_righe_contratti` DROP `sconto_globale`;
|
||||
|
||||
UPDATE `or_righe_ordini` SET `sconto` = `sconto_globale`, `sconto_unitario` = `sconto_globale`, `tipo_sconto` = 'UNT' WHERE `sconto_globale` != 0;
|
||||
ALTER TABLE `or_righe_ordini` ADD `is_sconto` BOOLEAN DEFAULT FALSE NOT NULL AFTER `is_descrizione`;
|
||||
UPDATE `or_righe_ordini` SET `sconto` = `sconto_globale`, `sconto_unitario` = `sconto_globale`, `tipo_sconto` = 'UNT', `is_sconto` = 1 WHERE `sconto_globale` != 0;
|
||||
ALTER TABLE `or_righe_ordini` DROP `sconto_globale`;
|
||||
|
||||
UPDATE `dt_righe_ddt` SET `sconto` = `sconto_globale`, `sconto_unitario` = `sconto_globale`, `tipo_sconto` = 'UNT' WHERE `sconto_globale` != 0;
|
||||
ALTER TABLE `dt_righe_ddt` ADD `is_sconto` BOOLEAN DEFAULT FALSE NOT NULL AFTER `is_descrizione`;
|
||||
UPDATE `dt_righe_ddt` SET `sconto` = `sconto_globale`, `sconto_unitario` = `sconto_globale`, `tipo_sconto` = 'UNT', `is_sconto` = 1 WHERE `sconto_globale` != 0;
|
||||
ALTER TABLE `dt_righe_ddt` DROP `sconto_globale`;
|
||||
|
||||
-- Fix per la tabella in_righe_interventi
|
||||
ALTER TABLE `in_righe_interventi` ADD `is_descrizione` TINYINT(1) NOT NULL AFTER `idintervento`, ADD `idarticolo` INT(11) AFTER `idintervento`, ADD FOREIGN KEY (`idarticolo`) REFERENCES `mg_articoli`(`id`);
|
||||
ALTER TABLE `mg_articoli_interventi` ADD `is_descrizione` TINYINT(1) NOT NULL AFTER `idintervento`;
|
||||
ALTER TABLE `mg_articoli_interventi` ADD `is_descrizione` TINYINT(1) NOT NULL AFTER `idintervento`, ADD `is_sconto` BOOLEAN DEFAULT FALSE NOT NULL AFTER `is_descrizione`;
|
||||
|
||||
-- Rimozione campi inutilizzati co_ritenutaacconto
|
||||
ALTER TABLE `co_ritenutaacconto` DROP `esente`, DROP `indetraibile`;
|
||||
|
|
Loading…
Reference in New Issue