This commit is contained in:
MatteoPistorello 2021-04-12 16:33:27 +02:00
commit b6153fff53
20 changed files with 93 additions and 92 deletions

View File

@ -1063,3 +1063,8 @@ div.tip {
.div-loading { .div-loading {
opacity: 0.5; opacity: 0.5;
} }
/* Stile Fullcalendar per weekend */
.fc-sat, .fc-sun {
background-color: rgba(255, 99, 71, 0.6) !important;
}

View File

@ -171,4 +171,4 @@ if (in_array($module['name'], ['Ordini cliente', 'Ordini fornitore'])) {
} }
}); });
</script>'; </script>';
} }

View File

@ -127,7 +127,7 @@ echo '
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
{[ "type": "ckeditor", "label": "'.tr('Contenuto').'", "name": "body", "value": '.json_encode($body).' ]} {[ "type": "ckeditor", "label": "'.tr('Contenuto').'", "name": "body", "id": "body_'.rand(0, 999).'", "value": '.json_encode($body).' ]}
</div> </div>
</div>'; </div>';

View File

@ -483,13 +483,12 @@ $riga = $contratto->getRiga($type, $id_riga);
if (!empty($documento->sconto_finale)) { if (!empty($documento->sconto_finale)) {
$contratto->sconto_finale = $documento->sconto_finale; $contratto->sconto_finale = $documento->sconto_finale;
} elseif(!empty($documento->sconto_finale_percentuale)){ } elseif (!empty($documento->sconto_finale_percentuale)) {
$contratto->sconto_finale_percentuale = $documento->sconto_finale_percentuale; $contratto->sconto_finale_percentuale = $documento->sconto_finale_percentuale;
} }
$contratto->save(); $contratto->save();
$righe = $documento->getRighe(); $righe = $documento->getRighe();
foreach ($righe as $riga) { foreach ($righe as $riga) {
if (post('evadere')[$riga->id] == 'on' and !empty(post('qta_da_evadere')[$riga->id])) { if (post('evadere')[$riga->id] == 'on' and !empty(post('qta_da_evadere')[$riga->id])) {

View File

@ -118,7 +118,7 @@ if (strtotime($record['data_conclusione']) < strtotime($record['data_accettazion
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
{[ "type": "number", "label": "<?php echo ('Sconto finale'); ?>", "name": "sconto_finale", "value": "<?php echo $contratto->sconto_finale_percentuale ?: $contratto->sconto_finale; ?>", "icon-after": "choice|untprc|<?php echo (empty($contratto->sconto_finale) ? 'PRC' : 'UNT'); ?>", "help": "<?php echo tr('Sconto finale, utilizzabile per applicare sconti sul Netto a pagare del documento'); ?>." ]} {[ "type": "number", "label": "<?php echo 'Sconto finale'; ?>", "name": "sconto_finale", "value": "<?php echo $contratto->sconto_finale_percentuale ?: $contratto->sconto_finale; ?>", "icon-after": "choice|untprc|<?php echo empty($contratto->sconto_finale) ? 'PRC' : 'UNT'; ?>", "help": "<?php echo tr('Sconto finale, utilizzabile per applicare sconti sul Netto a pagare del documento'); ?>." ]}
</div> </div>
</div> </div>

View File

@ -334,7 +334,7 @@ switch (post('op')) {
if (!empty($documento->sconto_finale)) { if (!empty($documento->sconto_finale)) {
$ddt->sconto_finale = $documento->sconto_finale; $ddt->sconto_finale = $documento->sconto_finale;
} elseif(!empty($documento->sconto_finale_percentuale)){ } elseif (!empty($documento->sconto_finale_percentuale)) {
$ddt->sconto_finale_percentuale = $documento->sconto_finale_percentuale; $ddt->sconto_finale_percentuale = $documento->sconto_finale_percentuale;
} }

View File

@ -705,7 +705,7 @@ switch (post('op')) {
if (!empty($documento->sconto_finale)) { if (!empty($documento->sconto_finale)) {
$fattura->sconto_finale = $documento->sconto_finale; $fattura->sconto_finale = $documento->sconto_finale;
} elseif(!empty($documento->sconto_finale_percentuale)){ } elseif (!empty($documento->sconto_finale_percentuale)) {
$fattura->sconto_finale_percentuale = $documento->sconto_finale_percentuale; $fattura->sconto_finale_percentuale = $documento->sconto_finale_percentuale;
} }

View File

@ -73,10 +73,8 @@ foreach ($raggruppamenti as $mese => $raggruppamento) {
// Elenco interventi da pianificare // Elenco interventi da pianificare
foreach ($raggruppamento as $r) { foreach ($raggruppamento as $r) {
$rs_tecnici = $dbo->fetchArray("SELECT GROUP_CONCAT(ragione_sociale SEPARATOR ',') AS tecnici FROM an_anagrafiche INNER JOIN in_interventi_tecnici_assegnati ON in_interventi_tecnici_assegnati.id_tecnico=an_anagrafiche.idanagrafica WHERE id_intervento=".prepare($r['id']).' GROUP BY id_intervento');
$rs_tecnici = $dbo->fetchArray("SELECT GROUP_CONCAT(ragione_sociale SEPARATOR ',') AS tecnici FROM an_anagrafiche INNER JOIN in_interventi_tecnici_assegnati ON in_interventi_tecnici_assegnati.id_tecnico=an_anagrafiche.idanagrafica WHERE id_intervento=".prepare($r['id'])." GROUP BY id_intervento");
echo ' echo '
<tr id="int_'.$r['id'].'"> <tr id="int_'.$r['id'].'">
<td><a target="_blank" >'.Modules::link(Modules::get('Interventi')['id'], $r['id'], $r['codice']).'</a></td> <td><a target="_blank" >'.Modules::link(Modules::get('Interventi')['id'], $r['id'], $r['codice']).'</a></td>

View File

@ -195,7 +195,7 @@ switch (post('op')) {
// Impostare data evasione su tutte le righe // Impostare data evasione su tutte le righe
if (post('data_evasione_all') == 1) { if (post('data_evasione_all') == 1) {
$righe = $ordine->getRighe()->where('is_descrizione', '=', '0');; $righe = $ordine->getRighe()->where('is_descrizione', '=', '0');
foreach ($righe as $riga) { foreach ($righe as $riga) {
$riga->data_evasione = post('data_evasione') ?: null; $riga->data_evasione = post('data_evasione') ?: null;
@ -205,7 +205,7 @@ switch (post('op')) {
} }
// Impostare confermato su tutte le righe // Impostare confermato su tutte le righe
if (post('confermato_all') == 1) { if (post('confermato_all') == 1) {
$righe = $ordine->getRighe()->where('is_descrizione', '=', '0');; $righe = $ordine->getRighe()->where('is_descrizione', '=', '0');
foreach ($righe as $riga) { foreach ($righe as $riga) {
$riga->confermato = post('confermato') ?: 0; $riga->confermato = post('confermato') ?: 0;
@ -405,7 +405,7 @@ switch (post('op')) {
if (!empty($documento->sconto_finale)) { if (!empty($documento->sconto_finale)) {
$ordine->sconto_finale = $documento->sconto_finale; $ordine->sconto_finale = $documento->sconto_finale;
} elseif(!empty($documento->sconto_finale_percentuale)){ } elseif (!empty($documento->sconto_finale_percentuale)) {
$ordine->sconto_finale_percentuale = $documento->sconto_finale_percentuale; $ordine->sconto_finale_percentuale = $documento->sconto_finale_percentuale;
} }

View File

@ -111,7 +111,7 @@ if ($module['name'] == 'Ordini cliente') {
{[ "type": "select", "label": "'.tr('Pagamento').'", "name": "idpagamento", "required": 0, "ajax-source": "pagamenti", "value": "$idpagamento$" ]} {[ "type": "select", "label": "'.tr('Pagamento').'", "name": "idpagamento", "required": 0, "ajax-source": "pagamenti", "value": "$idpagamento$" ]}
</div> </div>
</div>'; </div>';
if ($dir == 'entrata') { if ($dir == 'entrata') {
?> ?>
<div class="row"> <div class="row">
@ -124,7 +124,7 @@ if ($module['name'] == 'Ordini cliente') {
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
{[ "type": "number", "label": "<?php echo ('Sconto finale'); ?>", "name": "sconto_finale", "value": "<?php echo $ordine->sconto_finale_percentuale ?: $ordine->sconto_finale; ?>", "icon-after": "choice|untprc|<?php echo (empty($ordine->sconto_finale) ? 'PRC' : 'UNT'); ?>", "help": "<?php echo tr('Sconto finale, utilizzabile per applicare sconti sul Netto a pagare del documento'); ?>." ]} {[ "type": "number", "label": "<?php echo 'Sconto finale'; ?>", "name": "sconto_finale", "value": "<?php echo $ordine->sconto_finale_percentuale ?: $ordine->sconto_finale; ?>", "icon-after": "choice|untprc|<?php echo empty($ordine->sconto_finale) ? 'PRC' : 'UNT'; ?>", "help": "<?php echo tr('Sconto finale, utilizzabile per applicare sconti sul Netto a pagare del documento'); ?>." ]}
</div> </div>
</div> </div>
<?php <?php

View File

@ -131,7 +131,7 @@ foreach ($righe as $riga) {
if (!empty($riga->ora_evasione)) { if (!empty($riga->ora_evasione)) {
$ora_evasione = '<br>'.Translator::timeToLocale($riga->ora_evasione).''; $ora_evasione = '<br>'.Translator::timeToLocale($riga->ora_evasione).'';
} else{ } else {
$ora_evasione = ''; $ora_evasione = '';
} }

View File

@ -139,7 +139,7 @@ echo '
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
{[ "type": "number", "label": "<?php echo ('Sconto finale'); ?>", "name": "sconto_finale", "value": "<?php echo $preventivo->sconto_finale_percentuale ?: $preventivo->sconto_finale; ?>", "icon-after": "choice|untprc|<?php echo (empty($preventivo->sconto_finale) ? 'PRC' : 'UNT'); ?>", "help": "<?php echo tr('Sconto finale, utilizzabile per applicare sconti sul Netto a pagare del documento'); ?>." ]} {[ "type": "number", "label": "<?php echo 'Sconto finale'; ?>", "name": "sconto_finale", "value": "<?php echo $preventivo->sconto_finale_percentuale ?: $preventivo->sconto_finale; ?>", "icon-after": "choice|untprc|<?php echo empty($preventivo->sconto_finale) ? 'PRC' : 'UNT'; ?>", "help": "<?php echo tr('Sconto finale, utilizzabile per applicare sconti sul Netto a pagare del documento'); ?>." ]}
</div> </div>
</div> </div>

View File

@ -212,7 +212,7 @@ echo '
</td> </td>
<td></td> <td></td>
</tr>'; </tr>';
// SCONTO FINALE // SCONTO FINALE
if (!empty($sconto_finale)) { if (!empty($sconto_finale)) {
echo ' echo '

View File

@ -82,7 +82,7 @@ if ($fattura !== null) {
</button> </button>
</form>'; </form>';
$file = $generata ? $fattura->getFatturaElettronica() : null; $file = $generata ? $fattura->getFatturaElettronica() : null;
echo ' echo '
@ -92,8 +92,8 @@ if ($fattura !== null) {
<i class="fa fa-eye"></i> '.tr('Visualizza').' <i class="fa fa-eye"></i> '.tr('Visualizza').'
</a>'; </a>';
// Scelgo quando posso inviarla // Scelgo quando posso inviarla
$inviabile = Interaction::isEnabled() && $generata && intval($stato_fe['is_inviabile']); $inviabile = Interaction::isEnabled() && $generata && intval($stato_fe['is_inviabile']);
echo ' echo '
<i class="fa fa-arrow-right fa-fw text-muted"></i> <i class="fa fa-arrow-right fa-fw text-muted"></i>
@ -270,8 +270,8 @@ if ($fattura !== null) {
salvaForm("#edit-form", {}, button) salvaForm("#edit-form", {}, button)
.then(function(valid) {'; .then(function(valid) {';
if ($generata) { if ($generata) {
echo ' echo '
/*<p class=\"text-danger\">'.tr('Se stai attendendo una ricevuta dal sistema SdI, rigenerando la fattura elettronica non sarà possibile corrispondere la ricevuta una volta emessa').'.</p>*/ /*<p class=\"text-danger\">'.tr('Se stai attendendo una ricevuta dal sistema SdI, rigenerando la fattura elettronica non sarà possibile corrispondere la ricevuta una volta emessa').'.</p>*/
swal({ swal({
title: "'.tr('Sei sicuro di rigenerare la fattura?').'", title: "'.tr('Sei sicuro di rigenerare la fattura?').'",
@ -286,12 +286,12 @@ if ($fattura !== null) {
$("#form-xml").submit(); $("#form-xml").submit();
} }
});'; });';
} else { } else {
echo ' echo '
$("#form-xml").submit();'; $("#form-xml").submit();';
} }
echo ' echo '
}).catch(function() { }).catch(function() {
swal({ swal({
type: "error", type: "error",
@ -301,4 +301,4 @@ if ($fattura !== null) {
}); });
}; };
</script>'; </script>';
} }

View File

@ -126,14 +126,14 @@ switch ($operazione) {
$qta_evasa += $qta_riga; $qta_evasa += $qta_riga;
$pianificata[] = $pianificazioni[$rata]; $pianificata[] = $pianificazioni[$rata];
} else{ } else {
$non_pianificata[] = $pianificazioni[$rata]; $non_pianificata[] = $pianificazioni[$rata];
} }
} }
$r->delete(); $r->delete();
} }
$tot_non_pianificati = implode(', ', array_unique(array_diff($non_pianificata, $pianificata))); $tot_non_pianificati = implode(', ', array_unique(array_diff($non_pianificata, $pianificata)));
if(!empty($tot_non_pianificati)){ if (!empty($tot_non_pianificati)) {
$dbo->query('DELETE FROM `co_fatturazione_contratti` WHERE `id` IN ('.$tot_non_pianificati.')'); $dbo->query('DELETE FROM `co_fatturazione_contratti` WHERE `id` IN ('.$tot_non_pianificati.')');
} }
} }

View File

@ -24,17 +24,16 @@ use Illuminate\Database\Eloquent\Model as Model;
abstract class Document extends Model implements ReferenceInterface, DocumentInterface abstract class Document extends Model implements ReferenceInterface, DocumentInterface
{ {
protected $casts = [
'sconto_finale' => 'float',
'sconto_finale_percentuale' => 'float',
];
/** /**
* Abilita la movimentazione automatica degli Articoli, finalizzata alla gestione interna del magazzino. * Abilita la movimentazione automatica degli Articoli, finalizzata alla gestione interna del magazzino.
* *
* @var bool * @var bool
*/ */
public static $movimenta_magazzino = true; public static $movimenta_magazzino = true;
protected $casts = [
'sconto_finale' => 'float',
'sconto_finale_percentuale' => 'float',
];
/** /**
* Restituisce il valore della variabile statica $movimenta_magazzino per il documento. * Restituisce il valore della variabile statica $movimenta_magazzino per il documento.
@ -217,6 +216,52 @@ abstract class Document extends Model implements ReferenceInterface, DocumentInt
return $result; return $result;
} }
/**
* Imposta lo sconto finale.
*
* @param $sconto
* @param $tipo
*/
public function setScontoFinale($sconto, $tipo)
{
if ($tipo == 'PRC') {
$this->sconto_finale_percentuale = $sconto;
$this->sconto_finale = 0;
} else {
$this->sconto_finale = $sconto;
$this->sconto_finale_percentuale = 0;
}
}
/**
* Restituisce lo sconto finale.
*/
public function getScontoFinale()
{
$netto = $this->calcola('netto');
if (!empty($this->sconto_finale_percentuale)) {
$sconto = $netto * ($this->sconto_finale_percentuale / 100);
} else {
$sconto = $this->sconto_finale;
}
return $sconto;
}
/**
* Calcola il netto a pagare del documento.
*
* @return float
*/
public function getNettoAttribute()
{
$netto = $this->calcola('netto');
$sconto_finale = $this->getScontoFinale();
return $netto - $sconto_finale;
}
/** /**
* Costruisce una nuova collezione Laravel a partire da quelle indicate. * Costruisce una nuova collezione Laravel a partire da quelle indicate.
* *
@ -272,50 +317,4 @@ abstract class Document extends Model implements ReferenceInterface, DocumentInt
return round($value, $decimals); return round($value, $decimals);
} }
/**
* Imposta lo sconto finale.
*
* @param $sconto
* @param $tipo
*/
public function setScontoFinale($sconto, $tipo)
{
if ($tipo == 'PRC') {
$this->sconto_finale_percentuale = $sconto;
$this->sconto_finale = 0;
} else {
$this->sconto_finale = $sconto;
$this->sconto_finale_percentuale = 0;
}
}
/**
* Restituisce lo sconto finale.
*/
public function getScontoFinale()
{
$netto = $this->calcola('netto');
if (!empty($this->sconto_finale_percentuale)) {
$sconto = $netto * ($this->sconto_finale_percentuale / 100);
} else {
$sconto = $this->sconto_finale;
}
return $sconto;
}
/**
* Calcola il netto a pagare del documento.
*
* @return float
*/
public function getNettoAttribute()
{
$netto = $this->calcola('netto');
$sconto_finale = $this->getScontoFinale();
return $netto - $sconto_finale;
}
} }

View File

@ -261,7 +261,7 @@ if ($options['pricing']) {
</th> </th>
</tr>'; </tr>';
if($sconto_finale){ if ($sconto_finale) {
// SCONTO FINALE // SCONTO FINALE
echo ' echo '
<tr> <tr>

View File

@ -86,7 +86,7 @@ if ($options['pricing']) {
</td> </td>
</tr>'; </tr>';
if($sconto_finale){ if ($sconto_finale) {
// Riga 4 SCONTO FINALE // Riga 4 SCONTO FINALE
echo " echo "
<tr> <tr>
@ -97,9 +97,9 @@ if ($options['pricing']) {
<tr> <tr>
<td class='cell-padded text-right'> <td class='cell-padded text-right'>
".moneyFormat($sconto_finale, 2)." ".moneyFormat($sconto_finale, 2).'
</td> </td>
</tr>"; </tr>';
// Riga 5 NETTO A PAGARE // Riga 5 NETTO A PAGARE
echo " echo "
@ -111,9 +111,9 @@ if ($options['pricing']) {
<tr> <tr>
<td class='cell-padded text-right'> <td class='cell-padded text-right'>
".moneyFormat($netto_a_pagare, 2)." ".moneyFormat($netto_a_pagare, 2).'
</td> </td>
</tr>"; </tr>';
} }
} else { } else {
// Riga 1 // Riga 1

View File

@ -77,11 +77,11 @@ if ($options['pricing']) {
} }
echo " echo "
<th class='text-center' style='width:10%'>".tr('Data evasione', [], ['upper' => true])."</th> <th class='text-center' style='width:10%'>".tr('Data evasione', [], ['upper' => true]).'</th>
</tr> </tr>
</thead> </thead>
<tbody>"; <tbody>';
$num = 0; $num = 0;
foreach ($righe as $riga) { foreach ($righe as $riga) {
@ -122,7 +122,7 @@ foreach ($righe as $riga) {
'.nl2br($r['descrizione']); '.nl2br($r['descrizione']);
if ($riga->isArticolo()) { if ($riga->isArticolo()) {
if($documento->direzione == 'entrata'){ if ($documento->direzione == 'entrata') {
// Codice articolo // Codice articolo
$text = tr('COD. _COD_', [ $text = tr('COD. _COD_', [
'_COD_' => $riga->codice, '_COD_' => $riga->codice,
@ -296,7 +296,7 @@ if ($options['pricing']) {
</th> </th>
</tr>'; </tr>';
if($sconto_finale){ if ($sconto_finale) {
// SCONTO FINALE // SCONTO FINALE
echo ' echo '
<tr> <tr>

View File

@ -322,7 +322,7 @@ if (($options['pricing'] && !isset($options['hide_total'])) || $options['show_on
</th> </th>
</tr>'; </tr>';
if($sconto_finale){ if ($sconto_finale) {
// SCONTO FINALE // SCONTO FINALE
echo ' echo '
<tr> <tr>