refactor: formattazione codice

This commit is contained in:
valentina 2024-10-16 08:56:08 +02:00
parent ea4aa2c356
commit fb9111be94
27 changed files with 107 additions and 100 deletions

View File

@ -54,7 +54,7 @@ foreach ($modules as $name => $values) {
$status = isset($available_modules) ? in_array($name, $available_modules) : $_SERVER[$values['server']] == 'On'; $status = isset($available_modules) ? in_array($name, $available_modules) : $_SERVER[$values['server']] == 'On';
if ($name == 'mod_mime' && $php_interface != 'apache' && $dbo->isConnected() ) { if ($name == 'mod_mime' && $php_interface != 'apache' && $dbo->isConnected()) {
$headers = get_headers((!empty($config['redirectHTTPS']) && !isHTTPS(true)) ? 'https://' : 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'], true); $headers = get_headers((!empty($config['redirectHTTPS']) && !isHTTPS(true)) ? 'https://' : 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'], true);
if (isset($headers['Content-Type'])) { if (isset($headers['Content-Type'])) {
$status = 1; $status = 1;

View File

@ -73,7 +73,7 @@ use Modules\Iva\Aliquota;
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<?php echo ( !empty($record['id_marchio']) ? Modules::link('Marchi', $record['id_marchio'], null, null, 'class="pull-right"') : '' ) ?> <?php echo !empty($record['id_marchio']) ? Modules::link('Marchi', $record['id_marchio'], null, null, 'class="pull-right"') : ''; ?>
{[ "type": "select", "label": "<?php echo tr('Marchio'); ?>", "name": "id_marchio", "value":"$id_marchio$", "values": "query=SELECT id, name AS descrizione FROM mg_marchi ORDER BY descrizione ASC" ]} {[ "type": "select", "label": "<?php echo tr('Marchio'); ?>", "name": "id_marchio", "value":"$id_marchio$", "values": "query=SELECT id, name AS descrizione FROM mg_marchi ORDER BY descrizione ASC" ]}
</div> </div>
</div> </div>
@ -88,7 +88,7 @@ use Modules\Iva\Aliquota;
'value' => $articolo->getTranslation('title'), 'value' => $articolo->getTranslation('title'),
'charcounter' => 1, 'charcounter' => 1,
]); ]);
?> ?>
</div> </div>
</div> </div>

View File

@ -20,7 +20,6 @@
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
use Modules\Articoli\Categoria; use Modules\Articoli\Categoria;
use Modules\Anagrafiche\Sede;
$immagine_articolo = $articolo->immagine ? base_path().'/files/articoli/'.$articolo->immagine : App::getPaths()['img'].'/logo_header.png'; $immagine_articolo = $articolo->immagine ? base_path().'/files/articoli/'.$articolo->immagine : App::getPaths()['img'].'/logo_header.png';
@ -74,8 +73,8 @@ echo '
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<p><small> '.tr('Serial number').':</small> '.($articolo->abilita_serial ? '<i class="fa fa-check text-success"></i>' : '<i class="fa fa-times text-danger"></i> ' ).'</p> <p><small> '.tr('Serial number').':</small> '.($articolo->abilita_serial ? '<i class="fa fa-check text-success"></i>' : '<i class="fa fa-times text-danger"></i> ').'</p>
<p><small> '.tr('Attivo').':</small> '.($articolo->attivo ? '<i class="fa fa-check text-success"></i>' : '<i class="fa fa-times text-danger"></i> ' ).'</p> <p><small> '.tr('Attivo').':</small> '.($articolo->attivo ? '<i class="fa fa-check text-success"></i>' : '<i class="fa fa-times text-danger"></i> ').'</p>
<p>'.($articolo->ubicazione ? '<small>Ubicazione:</Small> '.$articolo->ubicazione : '').'</p> <p>'.($articolo->ubicazione ? '<small>Ubicazione:</Small> '.$articolo->ubicazione : '').'</p>
<p>'.($articolo->peso_lordo ? '<small>Peso lordo:</Small> '.numberFormat($articolo->peso_lordo, $decimals).' kg' : '').'</p> <p>'.($articolo->peso_lordo ? '<small>Peso lordo:</Small> '.numberFormat($articolo->peso_lordo, $decimals).' kg' : '').'</p>
<p>'.($articolo->volume ? '<small>Volume:</Small> '.numberFormat($articolo->volume, $decimals).' m3' : '').'</p> <p>'.($articolo->volume ? '<small>Volume:</Small> '.numberFormat($articolo->volume, $decimals).' m3' : '').'</p>
@ -101,10 +100,10 @@ echo '
<h3 class="card-title"><i class="fa fa-archive"></i> '.tr('Giacenze').'</h3> <h3 class="card-title"><i class="fa fa-archive"></i> '.tr('Giacenze').'</h3>
</div> </div>
<div class="card-body">'; <div class="card-body">';
foreach ($sedi as $sede) { foreach ($sedi as $sede) {
echo '<p><small>'.$sede['nomesede'].':</small> '.numberFormat($giacenze[$sede['id']][0], 'qta').' '.$articolo->um.'</p>'; echo '<p><small>'.$sede['nomesede'].':</small> '.numberFormat($giacenze[$sede['id']][0], 'qta').' '.$articolo->um.'</p>';
} }
echo' echo '
</div> </div>
</div> </div>
</div> </div>

View File

@ -50,7 +50,7 @@ if (isset($id_original)) {
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
{[ "type": "textarea", "label": "<?php echo tr('Nota'); ?>", "name": "nota", "value": "<?php echo $categoria?$categoria->getTranslation('note'): ''; ?>" ]} {[ "type": "textarea", "label": "<?php echo tr('Nota'); ?>", "name": "nota", "value": "<?php echo $categoria ? $categoria->getTranslation('note') : ''; ?>" ]}
</div> </div>
</div> </div>

View File

@ -163,8 +163,8 @@ if (!empty($interventi)) {
</tr>'; </tr>';
// Raggruppamento per articolo con lo stesso prezzo // Raggruppamento per articolo con lo stesso prezzo
$ricavo = (string)(($articolo->imponibile - $articolo->sconto) / ($articolo->qta > 0 ? $articolo->qta : 1)); $ricavo = (string) (($articolo->imponibile - $articolo->sconto) / ($articolo->qta > 0 ? $articolo->qta : 1));
$costo = (string)($articolo->spesa / ($articolo->qta > 0 ? $articolo->qta : 1)); $costo = (string) ($articolo->spesa / ($articolo->qta > 0 ? $articolo->qta : 1));
$descrizione = $articolo->articolo->codice.' - '.$articolo->descrizione; $descrizione = $articolo->articolo->codice.' - '.$articolo->descrizione;
$materiali_art[$descrizione][$ricavo][$costo]['id'] = $articolo->id; $materiali_art[$descrizione][$ricavo][$costo]['id'] = $articolo->id;

View File

@ -339,7 +339,7 @@ switch ($op) {
$fatture = Fattura::vendita() $fatture = Fattura::vendita()
->select('*', 'co_documenti.id AS id', 'co_documenti.data AS data') ->select('*', 'co_documenti.id AS id', 'co_documenti.data AS data')
->where('co_documenti.idanagrafica', "=", $id_anagrafica) ->where('co_documenti.idanagrafica', '=', $id_anagrafica)
->whereIn('idstatodocumento', [$stato1->id, $stato2->id]) ->whereIn('idstatodocumento', [$stato1->id, $stato2->id])
->join('co_scadenziario', 'co_documenti.id', '=', 'co_scadenziario.iddocumento') ->join('co_scadenziario', 'co_documenti.id', '=', 'co_scadenziario.iddocumento')
->join('co_tipidocumento', 'co_tipidocumento.id', '=', 'co_documenti.idtipodocumento') ->join('co_tipidocumento', 'co_tipidocumento.id', '=', 'co_documenti.idtipodocumento')

View File

@ -55,7 +55,6 @@ if ($module->getTranslation('title') == 'Fatture di vendita' && $services_enable
if ($documento->codice_stato_fe == 'NS' && ($documento->stato != Stato::where('name', 'Bozza')->first()->id) && ($documento->stato != Stato::where('name', 'Non valida')->first()->id)) { if ($documento->codice_stato_fe == 'NS' && ($documento->stato != Stato::where('name', 'Bozza')->first()->id) && ($documento->stato != Stato::where('name', 'Non valida')->first()->id)) {
$ricevuta_principale = $documento->getRicevutaPrincipale(); $ricevuta_principale = $documento->getRicevutaPrincipale();
if (!empty($ricevuta_principale)) { if (!empty($ricevuta_principale)) {
$contenuto_ricevuta = XML::readFile(base_dir().'/files/fatture/'.$ricevuta_principale->filename); $contenuto_ricevuta = XML::readFile(base_dir().'/files/fatture/'.$ricevuta_principale->filename);
$lista_errori = $contenuto_ricevuta['ListaErrori']; $lista_errori = $contenuto_ricevuta['ListaErrori'];

View File

@ -96,7 +96,7 @@ echo '
<div class="row"> <div class="row">
<div class="col-md-3">'; <div class="col-md-3">';
if ($record['idagente'] != 0) { if ($record['idagente'] != 0) {
echo Modules::link('Anagrafiche', $record['idagente'], null, null, 'class="pull-right"'); echo Modules::link('Anagrafiche', $record['idagente'], null, null, 'class="pull-right"');
} }
echo ' echo '

View File

@ -22,19 +22,17 @@ include_once __DIR__.'/../../core.php';
switch (post('op')) { switch (post('op')) {
// Aggiorno informazioni di base impianto // Aggiorno informazioni di base impianto
case 'update': case 'update':
$dbo->update('mg_marchi', [
$dbo->update('mg_marchi',[
'name' => post('name'), 'name' => post('name'),
],['id' => $id_record]); ], ['id' => $id_record]);
flash()->info(tr('Informazioni salvate correttamente!')); flash()->info(tr('Informazioni salvate correttamente!'));
break; break;
// Aggiungo impianto // Aggiungo impianto
case 'add': case 'add':
$dbo->insert('mg_marchi', [
$dbo->insert('mg_marchi',[
'name' => post('name'), 'name' => post('name'),
]); ]);
$id_record = $dbo->lastInsertedID(); $id_record = $dbo->lastInsertedID();
@ -43,8 +41,7 @@ switch (post('op')) {
break; break;
// Rimuovo impianto e scollego tutti i suoi componenti
// Rimuovo impianto e scollego tutti i suoi componenti
case 'delete': case 'delete':
$dbo->query('DELETE FROM mg_marchi WHERE id='.prepare($id_record)); $dbo->query('DELETE FROM mg_marchi WHERE id='.prepare($id_record));

View File

@ -19,7 +19,6 @@
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
?><form action="" method="post" id="edit-form" enctype="multipart/form-data"> ?><form action="" method="post" id="edit-form" enctype="multipart/form-data">
<input type="hidden" name="backto" value="record-edit"> <input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="op" value="update"> <input type="hidden" name="op" value="update">
@ -51,8 +50,8 @@ if (!empty($elementi)) {
<div class="card card-warning collapsable collapsed-card"> <div class="card card-warning collapsable collapsed-card">
<div class="card-header with-border"> <div class="card-header with-border">
<h3 class="card-title"><i class="fa fa-warning"></i> '.tr('Articoli collegati: _NUM_', [ <h3 class="card-title"><i class="fa fa-warning"></i> '.tr('Articoli collegati: _NUM_', [
'_NUM_' => count($elementi), '_NUM_' => count($elementi),
]).'</h3> ]).'</h3>
<div class="card-tools pull-right"> <div class="card-tools pull-right">
<button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fa fa-plus"></i></button> <button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fa fa-plus"></i></button>
</div> </div>

View File

@ -160,8 +160,8 @@ if (!empty($interventi)) {
</tr>'; </tr>';
// Raggruppamento per articolo con lo stesso prezzo // Raggruppamento per articolo con lo stesso prezzo
$ricavo = (string)(($articolo->imponibile - $articolo->sconto) / ($articolo->qta > 0 ? $articolo->qta : 1)); $ricavo = (string) (($articolo->imponibile - $articolo->sconto) / ($articolo->qta > 0 ? $articolo->qta : 1));
$costo = (string)($articolo->spesa / ($articolo->qta > 0 ? $articolo->qta : 1)); $costo = (string) ($articolo->spesa / ($articolo->qta > 0 ? $articolo->qta : 1));
$descrizione = $articolo->articolo->codice.' - '.$articolo->descrizione; $descrizione = $articolo->articolo->codice.' - '.$articolo->descrizione;
$materiali_art[$descrizione][$ricavo][$costo]['id'] = $articolo->articolo->id; $materiali_art[$descrizione][$ricavo][$costo]['id'] = $articolo->articolo->id;

View File

@ -160,8 +160,8 @@ if (!empty($interventi)) {
</tr>'; </tr>';
// Raggruppamento per articolo con lo stesso prezzo // Raggruppamento per articolo con lo stesso prezzo
$ricavo = (string)(($articolo->imponibile - $articolo->sconto) / ($articolo->qta > 0 ? $articolo->qta : 1)); $ricavo = (string) (($articolo->imponibile - $articolo->sconto) / ($articolo->qta > 0 ? $articolo->qta : 1));
$costo = (string)($articolo->spesa / ($articolo->qta > 0 ? $articolo->qta : 1)); $costo = (string) ($articolo->spesa / ($articolo->qta > 0 ? $articolo->qta : 1));
$descrizione = $articolo->articolo->codice.' - '.$articolo->descrizione; $descrizione = $articolo->articolo->codice.' - '.$articolo->descrizione;
$materiali_art[$descrizione][$ricavo][$costo]['id'] = $articolo->id; $materiali_art[$descrizione][$ricavo][$costo]['id'] = $articolo->id;

View File

@ -116,15 +116,15 @@ if (Services::isEnabled()) {
if (!$risorse_scadute->isEmpty()) { if (!$risorse_scadute->isEmpty()) {
echo ' echo '
<div class="alert alert-danger" role="alert"> <i class="fa fa-exclamation-triangle"></i> '.tr('Attenzione, alcune risorse sono scadute o hanno esaurito i crediti:', [ <div class="alert alert-danger" role="alert"> <i class="fa fa-exclamation-triangle"></i> '.tr('Attenzione, alcune risorse sono scadute o hanno esaurito i crediti:', [
'_NUM_' => $risorse_scadute->count(), '_NUM_' => $risorse_scadute->count(),
]).'</div>'; ]).'</div>';
} }
if (!$risorse_in_scadenza->isEmpty()) { if (!$risorse_in_scadenza->isEmpty()) {
echo ' echo '
<div class="alert alert-warning" role="alert"> <i class="fa fa-clock-o"></i> '.tr('Attenzione, alcune risorse sono in scadenza o stanno per esaurire i crediti:', [ <div class="alert alert-warning" role="alert"> <i class="fa fa-clock-o"></i> '.tr('Attenzione, alcune risorse sono in scadenza o stanno per esaurire i crediti:', [
'_NUM_' => $risorse_in_scadenza->count(), '_NUM_' => $risorse_in_scadenza->count(),
]).'</div>'; ]).'</div>';
} }
} else { } else {
/*echo ' /*echo '
@ -145,17 +145,17 @@ if (Services::isEnabled()) {
<tbody>'; <tbody>';
foreach ($risorse_attive as $servizio) { foreach ($risorse_attive as $servizio) {
$scadenza = Carbon::parse($servizio['expiration_at']); $scadenza = Carbon::parse($servizio['expiration_at']);
echo ' echo '
<tr class="'.($scadenza->lessThan(Carbon::now()) ? 'danger' : ($scadenza->lessThan($limite_scadenze) ? 'warning' : '')).'"> <tr class="'.($scadenza->lessThan(Carbon::now()) ? 'danger' : ($scadenza->lessThan($limite_scadenze) ? 'warning' : '')).'">
<td>'.$servizio['name'].'</td> <td>'.$servizio['name'].'</td>
<td>'.(($servizio['credits'] < 100 && $servizio['credits'] !== null) ? '<b><i class="fa fa-warning text-warning" ></i> ' : '').($servizio['credits'] ?? '-').(($servizio['credits'] < 100 && $servizio['credits'] !== null) ? '</b>' : '').'</td> <td>'.(($servizio['credits'] < 100 && $servizio['credits'] !== null) ? '<b><i class="fa fa-warning text-warning" ></i> ' : '').($servizio['credits'] ?? '-').(($servizio['credits'] < 100 && $servizio['credits'] !== null) ? '</b>' : '').'</td>
<td>'.((Carbon::now()->diffInDays($scadenza, false) < $days && $scadenza) ? '<b><i class="fa fa-warning text-warning" ></i> ' : '').dateFormat($scadenza).' ('.$scadenza->diffForHumans().')'.((Carbon::now()->diffInDays($scadenza, false) < $days && $scadenza) ? '</b>' : '').'</td> <td>'.((Carbon::now()->diffInDays($scadenza, false) < $days && $scadenza) ? '<b><i class="fa fa-warning text-warning" ></i> ' : '').dateFormat($scadenza).' ('.$scadenza->diffForHumans().')'.((Carbon::now()->diffInDays($scadenza, false) < $days && $scadenza) ? '</b>' : '').'</td>
</tr>'; </tr>';
} }
echo ' echo '
</tbody> </tbody>
</table> </table>
</div>'; </div>';
@ -171,19 +171,19 @@ if (Services::isEnabled()) {
<div class="card-body"> <div class="card-body">
<div class="alert hidden" role="alert" id="spazio-fe"> <div class="alert hidden" role="alert" id="spazio-fe">
<i id="spazio-fe-icon" class=""></i> <span>'.tr('Attenzione, spazio per fatture elettroniche _TEXT_: _NUM_ utilizzati su _TOT_ disponibili', [ <i id="spazio-fe-icon" class=""></i> <span>'.tr('Attenzione, spazio per fatture elettroniche _TEXT_: _NUM_ utilizzati su _TOT_ disponibili', [
'_TEXT_' => '<span id="spazio-fe-text"></span>', '_TEXT_' => '<span id="spazio-fe-text"></span>',
'_NUM_' => '<span id="spazio-fe-occupato"></span>', '_NUM_' => '<span id="spazio-fe-occupato"></span>',
'_TOT_' => '<span id="spazio-fe-totale"></span>', '_TOT_' => '<span id="spazio-fe-totale"></span>',
]).'.<br>'.tr("Contattare l'assistenza per risolvere il problema").'</span>. ]).'.<br>'.tr("Contattare l'assistenza per risolvere il problema").'</span>.
</div> </div>
<div class="alert hidden" role="alert" id="numero-fe"> <div class="alert hidden" role="alert" id="numero-fe">
<i id="numero-fe-icon" class=""></i> <span>'.tr('Attenzione, numero di fatture elettroniche per l\'annualità _TEXT_: _NUM_ documenti transitati su _TOT_ disponibili', [ <i id="numero-fe-icon" class=""></i> <span>'.tr('Attenzione, numero di fatture elettroniche per l\'annualità _TEXT_: _NUM_ documenti transitati su _TOT_ disponibili', [
'_TEXT_' => '<span id="numero-fe-text"></span>', '_TEXT_' => '<span id="numero-fe-text"></span>',
'_NUM_' => '<span id="numero-fe-occupato"></span>', '_NUM_' => '<span id="numero-fe-occupato"></span>',
'_TOT_' => '<span id="numero-fe-totale"></span>', '_TOT_' => '<span id="numero-fe-totale"></span>',
]).'.<br>'.tr("Contattare l'assistenza per risolvere il problema").'</span>. ]).'.<br>'.tr("Contattare l'assistenza per risolvere il problema").'</span>.
</div> </div>

View File

@ -108,7 +108,7 @@ switch (filter('op')) {
$utente->save(); $utente->save();
$dbo->query('DELETE FROM zz_user_sedi WHERE id_user = '.prepare($id_utente)); $dbo->query('DELETE FROM zz_user_sedi WHERE id_user = '.prepare($id_utente));
$sedi= post('idsede'); $sedi = post('idsede');
if (empty($sedi)) { if (empty($sedi)) {
$sedi = $dbo->fetchArray('SELECT id FROM an_sedi WHERE idanagrafica = '.prepare($id_azienda)); $sedi = $dbo->fetchArray('SELECT id FROM an_sedi WHERE idanagrafica = '.prepare($id_azienda));

View File

@ -701,12 +701,12 @@ class FatturaElettronica implements \Stringable
// Codice fiscale // Codice fiscale
// TODO: Nella fattura elettronica, emessa nei confronti di soggetti titolari di partita IVA (nodo CessionarioCommittente), non va indicato il codice fiscale se è già presente la partita iva. // TODO: Nella fattura elettronica, emessa nei confronti di soggetti titolari di partita IVA (nodo CessionarioCommittente), non va indicato il codice fiscale se è già presente la partita iva.
if (!empty($anagrafica['codice_fiscale'])) { if (!empty($anagrafica['codice_fiscale'])) {
$result['CodiceFiscale'] = preg_replace('/\s+/', '', $anagrafica['codice_fiscale']); $result['CodiceFiscale'] = preg_replace('/\s+/', '', (string) $anagrafica['codice_fiscale']);
// $result['CodiceFiscale'] = str_replace($anagrafica->nazione->iso2, '', $result['CodiceFiscale']); // $result['CodiceFiscale'] = str_replace($anagrafica->nazione->iso2, '', $result['CodiceFiscale']);
// Rimuovo eventuali idicazioni relative all'iso2 della nazione, solo se la stringa inizia con quest'ultima. // Rimuovo eventuali idicazioni relative all'iso2 della nazione, solo se la stringa inizia con quest'ultima.
$result['CodiceFiscale'] = preg_replace('/^'.preg_quote($anagrafica->nazione->iso2, '/').'/', '', $anagrafica['codice_fiscale']); $result['CodiceFiscale'] = preg_replace('/^'.preg_quote($anagrafica->nazione->iso2, '/').'/', '', (string) $anagrafica['codice_fiscale']);
} }
// Partita IVA: se privato estero non va considerato il codice fiscale ma la partita iva con 9 zeri // Partita IVA: se privato estero non va considerato il codice fiscale ma la partita iva con 9 zeri
@ -1666,7 +1666,7 @@ class FatturaElettronica implements \Stringable
$co_scadenziario = $database->fetchArray('SELECT * FROM `co_scadenziario` WHERE `iddocumento` = '.prepare($documento['id'])); $co_scadenziario = $database->fetchArray('SELECT * FROM `co_scadenziario` WHERE `iddocumento` = '.prepare($documento['id']));
foreach ($co_scadenziario as $scadenza) { foreach ($co_scadenziario as $scadenza) {
$co_pagamenti = Pagamento::find($scadenza['id_pagamento']); $co_pagamenti = Pagamento::find($scadenza['id_pagamento']);
$banca = ($co_pagamenti && $co_pagamenti->isRiBa()) ? Banca::find($scadenza['id_banca_controparte']): ($scadenza['id_banca_azienda'] ?? Banca::where('id_anagrafica', $scadenza['idanagrafica'])->where('predefined', 1)->first()); $banca = ($co_pagamenti && $co_pagamenti->isRiBa()) ? Banca::find($scadenza['id_banca_controparte']) : ($scadenza['id_banca_azienda'] ?? Banca::where('id_anagrafica', $scadenza['idanagrafica'])->where('predefined', 1)->first());
$pagamento = [ $pagamento = [
'ModalitaPagamento' => $co_pagamenti['codice_modalita_pagamento_fe'], 'ModalitaPagamento' => $co_pagamenti['codice_modalita_pagamento_fe'],
'DataScadenzaPagamento' => $scadenza['scadenza'], 'DataScadenzaPagamento' => $scadenza['scadenza'],

View File

@ -482,7 +482,7 @@ class FatturaOrdinaria extends FatturaElettronica
$totale_documento = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento']['ImportoTotaleDocumento']; $totale_documento = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento']['ImportoTotaleDocumento'];
if (empty($totale_documento)) { if (empty($totale_documento)) {
//se ImportoTotaleDocumento non è valorizzato recupero l'importo dal nodo ImportoPagamento // se ImportoTotaleDocumento non è valorizzato recupero l'importo dal nodo ImportoPagamento
$totale_documento = $this->getBody()['DatiPagamento']['DettaglioPagamento']['ImportoPagamento']; $totale_documento = $this->getBody()['DatiPagamento']['DettaglioPagamento']['ImportoPagamento'];
} }
$differenza_iva = round(abs($fattura->iva) - abs($imposta_riepilogo), 2); $differenza_iva = round(abs($fattura->iva) - abs($imposta_riepilogo), 2);

View File

@ -38,15 +38,15 @@ switch ($operazione) {
if (post('scadenza') == 'Mensile') { if (post('scadenza') == 'Mensile') {
$timeing = '+1 month'; $timeing = '+1 month';
} else if (post('scadenza') == 'Bimestrale') { } elseif (post('scadenza') == 'Bimestrale') {
$timeing = '+2 month'; $timeing = '+2 month';
} else if (post('scadenza') == 'Trimestrale') { } elseif (post('scadenza') == 'Trimestrale') {
$timeing = '+3 month'; $timeing = '+3 month';
} else if (post('scadenza') == 'Quadrimestrale') { } elseif (post('scadenza') == 'Quadrimestrale') {
$timeing = '+4 month'; $timeing = '+4 month';
} else if (post('scadenza') == 'Semestrale') { } elseif (post('scadenza') == 'Semestrale') {
$timeing = '+6 month'; $timeing = '+6 month';
} else if (post('scadenza') == 'Annuale') { } elseif (post('scadenza') == 'Annuale') {
$timeing = '+12 month'; $timeing = '+12 month';
} }

View File

@ -123,16 +123,24 @@ class Pianificazione extends Document
return $this->contratto->descrizioni(); return $this->contratto->descrizioni();
} }
public function getReferenceName() {} public function getReferenceName()
{
}
public function getReferenceNumber() {} public function getReferenceNumber()
{
}
public function getReferenceDate() {} public function getReferenceDate()
{
}
public function getReferenceRagioneSociale() public function getReferenceRagioneSociale()
{ {
return $this->anagrafica->ragione_sociale; return $this->anagrafica->ragione_sociale;
} }
public function getReference() {} public function getReference()
{
}
} }

View File

@ -152,20 +152,28 @@ class Promemoria extends Document
return $this->hasMany(Components\Descrizione::class, 'id_promemoria'); return $this->hasMany(Components\Descrizione::class, 'id_promemoria');
} }
public function getModuleAttribute() {} public function getModuleAttribute()
{
}
public function getReferenceName() {} public function getReferenceName()
{
}
public function getReferenceNumber() public function getReferenceNumber()
{ {
} }
public function getReferenceDate() {} public function getReferenceDate()
{
}
public function getReferenceRagioneSociale() public function getReferenceRagioneSociale()
{ {
return $this->anagrafica->ragione_sociale; return $this->anagrafica->ragione_sociale;
} }
public function getReference() {} public function getReference()
{
}
} }

View File

@ -35,14 +35,14 @@ echo '
<input type="hidden" name="backto" value="record-edit"> <input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="op" value="updatesede">'; <input type="hidden" name="op" value="updatesede">';
if (!$utenti) { if (!$utenti) {
echo' echo '
<div class="alert alert-warning"> <div class="alert alert-warning">
<i class="fa fa-warning"></i> '.tr('Nessun utente ha i permessi per questa sede, impostali da').' <a href='.base_path().'/editor.php?id_module='.Module::where('name', 'Utenti e permessi')->first()->id.' target="_blank">'.tr('Utenti e Permessi.').'</a> <i class="fa fa-warning"></i> '.tr('Nessun utente ha i permessi per questa sede, impostali da').' <a href='.base_path().'/editor.php?id_module='.Module::where('name', 'Utenti e permessi')->first()->id.' target="_blank">'.tr('Utenti e Permessi.').'</a>
</div>'; </div>';
} }
echo' echo '
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
{[ "type": "text", "label": "'.tr('Nome sede').'", "name": "nomesede", "required": 1, "value": "$nomesede$" ]} {[ "type": "text", "label": "'.tr('Nome sede').'", "name": "nomesede", "required": 1, "value": "$nomesede$" ]}

View File

@ -120,7 +120,7 @@ class Generator
$values = array_column($replaces, 'regex'); $values = array_column($replaces, 'regex');
$pattern = preg_replace('/#{1,}/', '#', $pattern); $pattern = preg_replace('/#{1,}/', '#', (string) $pattern);
$pattern = str_replace('\\#', '#', preg_quote($pattern, '/')); $pattern = str_replace('\\#', '#', preg_quote($pattern, '/'));
$pattern = str_replace(array_keys($replaces), array_values($values), $pattern); $pattern = str_replace(array_keys($replaces), array_values($values), $pattern);

View File

@ -157,7 +157,7 @@ class XML
protected static function removeBOM($text) protected static function removeBOM($text)
{ {
$bom = pack('H*', 'EFBBBF'); $bom = pack('H*', 'EFBBBF');
$text = preg_replace("/^$bom/", '', $text); $text = preg_replace("/^$bom/", '', (string) $text);
return $text; return $text;
} }

View File

@ -114,7 +114,7 @@ foreach ($righe as $riga) {
'.nl2br($text); '.nl2br($text);
} }
} }
$r['descrizione'] = preg_replace("/Rif\.(.*)/s", '', $r['descrizione']); $r['descrizione'] = preg_replace("/Rif\.(.*)/s", '', (string) $r['descrizione']);
$autofill->count($r['descrizione']); $autofill->count($r['descrizione']);
} }

View File

@ -120,7 +120,7 @@ foreach ($righe as $riga) {
'.nl2br($text); '.nl2br($text);
} }
} }
$r['descrizione'] = preg_replace("/Rif\.(.*)/s", ' ', $r['descrizione']); $r['descrizione'] = preg_replace("/Rif\.(.*)/s", ' ', (string) $r['descrizione']);
$autofill->count($r['descrizione']); $autofill->count($r['descrizione']);
} }

View File

@ -21,7 +21,6 @@ if (!$is_last_page) {
return; return;
} }
$imponibile = 0; $imponibile = 0;
foreach ($v_totale as $key => $v) { foreach ($v_totale as $key => $v) {
$totale_scontato += $v; $totale_scontato += $v;
@ -32,7 +31,7 @@ foreach ($righe as $riga) {
$sconto += floatval($riga->sconto); $sconto += floatval($riga->sconto);
} }
$imponibile = $totale_scontato+$sconto; $imponibile = $totale_scontato + $sconto;
$rivalsa = 0; $rivalsa = 0;
foreach ($righe as $riga) { foreach ($righe as $riga) {
@ -44,7 +43,7 @@ $totale_imponibile = $totale_scontato + $rivalsa;
$totale_iva = 0; $totale_iva = 0;
foreach ($righe as $riga) { foreach ($righe as $riga) {
$aliquota = $database->fetchOne('SELECT percentuale FROM co_iva WHERE id = '.prepare($riga->idiva))['percentuale']; $aliquota = $database->fetchOne('SELECT percentuale FROM co_iva WHERE id = '.prepare($riga->idiva))['percentuale'];
$totale_iva += $riga['iva'] + $riga['rivalsainps'] * $aliquota / 100;; $totale_iva += $riga['iva'] + $riga['rivalsainps'] * $aliquota / 100;
} }
$totale = $totale_iva + $totale_imponibile; $totale = $totale_iva + $totale_imponibile;
@ -209,11 +208,11 @@ echo '
* Altrimenti: Imponibile | Totale IVA | Totale * Altrimenti: Imponibile | Totale IVA | Totale
*/ */
if ($has_ritenuta || $show_sconto || $has_rivalsa) { if ($has_ritenuta || $show_sconto || $has_rivalsa) {
echo " echo "
<tr> <tr>
<th class='text-center small' style='width:".$width."'> <th class='text-center small' style='width:".$width."'>
".tr('Imponibile', [], ['upper' => true])." ".tr('Imponibile', [], ['upper' => true]).'
</th>"; </th>';
} else { } else {
echo " echo "
<tr> <tr>
@ -231,10 +230,10 @@ if ($show_sconto) {
</th>'; </th>';
} }
if ($has_rivalsa) { if ($has_rivalsa) {
echo " echo "
<th class='text-center small' style='width:".$width."'> <th class='text-center small' style='width:".$width."'>
".tr('Cassa Previdenziale', [], ['upper' => true])." ".tr('Cassa Previdenziale', [], ['upper' => true]).'
</th>"; </th>';
} else { } else {
echo " echo "
<th class='text-center small' style='width:".$width."'> <th class='text-center small' style='width:".$width."'>
@ -242,9 +241,9 @@ echo "
} }
echo " echo "
<th class='text-center small' style='width:".$width."'> <th class='text-center small' style='width:".$width."'>
".(($show_sconto) ? $etichette['totale_parziale'] : $etichette['totale'])." ".(($show_sconto) ? $etichette['totale_parziale'] : $etichette['totale']).'
</th> </th>
</tr>"; </tr>';
if ($has_ritenuta || $show_sconto || $has_rivalsa) { if ($has_ritenuta || $show_sconto || $has_rivalsa) {
echo " echo "
@ -267,7 +266,7 @@ if ($show_sconto) {
<td class='cell-padded text-center'> <td class='cell-padded text-center'>
".moneyFormat($totale_scontato, $d_totali).' ".moneyFormat($totale_scontato, $d_totali).'
</td>'; </td>';
} else if (!$has_rivalsa) { } elseif (!$has_rivalsa) {
echo " echo "
<td class='cell-padded text-center'> <td class='cell-padded text-center'>
</td>"; </td>";
@ -293,8 +292,7 @@ if ($has_rivalsa) {
'.moneyFormat($totale_imponibile, $d_totali).' '.moneyFormat($totale_imponibile, $d_totali).'
</td> </td>
</tr>'; </tr>';
} elseif ($show_sconto) {
} else if ($show_sconto) {
echo ' echo '
<td class="cell-padded text-center"> <td class="cell-padded text-center">
</td> </td>
@ -332,19 +330,18 @@ echo '
<td class="cell-padded text-center" colspan="'.$first_colspan.'"> <td class="cell-padded text-center" colspan="'.$first_colspan.'">
'.moneyFormat($totale_iva, $d_totali).' '.moneyFormat($totale_iva, $d_totali).'
</td>'; </td>';
if ($has_ritenuta || $show_sconto || $has_rivalsa || $has_split_payment || $has_sconto_finale) { if ($has_ritenuta || $show_sconto || $has_rivalsa || $has_split_payment || $has_sconto_finale) {
echo'<td class="cell-padded text-center" colspan="'.$second_colspan.'"> echo '<td class="cell-padded text-center" colspan="'.$second_colspan.'">
'.moneyFormat($totale, $d_total); '.moneyFormat($totale, $d_total);
} else { } else {
echo' echo '
<td class="cell-padded text-center" colspan="'.$second_colspan.'" style="background-color:#77dd77;"> <td class="cell-padded text-center" colspan="'.$second_colspan.'" style="background-color:#77dd77;">
<b>'.moneyFormat($totale, $d_total).'</b>'; <b>'.moneyFormat($totale, $d_total).'</b>';
} }
echo' echo '
</td> </td>
</tr>'; </tr>';
/* /*
* Riga di riepilogo di Ritenuta d'acconto e Ritenuta contributi. * Riga di riepilogo di Ritenuta d'acconto e Ritenuta contributi.
* Ritenuta | Totale (+ Rivalsa INPS - Ritenuta) * Ritenuta | Totale (+ Rivalsa INPS - Ritenuta)

View File

@ -40,7 +40,7 @@ $query = Query::getQuery($structure, $where, 0, []);
$query = Modules::replaceAdditionals($structure->id, $query); $query = Modules::replaceAdditionals($structure->id, $query);
// Modifiche alla query principale // Modifiche alla query principale
$query = preg_replace('/FROM[\s\t\n]+`mg_articoli`/s', 'FROM `mg_articoli` LEFT JOIN (SELECT `idarticolo`, SUM(`qta`) AS qta_totale FROM `mg_movimenti` WHERE `data` <='.prepare($period_end).' GROUP BY `idarticolo`) movimenti ON `movimenti`.`idarticolo`=`mg_articoli`.`id` ', $query); $query = preg_replace('/FROM[\s\t\n]+`mg_articoli`/s', 'FROM `mg_articoli` LEFT JOIN (SELECT `idarticolo`, SUM(`qta`) AS qta_totale FROM `mg_movimenti` WHERE `data` <='.prepare($period_end).' GROUP BY `idarticolo`) movimenti ON `movimenti`.`idarticolo`=`mg_articoli`.`id` ', (string) $query);
$query = preg_replace('/^SELECT/', 'SELECT `movimenti`.`qta_totale`, ', $query); $query = preg_replace('/^SELECT/', 'SELECT `movimenti`.`qta_totale`, ', $query);
if (post('acquisto') == 'standard') { if (post('acquisto') == 'standard') {

View File

@ -151,7 +151,7 @@ foreach ($righe as $riga) {
'.nl2br($text); '.nl2br($text);
} }
} }
$r['descrizione'] = preg_replace("/Rif\.(.*)/s", '', $r['descrizione']); $r['descrizione'] = preg_replace("/Rif\.(.*)/s", '', (string) $r['descrizione']);
$autofill->count($r['descrizione']); $autofill->count($r['descrizione']);
} }