From df52e1749aaa6eeebfef730f71fa1dee743b77e7 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 5 Jul 2023 11:50:27 +0200 Subject: [PATCH] Migliorie minori fatture di vendita --- modules/fatture/actions.php | 16 +++++++++++++++ modules/fatture/edit.php | 41 +------------------------------------ update/2_4_48.sql | 1 + 3 files changed, 18 insertions(+), 40 deletions(-) create mode 100644 update/2_4_48.sql diff --git a/modules/fatture/actions.php b/modules/fatture/actions.php index 0a0aaa6c5..100f8881c 100755 --- a/modules/fatture/actions.php +++ b/modules/fatture/actions.php @@ -85,6 +85,7 @@ switch (post('op')) { 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']; + flash()->info(tr('Data di emissione aggiornata, come da impostazione!')); } else { $fattura->data = post('data'); $fattura->data_competenza = post('data_competenza'); @@ -217,6 +218,21 @@ switch (post('op')) { } } + // Controllo sulla presenza di fattura di vendita con lo stesso numero nello stesso periodo + if ($direzione == 'entrata') { + $count = Fattura::where('numero_esterno', $fattura->numero_esterno) + ->where('id', '!=', $id_record) + ->where('data', '>=', $_SESSION['period_start']) + ->where('data', '<=', $_SESSION['period_end']) + ->where('numero_esterno', '!=', NULL) + ->whereHas('tipo', function ($query) use ($direzione) { + $query->where('dir', '=', $direzione); + })->count(); + if (!empty($count)) { + flash()->warning(tr('Esiste già una fattura con lo stesso numero!')); + } + } + flash()->info(tr('Fattura modificata correttamente!')); break; diff --git a/modules/fatture/edit.php b/modules/fatture/edit.php index c58f00835..f4eb3a480 100755 --- a/modules/fatture/edit.php +++ b/modules/fatture/edit.php @@ -216,45 +216,6 @@ if ($dir == 'entrata') {
- - fetchArray('SELECT piva, codice_fiscale, citta, indirizzo, cap, id_nazione, tipo FROM an_anagrafiche WHERE idanagrafica='.prepare($record['idanagrafica'])); - $campi_mancanti = []; - - //di default è un azienda e chiedo la partita iva - if (empty($rs2[0]['piva']) and empty($rs2[0]['codice_fiscale']) and (empty($rs2[0]['tipo']) or $rs2[0]['tipo'] == 'Azienda')) { - array_push($campi_mancanti, 'Partita IVA'); - array_push($campi_mancanti, 'Codice fiscale'); - } - - $nazione = Nazione::find($rs2[0]['id_nazione']); - //se è un privato o un ente pubblico controllo il codice fiscale - if ((($rs2[0]['tipo'] == 'Privato' && $nazione->iso2 == 'IT') or $rs2[0]['tipo'] == 'Ente pubblico') and empty($rs2[0]['codice_fiscale'])) { - array_push($campi_mancanti, 'Codice fiscale'); - } - - if ($rs2[0]['citta'] == '') { - array_push($campi_mancanti, 'Città'); - } - if ($rs2[0]['indirizzo'] == '') { - array_push($campi_mancanti, 'Indirizzo'); - } - if ($rs2[0]['cap'] == '') { - array_push($campi_mancanti, 'C.A.P.'); - } - if (empty($rs2[0]['id_nazione'])) { - array_push($campi_mancanti, 'Nazione'); - } - - if (sizeof($campi_mancanti) > 0) { - echo "
Prima di procedere alla stampa completa i seguenti campi dell'anagrafica Cliente: ".implode(', ', $campi_mancanti).'
- '.Modules::link('Anagrafiche', $record['idanagrafica'], tr('Vai alla scheda anagrafica'), null).'
'; - } - } - ?> -