Introduzione base per operazioni di verifica notifica FE

This commit is contained in:
Thomas Zilio 2020-07-01 15:57:16 +02:00
parent bc096deaf3
commit 796306369b
3 changed files with 111 additions and 40 deletions

View File

@ -29,5 +29,12 @@ switch (filter('op')) {
echo json_encode($result);
break;
case 'verify':
$result = Interaction::getInvoiceRecepits($id_record);
echo json_encode($result);
break;
}

View File

@ -89,7 +89,17 @@ echo '
<button onclick="if( confirm(\''.tr('Inviare la fattura al SDI?').'\') ){ send(this); }" class="btn btn-success btn-lg '.($send ? '' : 'disabled').'" target="_blank" '.($send ? '' : 'disabled').'>
<i class="fa fa-paper-plane"></i> '.tr('Invia').'
</button><br><br>';
</button>';
$verify = Interaction::isEnabled() && $generated;
echo '
<i class="fa fa-arrow-right fa-fw text-muted"></i>
<button class="btn btn-warning btn-lg '.($verify ? '' : 'disabled').'" target="_blank" '.($verify ? '' : 'disabled').' onclick="verify(this)">
<i class="fa fa-question-circle"></i> '.tr('Verifica notifiche').'
</button>';
echo '<br><br>';
// Messaggio esito invio
if (!empty($record['codice_stato_fe'])) {
@ -121,7 +131,10 @@ if (!empty($record['codice_stato_fe'])) {
}
echo '
<script>
</div>';
echo '
<script>
function send(btn) {
var restore = buttonLoading(btn);
@ -153,14 +166,40 @@ echo '
}
});
}
</script>';
echo '
function verify(btn) {
var restore = buttonLoading(btn);
</div>';
$.ajax({
url: globals.rootdir + "/actions.php",
type: "post",
data: {
op: "verify",
id_module: "'.$id_module.'",
id_plugin: "'.$id_plugin.'",
id_record: "'.$id_record.'",
},
success: function(data) {
data = JSON.parse(data);
buttonRestore(btn, restore);
if (data.code == "200") {
swal("'.tr('Fattura inviata!').'", data.message, "success");
$(btn).attr("disabled", true).addClass("disabled");
location.reload(); // Ricaricamento pagina
} else {
swal("'.tr('Verifica fallita').'", data.code + " - " + data.message, "error");
}
},
error: function(data) {
swal("'.tr('Errore').'", "'.tr('Errore durante la verifica').'", "error");
buttonRestore(btn, restore);
}
});
}
echo '
<script>
$("#genera").click(function(event){
event.preventDefault();

View File

@ -3,6 +3,7 @@
namespace Plugins\ExportFE;
use API\Services;
use UnexpectedValueException;
/**
* Classe per l'interazione con API esterne.
@ -48,4 +49,28 @@ class Interaction extends Services
'message' => tr('Fattura non generata correttamente'),
];
}
public static function getInvoiceRecepits($id_record)
{
try {
$fattura = new FatturaElettronica($id_record);
$filename = $fattura->getFilename();
$response = static::request('POST', 'notifiche_fattura', [
'name' => $filename,
]);
$body = static::responseBody($response);
return [
'code' => $body['status'],
'results' => $body['results'],
];
} catch (UnexpectedValueException $e) {
}
return [
'code' => 400,
'message' => tr('Fattura non generata correttamente'),
];
}
}