mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-03-30 19:10:14 +02:00
Miglioramenti del codice
This commit is contained in:
parent
a5e3517c55
commit
2d42bb56c6
@ -835,20 +835,22 @@ function start_datatables() {
|
||||
$('#mini-loader').show();
|
||||
} else {
|
||||
$('#mini-loader').hide();
|
||||
|
||||
|
||||
//Reimposto il flag sulle righe ricaricate selezionate in precedenza
|
||||
var selected = $this.data('selected').split(';');
|
||||
|
||||
table.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
|
||||
|
||||
table.rows().every(function (rowIdx, tableLoop, rowLoop) {
|
||||
var object_span = $.parseHTML(this.data()[0])[0];
|
||||
var id = $(object_span).data('id');
|
||||
|
||||
for(i=0;i<selected.length;i++){
|
||||
var value = selected[i];
|
||||
if(value==id){
|
||||
table.row(':eq('+rowIdx+')', { page: 'current' }).select();
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < selected.length; i++) {
|
||||
var value = selected[i];
|
||||
if (value == id) {
|
||||
table.row(':eq(' + rowIdx + ')', {
|
||||
page: 'current'
|
||||
}).select();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
@ -979,9 +981,9 @@ jQuery.fn.selectReset = function (placeholder) {
|
||||
this.selectClear();
|
||||
this.empty();
|
||||
|
||||
if (placeholder != undefined){
|
||||
this.next().find('.select2-selection__placeholder').text(placeholder);
|
||||
this.next().find('input.select2-search__field').attr('placeholder', placeholder);
|
||||
if (placeholder != undefined) {
|
||||
this.next().find('.select2-selection__placeholder').text(placeholder);
|
||||
this.next().find('input.select2-search__field').attr('placeholder', placeholder);
|
||||
}
|
||||
|
||||
return this;
|
||||
|
@ -13,18 +13,9 @@ switch (post('op')) {
|
||||
case 'update':
|
||||
// Informazioni sull'anagrafica
|
||||
$anagrafica->codice = post('codice');
|
||||
if (empty(post('tipo'))){
|
||||
$anagrafica->codice_destinatario = '';
|
||||
}else if (post('tipo') == 'Privato'){
|
||||
$anagrafica->codice_destinatario = '0000000';
|
||||
}else{
|
||||
//controlli anche su FatturaElettronica.php
|
||||
if (empty(post('codice_destinatario')) or post('codice_destinatario') == '999999' or post('codice_destinatario') == '0000000')
|
||||
$anagrafica->codice_destinatario = ((post('tipo') == 'Ente pubblico' ) ? '999999': '0000000');
|
||||
else
|
||||
$anagrafica->codice_destinatario = strtoupper(post('codice_destinatario'));
|
||||
}
|
||||
$anagrafica->ragione_sociale = post('ragione_sociale');
|
||||
$anagrafica->tipo = post('tipo');
|
||||
$anagrafica->codice_destinatario = post('codice_destinatario');
|
||||
$anagrafica->ragione_sociale = post('ragione_sociale');
|
||||
$anagrafica->tipo = post('tipo');
|
||||
$anagrafica->data_nascita = post('data_nascita');
|
||||
$anagrafica->luogo_nascita = post('luogo_nascita');
|
||||
|
@ -175,6 +175,17 @@ class Anagrafica extends Model
|
||||
$this->attributes['codice_fiscale'] = trim(strtoupper($value));
|
||||
}
|
||||
|
||||
public function setCodiceDestinatarioAttribute($value)
|
||||
{
|
||||
if (empty($this->tipo) || $this->tipo == 'Privato' || in_array($value, ['999999', '0000000'])) {
|
||||
$codice_destinatario = '';
|
||||
} else {
|
||||
$codice_destinatario = $value;
|
||||
}
|
||||
|
||||
$this->attributes['codice_destinatario'] = trim(strtoupper($codice_destinatario));
|
||||
}
|
||||
|
||||
public function tipi()
|
||||
{
|
||||
return $this->belongsToMany(Tipo::class, 'an_tipianagrafiche_anagrafiche', 'idanagrafica', 'idtipoanagrafica');
|
||||
|
@ -7,9 +7,9 @@ switch (filter('op')) {
|
||||
case 'generate':
|
||||
if (!empty($fattura_pa)) {
|
||||
$file = $fattura_pa->save($upload_dir);
|
||||
|
||||
|
||||
//Aggiorno la data di creazione della fattura elettronica
|
||||
$dbo->query("UPDATE co_documenti SET xmlgenerated_at=NOW() WHERE co_documenti.id=".prepare($id_record));
|
||||
$dbo->query("UPDATE co_documenti SET xml_generated_at=NOW() WHERE co_documenti.id=".prepare($id_record));
|
||||
|
||||
flash()->info(tr('Fattura elettronica generata correttamente!'));
|
||||
|
||||
|
@ -6,13 +6,13 @@ include_once __DIR__.'/init.php';
|
||||
if (!empty($fattura_pa)) {
|
||||
$disabled = false;
|
||||
$generated = file_exists($upload_dir.'/'.$fattura_pa->getFilename());
|
||||
|
||||
|
||||
//Ulteriore controllo sulla data generazione file
|
||||
$rs_generated = $dbo->fetchArray("SELECT xmlgenerated_at FROM co_documenti WHERE id=".prepare($id_record));
|
||||
if(empty($rs_generated[0]['xmlgenerated_at'])){
|
||||
$rs_generated = $dbo->fetchArray("SELECT xml_generated_at FROM co_documenti WHERE id=".prepare($id_record));
|
||||
if(empty($rs_generated[0]['xml_generated_at'])){
|
||||
$generated = false;
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
echo '
|
||||
<div class="alert alert-warning">
|
||||
|
@ -5,6 +5,7 @@ namespace Plugins\ExportPA;
|
||||
use FluidXml\FluidXml;
|
||||
use Respect\Validation\Validator as v;
|
||||
use Stringy\Stringy as S;
|
||||
use GuzzleHttp\Client;
|
||||
use DateTime;
|
||||
use DOMDocument;
|
||||
use XSLTProcessor;
|
||||
@ -44,7 +45,7 @@ class FatturaElettronica
|
||||
WHERE `co_documenti`.`id` = '.prepare($id_documento));
|
||||
|
||||
// Controllo sulla possibilità di creare la fattura elettronica
|
||||
// Posso fatturare ai privati utilizzando il codice fiscale
|
||||
// Posso fatturare ai privati utilizzando il codice fiscale
|
||||
if ($this->documento['stato'] != 'Emessa') {
|
||||
throw new \UnexpectedValueException();
|
||||
}
|
||||
@ -393,38 +394,41 @@ class FatturaElettronica
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Restituisce l'array responsabile per la generazione del tag DatiContratto.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Restituisce l'array responsabile per la generazione del tag DatiContratto.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected static function getDatiContratto($fattura)
|
||||
{
|
||||
$documento = $fattura->getDocumento();
|
||||
$righe_documento = $fattura->getRighe();
|
||||
$righe_documento = $fattura->getRighe();
|
||||
$database = database();
|
||||
|
||||
foreach ($righe_documento as $numero => $riga) {
|
||||
if (!empty($riga['idcontratto'])){
|
||||
$numero_contratto = $database->fetchOne('SELECT numero FROM co_contratti WHERE id = '.prepare($riga['idcontratto']))['numero'];
|
||||
$codice_cig = $database->fetchOne('SELECT codice_cig FROM co_contratti WHERE id = '.prepare($riga['idcontratto']))['codice_cig'];
|
||||
$codice_cup = $database->fetchOne('SELECT codice_cup FROM co_contratti WHERE id = '.prepare($riga['idcontratto']))['codice_cup'];
|
||||
|
||||
$result[] = [
|
||||
'IdDocumento' => $numero_contratto,
|
||||
];
|
||||
|
||||
if (!empty($codice_cig)) {
|
||||
$result['CodiceCIG'] = $codice_cig;
|
||||
}
|
||||
|
||||
if (!empty($codice_cup)) {
|
||||
$result['CodiceCUP'] = $codice_cup;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$result = [];
|
||||
|
||||
foreach ($righe_documento as $riga) {
|
||||
if (!empty($riga['idcontratto'])) {
|
||||
$numero_contratto = $database->fetchOne('SELECT numero FROM co_contratti WHERE id = '.prepare($riga['idcontratto']))['numero'];
|
||||
$codice_cig = $database->fetchOne('SELECT codice_cig FROM co_contratti WHERE id = '.prepare($riga['idcontratto']))['codice_cig'];
|
||||
$codice_cup = $database->fetchOne('SELECT codice_cup FROM co_contratti WHERE id = '.prepare($riga['idcontratto']))['codice_cup'];
|
||||
|
||||
$result[] = [
|
||||
'IdDocumento' => $numero_contratto,
|
||||
];
|
||||
|
||||
if (!empty($codice_cig)) {
|
||||
$result['CodiceCIG'] = $codice_cig;
|
||||
}
|
||||
|
||||
if (!empty($codice_cup)) {
|
||||
$result['CodiceCUP'] = $codice_cup;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
@ -436,27 +440,21 @@ class FatturaElettronica
|
||||
protected static function getDatiGenerali($fattura)
|
||||
{
|
||||
$documento = $fattura->getDocumento();
|
||||
$cliente = $fattura->getCliente();
|
||||
$cliente = $fattura->getCliente();
|
||||
|
||||
$result = [
|
||||
'DatiGeneraliDocumento' => static::getDatiGeneraliDocumento($fattura),
|
||||
// TODO: DatiOrdineAcquisto, DatiContratto, DatiConvenzione, DatiRicezione, DatiFattureCollegate, DatiSAL, DatiDDT, FatturaPrincipale
|
||||
];
|
||||
|
||||
//aggiungo nodo codice cig, cup solo per enti pubblici
|
||||
if ($cliente['tipo'] == 'Ente pubblico'){
|
||||
//e se tra le righe ho fatturato almeno un contratto
|
||||
$righe_documento = $fattura->getRighe();
|
||||
$find = false;
|
||||
foreach ($righe_documento as $key => $item) {
|
||||
if (!empty($item['idcontratto'])) {
|
||||
$find = true;
|
||||
}
|
||||
}
|
||||
if ($find){
|
||||
$result['DatiContratto'] = static::getDatiContratto($fattura);
|
||||
}
|
||||
}
|
||||
|
||||
// Aggiungo nodo codice cig, cup solo per enti pubblici
|
||||
if ($cliente['tipo'] == 'Ente pubblico') {
|
||||
// Controllo le le righe per la fatturazione di contratti
|
||||
$dati_contratto = static::getDatiContratto($fattura);
|
||||
if (!empty($dati_contratto)) {
|
||||
$result['DatiContratto'] = $dati_contratto;
|
||||
}
|
||||
}
|
||||
|
||||
if ($documento['tipo'] == 'Fattura accompagnatoria di vendita') {
|
||||
$result['DatiTrasporto'] = static::getDatiTrasporto($fattura);
|
||||
@ -737,7 +735,7 @@ class FatturaElettronica
|
||||
}
|
||||
|
||||
// Localhost: ['curl' => [CURLOPT_SSL_VERIFYPEER => false]]
|
||||
$client = new \GuzzleHttp\Client();
|
||||
$client = new Client();
|
||||
|
||||
$response = $client->request('POST', 'https://www.indicepa.gov.it/public-ws/WS01_SFE_CF.php', [
|
||||
'form_params' => [
|
||||
|
@ -602,12 +602,12 @@ ALTER TABLE `co_contratti` ADD `codice_cig` VARCHAR(15) NOT NULL AFTER `tipo_sco
|
||||
ALTER TABLE `co_contratti` ADD `codice_cup` VARCHAR(15) NOT NULL AFTER `codice_cig`;
|
||||
|
||||
-- Agiunta data e ora generazione fattura elettronica
|
||||
ALTER TABLE `co_documenti` ADD `xmlgenerated_at` TIMESTAMP NULL AFTER `codice_xml`;
|
||||
ALTER TABLE `co_documenti` ADD `xml_generated_at` TIMESTAMP NULL AFTER `codice_xml`;
|
||||
|
||||
-- Colonna nella vista fatture per indicare se è stato generato o meno il file xml
|
||||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `visible`, `summable`, `default`) VALUES
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 'icon_FE', 'IF(xmlgenerated_at IS NOT NULL, \'fa fa-file-code-o text-success\', \'\')', 10, 1, 0, 0, 1, 0, 0),
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 'icon_title_FE', 'IF(xmlgenerated_at IS NOT NULL, \'Generata\', \'\')', 10, 1, 0, 0, 0, 0, 0);
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 'icon_FE', 'IF(xml_generated_at IS NOT NULL, \'fa fa-file-code-o text-success\', \'\')', 10, 1, 0, 0, 1, 0, 0),
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 'icon_title_FE', 'IF(xml_generated_at IS NOT NULL, \'Generata\', \'\')', 10, 1, 0, 0, 0, 0, 0);
|
||||
|
||||
-- Colonna nella vista fatture per indicare se è stata inviata o meno la mail
|
||||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `visible`, `summable`, `default`) VALUES
|
||||
|
Loading…
x
Reference in New Issue
Block a user