Modifica logiche visualizzazione promemoria dashboard
Fix minori
This commit is contained in:
parent
80fe3192e6
commit
929438f8b5
|
@ -198,7 +198,7 @@ switch (filter('op')) {
|
|||
$id_tecnico = $user['idanagrafica'];
|
||||
}
|
||||
|
||||
// Righe inserite
|
||||
// Promemoria da contratti con stato pianificabile
|
||||
$query_promemoria_contratti = "SELECT
|
||||
co_promemoria.id,
|
||||
idcontratto,
|
||||
|
@ -216,7 +216,9 @@ switch (filter('op')) {
|
|||
idcontratto IN (SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1))
|
||||
ORDER BY data_richiesta ASC";
|
||||
$promemoria_contratti = $dbo->fetchArray($query_promemoria_contratti);
|
||||
|
||||
|
||||
// Promemoria da interventi con stato NON completato
|
||||
$query_interventi = "SELECT in_interventi.id,
|
||||
in_interventi.richiesta,
|
||||
in_interventi.id_contratto AS idcontratto,
|
||||
|
@ -230,18 +232,21 @@ switch (filter('op')) {
|
|||
(SELECT descrizione FROM in_tipiintervento WHERE in_tipiintervento.idtipointervento=in_interventi.idtipointervento) AS tipo_intervento
|
||||
FROM in_interventi
|
||||
INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica";
|
||||
|
||||
|
||||
// Visualizzo solo promemoria del tecnico loggato
|
||||
if (!empty($id_tecnico) && !empty($solo_promemoria_assegnati)) {
|
||||
$query_interventi .= '
|
||||
INNER JOIN in_interventi_tecnici_assegnati ON in_interventi.id = in_interventi_tecnici_assegnati.id_intervento AND id_tecnico = '.prepare($id_tecnico);
|
||||
} elseif ($user->is_admin) {
|
||||
$query_interventi .= '
|
||||
INNER JOIN in_interventi_tecnici_assegnati ON in_interventi.id = in_interventi_tecnici_assegnati.id_intervento';
|
||||
LEFT JOIN in_interventi_tecnici_assegnati ON in_interventi.id = in_interventi_tecnici_assegnati.id_intervento';
|
||||
}
|
||||
|
||||
$query_interventi .= '
|
||||
LEFT JOIN in_interventi_tecnici ON in_interventi_tecnici.idintervento = in_interventi.id AND in_interventi_tecnici_assegnati.id_tecnico = in_interventi_tecnici.idtecnico
|
||||
INNER JOIN in_statiintervento ON in_interventi.idstatointervento = in_statiintervento.idstatointervento
|
||||
LEFT JOIN an_anagrafiche AS tecnico ON in_interventi_tecnici_assegnati.id_tecnico = tecnico.idanagrafica
|
||||
WHERE in_statiintervento.is_completato = 0
|
||||
GROUP BY in_interventi.id, in_interventi_tecnici_assegnati.id_tecnico
|
||||
HAVING COUNT(in_interventi_tecnici.id) = 0
|
||||
ORDER BY data_richiesta ASC';
|
||||
|
@ -254,7 +259,7 @@ switch (filter('op')) {
|
|||
// Elenco interventi da pianificare
|
||||
foreach ($promemoria as $sessione) {
|
||||
if ($sessione['mese'] == $mese) {
|
||||
if (date('Ymd', strtotime($sessione['data_richiesta'])) < date('Ymd')) {
|
||||
if (date('Ymd', strtotime($sessione['data_scadenza'])) < date('Ymd') and !empty($sessione['data_scadenza'])) {
|
||||
$class = 'danger';
|
||||
} else {
|
||||
$class = 'primary';
|
||||
|
|
|
@ -234,7 +234,7 @@ WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.id
|
|||
$numero_mesi_precenti = $dbo->fetchNum($query_mesi_precenti);
|
||||
|
||||
if ($numero_mesi_precenti > 0) {
|
||||
echo '<div class="alert alert-warning alert-dismissible text-sm" role="alert"><i class="fa fa-exclamation-triangle"></i><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> '.tr('Ci sono _NUM_ attività scadute', [
|
||||
echo '<div class="alert alert-warning alert-dismissible text-sm" role="alert"><i class="fa fa-exclamation-triangle"></i><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> '.tr('Ci sono _NUM_ promemoria scaduti', [
|
||||
'_NUM_' => $numero_mesi_precenti,
|
||||
]).'.</div>';
|
||||
}
|
||||
|
|
|
@ -73,7 +73,7 @@ $id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : $user['idan
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box box-warning hidden" id="info">
|
||||
<div class="box hidden" id="info">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title"><?php echo tr('Fatture in stato Bozza del cliente'); ?></h3>
|
||||
<div class="box-tools pull-right">
|
||||
|
@ -120,17 +120,19 @@ $(document).ready(function () {
|
|||
},
|
||||
success: function (results) {
|
||||
$("#info").removeClass("hidden");
|
||||
|
||||
$("#info").removeClass("box-info");
|
||||
$("#info").removeClass("box-warning");
|
||||
if (results.length === 0){
|
||||
$("#info-content").html("<p>'.tr('Nessuna fattura in stato Bozza presente per il cliente corrente').'</p>")
|
||||
$("#info").addClass("box-info");
|
||||
$("#info-content").html("<p>'.tr('Per il cliente selezionato non è presente alcuna fattura in stato di Bozza').'</p>")
|
||||
} else {
|
||||
let content = "";
|
||||
|
||||
results.forEach(function(item) {
|
||||
content += "<li>" + item + "</li>";
|
||||
});
|
||||
|
||||
$("#info-content").html("<p>'.tr('Sono presenti le seguenti fatture in stato Bozza per il cliente corrente').':</p><ul>" + content + "</ul>")
|
||||
$("#info").addClass("box-warning");
|
||||
$("#info-content").html("<p>'.tr('Attenzione: per il cliente selezionato sono presenti le seguenti fatture in stato Bozza').':</p><ul>" + content + "</ul>")
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -21,7 +21,7 @@ use Modules\Interventi\Intervento;
|
|||
|
||||
include_once __DIR__.'/../../../core.php';
|
||||
|
||||
// Interventi da pianificare
|
||||
// Interventi da pianificare NON completati
|
||||
$interventi_da_pianificare = Intervento::doesntHave('sessioni')
|
||||
->orderByRaw('IF(data_scadenza IS NULL, data_richiesta, data_scadenza)')
|
||||
->whereHas('stato', function ($query) {
|
||||
|
@ -62,10 +62,9 @@ foreach ($raggruppamenti as $mese => $raggruppamento) {
|
|||
<th width="70">'.tr('Codice').'</th>
|
||||
<th width="120">'.tr('Cliente').'</th>
|
||||
<th width="70"><small>'.tr('Data richiesta').'</small></th>
|
||||
<th width="70"><small>'.tr('Data scadenza').'</small></th>
|
||||
<th width="200">'.tr('Tipo intervento').'</th>
|
||||
<th width="200">'.tr('Stato intervento').'</th>
|
||||
<th>'.tr('Descrizione').'</th>
|
||||
<th width="100">'.tr('Sede').'</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
@ -76,27 +75,27 @@ foreach ($raggruppamenti as $mese => $raggruppamento) {
|
|||
echo '
|
||||
<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('Anagrafiche')['id'], $r['idanagrafica'], $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.prepare($r['idanagrafica']))['ragione_sociale']).'</td>
|
||||
<td>'.Translator::dateToLocale($r['data_richiesta']).'</td>
|
||||
<td>'.((empty($r['data_scadenza'])) ? ' - ' : Translator::dateToLocale($r['data_scadenza'])).'</td>
|
||||
<td><a target="_blank" >'.Modules::link(Modules::get('Anagrafiche')['id'], $r['idanagrafica'], $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.prepare($r['idanagrafica']))['ragione_sociale']).'<br><small>Presso: ';
|
||||
// Sede promemoria
|
||||
if ($r['idsede'] == '-1') {
|
||||
echo '- '.('Nessuna').' -';
|
||||
} elseif (empty($r['idsede'])) {
|
||||
echo tr('Sede legale');
|
||||
} else {
|
||||
$rsp2 = $dbo->fetchArray("SELECT id, CONCAT( CONCAT_WS( ' (', CONCAT_WS(', ', nomesede, citta), indirizzo ), ')') AS descrizione FROM an_sedi WHERE id=".prepare($r['idsede']));
|
||||
|
||||
echo $rsp2[0]['descrizione'];
|
||||
}
|
||||
echo '
|
||||
</small>
|
||||
</td>
|
||||
<td>'.Translator::dateToLocale($r['data_richiesta']).' '.((empty($r['data_scadenza'])) ? '' : '<br><small>Entro il '.Translator::dateToLocale($r['data_scadenza']).'</small>' ).'</td>
|
||||
<td>'.$dbo->fetchOne("SELECT CONCAT_WS(' - ', codice,descrizione) AS descrizione FROM in_tipiintervento WHERE idtipointervento=".prepare($r['idtipointervento']))['descrizione'].'</td>
|
||||
<td>'.$dbo->fetchOne("SELECT CONCAT_WS(' - ', codice,descrizione) AS descrizione FROM in_statiintervento WHERE idstatointervento=".prepare($r['idstatointervento']))['descrizione'].'</td>
|
||||
<td>'.nl2br($r['richiesta']).'</td>
|
||||
';
|
||||
|
||||
echo '
|
||||
<td>';
|
||||
// Sede
|
||||
if ($r['idsede'] == '-1') {
|
||||
echo '- '.('Nessuna').' -';
|
||||
} elseif (empty($r['idsede'])) {
|
||||
echo tr('Sede legale');
|
||||
} else {
|
||||
$rsp2 = $dbo->fetchArray("SELECT id, CONCAT( CONCAT_WS( ' (', CONCAT_WS(', ', nomesede, citta), indirizzo ), ')') AS descrizione FROM an_sedi WHERE id=".prepare($r['idsede']));
|
||||
|
||||
echo $rsp2[0]['descrizione'];
|
||||
}
|
||||
echo '
|
||||
</td>';
|
||||
|
||||
|
||||
echo '
|
||||
</tr>';
|
||||
|
|
|
@ -58,13 +58,12 @@ foreach ($raggruppamenti as $mese => $raggruppamento) {
|
|||
<table class="table table-hover table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="120">'.tr('Cliente').'</th>
|
||||
<th width="250">'.tr('Contratto').'</th>
|
||||
<th width="90">'.tr('Entro').'</th>
|
||||
<th width="150">'.tr('Tipo attività').'</th>
|
||||
<th width="300">'.tr('Descrizione').'</th>
|
||||
<th width="100">'.tr('Sede').'</th>
|
||||
<th width="18"></th>
|
||||
<th width="200">'.tr('Cliente').'</th>
|
||||
<th width="300">'.tr('Contratto').'</th>
|
||||
<th width="70">'.tr('Entro').'</th>
|
||||
<th width="200">'.tr('Tipo attività').'</th>
|
||||
<th>'.tr('Descrizione').'</th>
|
||||
<th width="20"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
@ -78,7 +77,21 @@ foreach ($raggruppamenti as $mese => $raggruppamento) {
|
|||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
'.Modules::link('Anagrafiche', $anagrafica->id, nl2br($anagrafica->ragione_sociale)).'
|
||||
'.Modules::link('Anagrafiche', $anagrafica->id, nl2br($anagrafica->ragione_sociale)).'<br><small>Presso: ';
|
||||
|
||||
// Sede promemoria
|
||||
if ($promemoria->idsede == '-1') {
|
||||
echo '- '.('Nessuna').' -';
|
||||
} elseif (empty($promemoria->idsede)) {
|
||||
echo tr('Sede legale');
|
||||
} else {
|
||||
$rsp2 = $dbo->fetchArray("SELECT id, CONCAT( CONCAT_WS( ' (', CONCAT_WS(', ', nomesede, citta), indirizzo ), ')') AS descrizione FROM an_sedi WHERE id=".prepare($promemoria->idsede));
|
||||
|
||||
echo $rsp2[0]['descrizione'];
|
||||
}
|
||||
|
||||
|
||||
echo ' </small>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
|
@ -89,20 +102,8 @@ foreach ($raggruppamenti as $mese => $raggruppamento) {
|
|||
<td>'.$promemoria->tipo->descrizione.'</td>
|
||||
<td>'.nl2br($promemoria->richiesta).'</td>
|
||||
|
||||
<td>';
|
||||
<td>
|
||||
|
||||
// Sede
|
||||
if ($promemoria->idsede == '-1') {
|
||||
echo '- '.('Nessuna').' -';
|
||||
} elseif (empty($promemoria->idsede)) {
|
||||
echo tr('Sede legale');
|
||||
} else {
|
||||
$rsp2 = $dbo->fetchArray("SELECT id, CONCAT( CONCAT_WS( ' (', CONCAT_WS(', ', nomesede, citta), indirizzo ), ')') AS descrizione FROM an_sedi WHERE id=".prepare($promemoria->idsede));
|
||||
|
||||
echo $rsp2[0]['descrizione'];
|
||||
}
|
||||
|
||||
echo '
|
||||
</td>';
|
||||
|
||||
// Pulsanti
|
||||
|
|
Loading…
Reference in New Issue