mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-18 12:30:35 +01:00
Fix #551
This commit is contained in:
parent
bdd52f5bfc
commit
c7076f3557
@ -2,10 +2,22 @@
|
|||||||
|
|
||||||
namespace Common\Components;
|
namespace Common\Components;
|
||||||
|
|
||||||
|
use Common\Document;
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
|
||||||
abstract class Discount extends Row
|
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()
|
public function getIvaAttribute()
|
||||||
{
|
{
|
||||||
return $this->attributes['iva'];
|
return $this->attributes['iva'];
|
||||||
@ -31,7 +43,7 @@ abstract class Discount extends Row
|
|||||||
parent::boot(true);
|
parent::boot(true);
|
||||||
|
|
||||||
static::addGlobalScope('discounts', function (Builder $builder) {
|
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) {
|
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),
|
$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;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -371,7 +371,6 @@ switch (post('op')) {
|
|||||||
'sconto' => $rs_righe_preventivo[$i]['sconto'],
|
'sconto' => $rs_righe_preventivo[$i]['sconto'],
|
||||||
'sconto_unitario' => $rs_righe_preventivo[$i]['sconto_unitario'],
|
'sconto_unitario' => $rs_righe_preventivo[$i]['sconto_unitario'],
|
||||||
'tipo_sconto' => $rs_righe_preventivo[$i]['tipo_sconto'],
|
'tipo_sconto' => $rs_righe_preventivo[$i]['tipo_sconto'],
|
||||||
'sconto_globale' => $rs_righe_preventivo[$i]['sconto_globale'],
|
|
||||||
'um' => $rs_righe_preventivo[$i]['um'],
|
'um' => $rs_righe_preventivo[$i]['um'],
|
||||||
'qta' => $rs_righe_preventivo[$i]['qta'],
|
'qta' => $rs_righe_preventivo[$i]['qta'],
|
||||||
'order' => $rs_righe_preventivo[$i]['order'],
|
'order' => $rs_righe_preventivo[$i]['order'],
|
||||||
|
@ -689,22 +689,6 @@ class FatturaElettronica
|
|||||||
|
|
||||||
// Sconto globale (2.1.1.8)
|
// Sconto globale (2.1.1.8)
|
||||||
// Disabilitazione per aggiornamento sconti
|
// 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)
|
// Importo Totale Documento (2.1.1.9)
|
||||||
// Valorizzare l’importo complessivo lordo della fattura (onnicomprensivo di Iva, bollo, contributi previdenziali, ecc…)
|
// 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' => $sconto_globale,
|
||||||
'sconto_unitario' => $sconto_globale,
|
'sconto_unitario' => $sconto_globale,
|
||||||
'tipo_sconto' => 'UNT',
|
'tipo_sconto' => 'UNT',
|
||||||
|
'is_sconto' => 1,
|
||||||
'idiva' => $id_iva['id'],
|
'idiva' => $id_iva['id'],
|
||||||
'desc_iva' => $iva['descrizione'],
|
'desc_iva' => $iva['descrizione'],
|
||||||
'iva' => $valore_iva,
|
'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 `or_ordini` DROP `sconto_globale`, DROP `tipo_sconto_globale`;
|
||||||
ALTER TABLE `dt_ddt` 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`;
|
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`;
|
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`;
|
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`;
|
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`;
|
ALTER TABLE `dt_righe_ddt` DROP `sconto_globale`;
|
||||||
|
|
||||||
-- Fix per la tabella in_righe_interventi
|
-- 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 `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
|
-- Rimozione campi inutilizzati co_ritenutaacconto
|
||||||
ALTER TABLE `co_ritenutaacconto` DROP `esente`, DROP `indetraibile`;
|
ALTER TABLE `co_ritenutaacconto` DROP `esente`, DROP `indetraibile`;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user