Fix generazione scadenze

This commit is contained in:
Pek5892 2024-02-13 17:16:47 +01:00
parent 9e4ced1fea
commit 0b402f12d1
1 changed files with 8 additions and 7 deletions

View File

@ -588,8 +588,9 @@ class Fattura extends Document
// Fix dei campi statici // Fix dei campi statici
$this->id_riga_bollo = $this->gestoreBollo->manageRigaMarcaDaBollo(); $this->id_riga_bollo = $this->gestoreBollo->manageRigaMarcaDaBollo();
$stato = (new Stato())->getByName($this->stato['descrizione']);
// Generazione numero fattura se non presente (Bozza -> Emessa) // Generazione numero fattura se non presente (Bozza -> Emessa)
if ((($stato_precedente->descrizione == 'Bozza' && $this->stato['descrizione'] == 'Emessa') or (!$is_fiscale)) && empty($this->numero_esterno)) { if ((($stato_precedente->name == 'Bozza' && $stato->name == 'Emessa') or (!$is_fiscale)) && empty($this->numero_esterno)) {
$this->numero_esterno = self::getNextNumeroSecondario($this->data, $this->direzione, $this->id_segment); $this->numero_esterno = self::getNextNumeroSecondario($this->data, $this->direzione, $this->id_segment);
} }
@ -599,8 +600,8 @@ class Fattura extends Document
// Operazioni al cambiamento di stato // Operazioni al cambiamento di stato
// Bozza o Annullato -> Stato diverso da Bozza o Annullato // Bozza o Annullato -> Stato diverso da Bozza o Annullato
if ( if (
(in_array($stato_precedente->descrizione, ['Bozza', 'Annullata']) (in_array($stato_precedente->name, ['Bozza', 'Annullata'])
&& !in_array($this->stato['descrizione'], ['Bozza', 'Annullata'])) && !in_array($stato->name, ['Bozza', 'Annullata']))
|| $options[0] == 'forza_emissione' || $options[0] == 'forza_emissione'
) { ) {
// Registrazione scadenze // Registrazione scadenze
@ -609,7 +610,7 @@ class Fattura extends Document
// Registrazione movimenti // Registrazione movimenti
$this->gestoreMovimenti->registra(); $this->gestoreMovimenti->registra();
} // Stato qualunque -> Bozza o Annullato } // Stato qualunque -> Bozza o Annullato
elseif (in_array($this->stato['descrizione'], ['Bozza', 'Annullata'])) { elseif (in_array($stato->name, ['Bozza', 'Annullata'])) {
// Rimozione delle scadenza // Rimozione delle scadenza
$this->rimuoviScadenze(); $this->rimuoviScadenze();
@ -620,7 +621,7 @@ class Fattura extends Document
$this->movimentiContabili()->delete(); $this->movimentiContabili()->delete();
} }
if ($this->changes['data_competenza'] && !in_array($this->stato['descrizione'], ['Bozza', 'Annullata'])) { if ($this->changes['data_competenza'] && !in_array($stato->name, ['Bozza', 'Annullata'])) {
$movimenti = Movimento::where('iddocumento', $this->id)->where('primanota', 0)->get(); $movimenti = Movimento::where('iddocumento', $this->id)->where('primanota', 0)->get();
foreach ($movimenti as $movimento) { foreach ($movimenti as $movimento) {
$movimento->data = $this->data_competenza; $movimento->data = $this->data_competenza;
@ -643,7 +644,7 @@ class Fattura extends Document
} }
// Operazioni automatiche per le Fatture Elettroniche // Operazioni automatiche per le Fatture Elettroniche
if ($this->direzione == 'entrata' && $stato_precedente->descrizione == 'Bozza' && $this->stato['descrizione'] == 'Emessa') { if ($this->direzione == 'entrata' && $stato_precedente->name == 'Bozza' && $stato->name == 'Emessa') {
$stato_fe = database()->fetchOne('SELECT * FROM fe_stati_documento WHERE codice = '.prepare($this->codice_stato_fe)); $stato_fe = database()->fetchOne('SELECT * FROM fe_stati_documento WHERE codice = '.prepare($this->codice_stato_fe));
$abilita_genera = empty($this->codice_stato_fe) || intval($stato_fe['is_generabile']); $abilita_genera = empty($this->codice_stato_fe) || intval($stato_fe['is_generabile']);
@ -788,7 +789,7 @@ class Fattura extends Document
public function scopeContabile($query) public function scopeContabile($query)
{ {
return $query->whereHas('stato', function (Builder $query) { return $query->whereHas('stato', function (Builder $query) {
$query->whereIn('descrizione', ['Emessa', 'Parzialmente pagato', 'Pagato']); $query->whereIn('name', ['Emessa', 'Parzialmente pagato', 'Pagato']);
}); });
} }