Aggiunta controllo stato fattura elettronica
This commit is contained in:
parent
78a303f892
commit
2dd9e5f09f
|
@ -71,6 +71,14 @@ switch (post('op')) {
|
|||
$tipo = Tipo::find(post('idtipodocumento'));
|
||||
$fattura->tipo()->associate($tipo);
|
||||
|
||||
// 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 {
|
||||
$data_fattura_precedente = $dbo->fetchOne('
|
||||
SELECT
|
||||
MAX(DATA) AS datamax
|
||||
|
@ -159,7 +167,6 @@ switch (post('op')) {
|
|||
$fattura->is_ritenuta_pagata = post('is_ritenuta_pagata') ?: 0;
|
||||
|
||||
$fattura->setScontoFinale(post('sconto_finale'), post('tipo_sconto_finale'));
|
||||
|
||||
$results = $fattura->save();
|
||||
$message = '';
|
||||
|
||||
|
@ -232,8 +239,8 @@ switch (post('op')) {
|
|||
flash()->warning(tr('Esiste già una fattura con lo stesso numero!'));
|
||||
}
|
||||
}
|
||||
|
||||
flash()->info(tr('Fattura modificata correttamente!'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
@ -398,6 +405,14 @@ switch (post('op')) {
|
|||
case 'add_intervento':
|
||||
$id_intervento = post('idintervento');
|
||||
|
||||
// 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 {
|
||||
if (!empty($id_record) && $id_intervento !== null) {
|
||||
$copia_descrizione = post('copia_descrizione');
|
||||
$intervento = $dbo->fetchOne('SELECT descrizione FROM in_interventi WHERE id = '.prepare($id_intervento));
|
||||
|
@ -414,11 +429,20 @@ switch (post('op')) {
|
|||
'_NUM_' => $idintervento,
|
||||
]));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 'manage_documento_fe':
|
||||
$data = Filter::getPOST();
|
||||
|
||||
// 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 {
|
||||
$ignore = [
|
||||
'id_plugin',
|
||||
'id_module',
|
||||
|
@ -437,11 +461,21 @@ switch (post('op')) {
|
|||
$fattura->save();
|
||||
|
||||
flash()->info(tr('Dati FE aggiornati correttamente!'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'manage_riga_fe':
|
||||
$id_riga = post('id_riga');
|
||||
|
||||
// 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 {
|
||||
if ($id_riga != null) {
|
||||
$riga = Articolo::find($id_riga) ?: Riga::find($id_riga);
|
||||
$riga = $riga ?: Descrizione::find($id_riga);
|
||||
|
@ -468,6 +502,7 @@ switch (post('op')) {
|
|||
|
||||
flash()->info(tr('Dati FE aggiornati correttamente!'));
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
@ -524,6 +559,14 @@ switch (post('op')) {
|
|||
$articolo->id_dettaglio_fornitore = post('id_dettaglio_fornitore') ?: null;
|
||||
}
|
||||
|
||||
// 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 {
|
||||
$qta = post('qta');
|
||||
|
||||
$articolo->descrizione = post('descrizione');
|
||||
|
@ -561,6 +604,7 @@ switch (post('op')) {
|
|||
|
||||
// Ricalcolo inps, ritenuta e bollo
|
||||
ricalcola_costiagg_fattura($id_record);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
@ -571,6 +615,14 @@ switch (post('op')) {
|
|||
$sconto = Sconto::build($fattura);
|
||||
}
|
||||
|
||||
// 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 {
|
||||
$sconto->idconto = post('idconto');
|
||||
|
||||
$sconto->calcolo_ritenuta_acconto = post('calcolo_ritenuta_acconto') ?: null;
|
||||
|
@ -581,7 +633,6 @@ switch (post('op')) {
|
|||
$sconto->descrizione = post('descrizione');
|
||||
$sconto->note = post('note');
|
||||
$sconto->setScontoUnitario(post('sconto_unitario'), post('idiva'));
|
||||
|
||||
$sconto->save();
|
||||
|
||||
if (post('idriga') != null) {
|
||||
|
@ -592,6 +643,7 @@ switch (post('op')) {
|
|||
|
||||
// Ricalcolo inps, ritenuta e bollo
|
||||
ricalcola_costiagg_fattura($id_record);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
@ -602,6 +654,14 @@ switch (post('op')) {
|
|||
$riga = Riga::build($fattura);
|
||||
}
|
||||
|
||||
// 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 {
|
||||
$qta = post('qta');
|
||||
|
||||
$riga->descrizione = post('descrizione');
|
||||
|
@ -624,7 +684,6 @@ switch (post('op')) {
|
|||
}
|
||||
|
||||
$riga->qta = $qta;
|
||||
|
||||
$riga->save();
|
||||
|
||||
if (post('idriga') != null) {
|
||||
|
@ -635,6 +694,7 @@ switch (post('op')) {
|
|||
|
||||
// Ricalcolo inps, ritenuta e bollo
|
||||
ricalcola_costiagg_fattura($id_record);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
@ -647,6 +707,15 @@ switch (post('op')) {
|
|||
|
||||
$riga->descrizione = post('descrizione');
|
||||
$riga->note = post('note');
|
||||
|
||||
// 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 {
|
||||
$riga->save();
|
||||
|
||||
if (post('idriga') != null) {
|
||||
|
@ -654,12 +723,21 @@ switch (post('op')) {
|
|||
} else {
|
||||
flash()->info(tr('Riga descrittiva aggiunta!'));
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
// Scollegamento intervento da documento
|
||||
case 'unlink_intervento':
|
||||
if (!empty($id_record) && post('idriga') !== null) {
|
||||
|
||||
// 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 {
|
||||
$id_riga = post('idriga');
|
||||
$type = post('type');
|
||||
$riga = $fattura->getRiga($type, $id_riga);
|
||||
|
@ -676,12 +754,21 @@ switch (post('op')) {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// Scollegamento riga generica da documento
|
||||
case 'delete_riga':
|
||||
$id_righe = (array)post('righe');
|
||||
|
||||
// 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 {
|
||||
foreach ($id_righe as $id_riga) {
|
||||
$riga = Articolo::find($id_riga) ?: Riga::find($id_riga);
|
||||
$riga = $riga ?: Descrizione::find($id_riga);
|
||||
|
@ -697,16 +784,23 @@ switch (post('op')) {
|
|||
}
|
||||
|
||||
$riga = null;
|
||||
}
|
||||
|
||||
flash()->info(tr('Righe eliminate!'));
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// Duplicazione riga
|
||||
case 'copy_riga':
|
||||
$id_righe = (array)post('righe');
|
||||
|
||||
// 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 {
|
||||
foreach ($id_righe as $id_riga) {
|
||||
$riga = Articolo::find($id_riga) ?: Riga::find($id_riga);
|
||||
$riga = $riga ?: Descrizione::find($id_riga);
|
||||
|
@ -725,6 +819,7 @@ switch (post('op')) {
|
|||
}
|
||||
|
||||
flash()->info(tr('Righe duplicate!'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
@ -962,7 +1057,14 @@ switch (post('op')) {
|
|||
case 'add_articolo':
|
||||
$id_articolo = post('id_articolo');
|
||||
$barcode = post('barcode');
|
||||
// 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 {
|
||||
if (!empty($barcode)) {
|
||||
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
|
||||
}
|
||||
|
@ -1058,7 +1160,7 @@ switch (post('op')) {
|
|||
$response['error'] = tr('Nessun articolo corrispondente a magazzino');
|
||||
echo json_encode($response);
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
// Controllo se impostare anagrafica azienda in base a tipologia documento
|
||||
|
@ -1092,6 +1194,14 @@ switch (post('op')) {
|
|||
$righe = $post['righe'];
|
||||
$numero_totale = 0;
|
||||
|
||||
// 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 {
|
||||
foreach ($righe as $riga) {
|
||||
if (($riga['id']) != null) {
|
||||
$articolo = Articolo::find($riga['id']);
|
||||
|
@ -1119,6 +1229,7 @@ switch (post('op')) {
|
|||
} else {
|
||||
flash()->warning(tr('Nessun prezzo modificato!'));
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue