Ottimizzazione codice
This commit is contained in:
parent
1bb891f3b6
commit
cabd93cc82
|
@ -71,25 +71,20 @@ switch (post('op')) {
|
|||
$tipo = Tipo::find(post('idtipodocumento'));
|
||||
$fattura->tipo()->associate($tipo);
|
||||
|
||||
|
||||
if (setting('Imposta data emissione in base alla prima data disponibile') == 1) {
|
||||
if ($dir == 'entrata') {
|
||||
if ($stato->descrizione == 'Emessa'){
|
||||
$data_fattura_precedente = $dbo->fetchOne('
|
||||
SELECT
|
||||
MAX(DATA) AS datamax
|
||||
FROM
|
||||
co_documenti
|
||||
INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento
|
||||
INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id
|
||||
WHERE
|
||||
co_statidocumento.descrizione = "Emessa" AND co_tipidocumento.dir="entrata"');
|
||||
if (Carbon::parse($data)->lessThan(Carbon::parse($data_fattura_precedente['datamax']))) {
|
||||
$fattura->data = $data_fattura_precedente['datamax'];
|
||||
$fattura->data_competenza = $data_fattura_precedente['datamax'];
|
||||
}
|
||||
}
|
||||
}
|
||||
$data_fattura_precedente = $dbo->fetchOne('
|
||||
SELECT
|
||||
MAX(DATA) AS datamax
|
||||
FROM
|
||||
co_documenti
|
||||
INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento
|
||||
INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id
|
||||
INNER JOIN zz_segments ON zz_segments.id = co_documenti.id_segment
|
||||
WHERE
|
||||
co_statidocumento.descrizione = "Emessa" AND co_tipidocumento.dir="entrata" AND co_documenti.id_segment='.$fattura->id_segment);
|
||||
|
||||
if ((setting('Data emissione fattura automatica') == 1) && ($dir == 'entrata') && ($stato->descrizione == 'Emessa') && (Carbon::parse($data)->lessThan(Carbon::parse($data_fattura_precedente['datamax']))) && (!empty($data_fattura_precedente['datamax']))){
|
||||
$fattura->data = $data_fattura_precedente['datamax'];
|
||||
$fattura->data_competenza = $data_fattura_precedente['datamax'];
|
||||
} else {
|
||||
$fattura->data = post('data');
|
||||
$fattura->data_competenza = post('data_competenza');
|
||||
|
|
|
@ -29,6 +29,7 @@ use Util\XML;
|
|||
use Util\Zip;
|
||||
use Modules\Fatture\Stato;
|
||||
use Plugins\ReceiptFE\Ricevuta;
|
||||
use Carbon\Carbon;
|
||||
|
||||
$anagrafica_azienda = Anagrafica::find(setting('Azienda predefinita'));
|
||||
$stato_emessa = $dbo->selectOne('co_statidocumento', 'id', ['descrizione' => 'Emessa'])['id'];
|
||||
|
@ -469,9 +470,33 @@ switch (post('op')) {
|
|||
->get();
|
||||
|
||||
foreach ($fatture as $fattura) {
|
||||
$data = $fattura->data;
|
||||
|
||||
$fattura = Fattura::find($fattura['id']);
|
||||
$stato_precedente = Stato::find($fattura->idstatodocumento);
|
||||
|
||||
$data_fattura_precedente = $dbo->fetchOne('
|
||||
SELECT
|
||||
MAX(DATA) AS datamax
|
||||
FROM
|
||||
co_documenti
|
||||
INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento
|
||||
INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id
|
||||
INNER JOIN zz_segments ON zz_segments.id = co_documenti.id_segment
|
||||
WHERE
|
||||
co_statidocumento.descrizione = "Emessa" AND co_tipidocumento.dir="entrata" AND co_documenti.id_segment='.$fattura->id_segment);
|
||||
|
||||
if ((setting('Data emissione fattura automatica') == 1) && ($dir == 'entrata') && (Carbon::parse($data)->lessThan(Carbon::parse($data_fattura_precedente['datamax']))) && (!empty($data_fattura_precedente['datamax']))){
|
||||
$fattura->data = $data_fattura_precedente['datamax'];
|
||||
$fattura->data_competenza = $data_fattura_precedente['datamax'];
|
||||
}
|
||||
|
||||
if ($dir == 'entrata') {
|
||||
$fattura->data_registrazione = post('data');
|
||||
} else {
|
||||
$fattura->data_registrazione = post('data_registrazione');
|
||||
}
|
||||
|
||||
if ($stato_precedente->descrizione == 'Bozza' && $fattura->isFiscale()) {
|
||||
$fattura->stato()->associate($new_stato);
|
||||
$results = $fattura->save();
|
||||
|
|
|
@ -179,4 +179,4 @@ INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`
|
|||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id from zz_modules WHERE title = "Attività"), 'KM', 'sum(in_interventi_tecnici.km)', '29', '1', '0', '1', '0', NULL, NULL, '0', '1', '0');
|
||||
|
||||
-- Aggiunta impostazione data emissione automatica
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, "Imposta data emissione in base alla prima data disponibile", '0', 'boolean', '1', 'Fatturazione', NULL, 'Imposta data emissione del documento in ciclo attivo, in base alla prima data disponibile in relazione ai documenti già emessi');
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, "Data emissione fattura automatica", '0', 'boolean', '1', 'Fatturazione', NULL, "Impedisce l'emissione di fatture di vendita con data precedente alla data dell'ultima fattura emessa");
|
Loading…
Reference in New Issue