Fix minore

This commit is contained in:
Pek5892 2023-07-17 15:35:09 +02:00
parent 2dd9e5f09f
commit eb932e8c0a
1 changed files with 49 additions and 31 deletions

View File

@ -826,9 +826,18 @@ switch (post('op')) {
case 'add_serial': case 'add_serial':
$articolo = Articolo::find(post('idriga')); $articolo = Articolo::find(post('idriga'));
// Controllo se la fattura è già stata inviata allo SDI
$stato_fe= $dbo->fetchOne('SELECT codice_stato_fe FROM co_documenti WHERE id = '.$fattura->id);
if ($dir == 'entrata' && $stato_fe['codice_stato_fe'] == 'WAIT') {
flash()->warning(tr('La fattura numero _NUM_ è già stata inviata allo SDI, non è possibile effettuare modifiche!', [
'_NUM_' => $fattura->numero_esterno,
]));
} else {
$serials = (array) post('serial'); $serials = (array) post('serial');
$articolo->serials = $serials; $articolo->serials = $serials;
}
break; break;
case 'update_position': case 'update_position':
@ -944,45 +953,54 @@ switch (post('op')) {
$id_segment = post('id_segment'); $id_segment = post('id_segment');
$data = post('data'); $data = post('data');
$anagrafica = $fattura->anagrafica; // Controllo se la fattura è già stata inviata allo SDI
$tipo = Tipo::where('descrizione', 'Nota di credito')->where('dir', 'entrata')->first(); $stato_fe= $dbo->fetchOne('SELECT codice_stato_fe FROM co_documenti WHERE id = '.$fattura->id);
$nota = Fattura::build($anagrafica, $tipo, $data, $id_segment); if ($dir == 'entrata' && $stato_fe['codice_stato_fe'] == 'WAIT') {
$nota->ref_documento = $fattura->id; flash()->warning(tr('La fattura numero _NUM_ è già stata inviata allo SDI, non è possibile effettuare modifiche!', [
$nota->idconto = $fattura->idconto; '_NUM_' => $fattura->numero_esterno,
$nota->idpagamento = $fattura->idpagamento; ]));
$nota->id_banca_azienda = $fattura->id_banca_azienda; } else {
$nota->id_banca_controparte = $fattura->id_banca_controparte; $anagrafica = $fattura->anagrafica;
$nota->idsede_partenza = $fattura->idsede_partenza; $tipo = Tipo::where('descrizione', 'Nota di credito')->where('dir', 'entrata')->first();
$nota->idsede_destinazione = $fattura->idsede_destinazione;
$nota->split_payment = $fattura->split_payment;
$nota->save();
$righe = $fattura->getRighe(); $nota = Fattura::build($anagrafica, $tipo, $data, $id_segment);
foreach ($righe as $riga) { $nota->ref_documento = $fattura->id;
if (post('evadere')[$riga->id] == 'on' and !empty(post('qta_da_evadere')[$riga->id])) { $nota->idconto = $fattura->idconto;
$qta = post('qta_da_evadere')[$riga->id]; $nota->idpagamento = $fattura->idpagamento;
$nota->id_banca_azienda = $fattura->id_banca_azienda;
$nota->id_banca_controparte = $fattura->id_banca_controparte;
$nota->idsede_partenza = $fattura->idsede_partenza;
$nota->idsede_destinazione = $fattura->idsede_destinazione;
$nota->split_payment = $fattura->split_payment;
$nota->save();
$copia = $riga->copiaIn($nota, $qta); $righe = $fattura->getRighe();
$copia->ref_riga_documento = $riga->id; foreach ($righe as $riga) {
if (post('evadere')[$riga->id] == 'on' and !empty(post('qta_da_evadere')[$riga->id])) {
$qta = post('qta_da_evadere')[$riga->id];
// Aggiornamento seriali dalla riga della fattura $copia = $riga->copiaIn($nota, $qta);
if ($copia->isArticolo()) { $copia->ref_riga_documento = $riga->id;
$serials = is_array(post('serial')[$riga->id]) ? post('serial')[$riga->id] : [];
$copia->serials = $serials; // Aggiornamento seriali dalla riga della fattura
if ($copia->isArticolo()) {
$serials = is_array(post('serial')[$riga->id]) ? post('serial')[$riga->id] : [];
$copia->serials = $serials;
}
$copia->save();
} }
$copia->save();
} }
$stato = Stato::find(post('id_stato'));
$nota->stato()->associate($stato);
$nota->save();
$id_record = $nota->id;
aggiorna_sedi_movimenti('documenti', $id_record);
} }
$stato = Stato::find(post('id_stato'));
$nota->stato()->associate($stato);
$nota->save();
$id_record = $nota->id;
aggiorna_sedi_movimenti('documenti', $id_record);
break; break;
// Autofattura // Autofattura