Miglioramento elenco promemoria in Dashboard

This commit is contained in:
Dasc3er 2020-09-15 12:30:25 +02:00
parent cdeeb219af
commit d51280beb9
3 changed files with 43 additions and 13 deletions

View File

@ -190,34 +190,52 @@ switch (filter('op')) {
} }
// Righe inserite // Righe inserite
$qp = "SELECT $query_promemoria_contratti = "SELECT
co_promemoria.id, co_promemoria.id,
idcontratto, idcontratto,
richiesta,co_contratti.nome AS nomecontratto, richiesta,
co_contratti.nome AS nome_contratto,
DATE_FORMAT( data_richiesta, '%m%Y') AS mese, DATE_FORMAT( data_richiesta, '%m%Y') AS mese,
data_richiesta, data_richiesta,
an_anagrafiche.ragione_sociale, an_anagrafiche.ragione_sociale,
'promemoria' AS ref, 'promemoria' AS ref,
(SELECT descrizione FROM in_tipiintervento WHERE idtipointervento = co_promemoria.idtipointervento) AS tipointervento (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento = co_promemoria.idtipointervento) AS tipo_intervento
FROM co_promemoria FROM co_promemoria
INNER JOIN co_contratti ON co_promemoria.idcontratto = co_contratti.id INNER JOIN co_contratti ON co_promemoria.idcontratto = co_contratti.id
INNER JOIN an_anagrafiche ON co_contratti.idanagrafica = an_anagrafiche.idanagrafica INNER JOIN an_anagrafiche ON co_contratti.idanagrafica = an_anagrafiche.idanagrafica
WHERE idintervento IS NULL AND WHERE idintervento IS NULL AND
idcontratto IN (SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1)) idcontratto IN (SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1))
ORDER BY data_richiesta ASC"; ORDER BY data_richiesta ASC";
$promemoria_contratti = $dbo->fetchArray($qp); $promemoria_contratti = $dbo->fetchArray($query_promemoria_contratti);
$query_interventi = "SELECT id, richiesta, id_contratto AS idcontratto, DATE_FORMAT(IF(data_scadenza IS NULL, data_richiesta, data_scadenza),'%m%Y') AS mese, IF(data_scadenza IS NULL, data_richiesta, data_scadenza)AS data_richiesta, data_scadenza, an_anagrafiche.ragione_sociale, 'intervento' AS ref, (SELECT descrizione FROM in_tipiintervento WHERE in_tipiintervento.idtipointervento=in_interventi.idtipointervento) AS tipointervento $query_interventi = "SELECT in_interventi.id,
in_interventi.richiesta,
in_interventi.id_contratto AS idcontratto,
in_interventi_tecnici_assegnati.id_tecnico AS id_tecnico,
tecnico.ragione_sociale AS ragione_sociale_tecnico,
DATE_FORMAT(IF(in_interventi.data_scadenza IS NULL, in_interventi.data_richiesta, in_interventi.data_scadenza), '%m%Y') AS mese,
IF(in_interventi.data_scadenza IS NULL, in_interventi.data_richiesta, in_interventi.data_scadenza) AS data_richiesta,
in_interventi.data_scadenza,
an_anagrafiche.ragione_sociale,
'intervento' AS ref,
(SELECT descrizione FROM in_tipiintervento WHERE in_tipiintervento.idtipointervento=in_interventi.idtipointervento) AS tipo_intervento
FROM in_interventi FROM in_interventi
INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica"; INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica";
if (!empty($id_tecnico) && !empty($solo_promemoria_assegnati)) { if (!empty($id_tecnico) && !empty($solo_promemoria_assegnati)) {
$query_interventi .= ' $query_interventi .= '
INNER JOIN in_interventi_tecnici_assegnati ON in_interventi.id = in_interventi_tecnici_assegnati.id_intervento AND id_tecnico = '.prepare($id_tecnico); 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';
} }
$query_interventi .= ' $query_interventi .= '
WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id) = 0 ORDER BY data_richiesta ASC'; LEFT JOIN in_interventi_tecnici ON in_interventi_tecnici.idintervento = in_interventi.id AND in_interventi_tecnici_assegnati.id_tecnico = in_interventi_tecnici.idtecnico
LEFT JOIN an_anagrafiche AS tecnico ON in_interventi_tecnici_assegnati.id_tecnico = tecnico.idanagrafica
GROUP BY in_interventi.id, in_interventi_tecnici_assegnati.id_tecnico
HAVING COUNT(in_interventi_tecnici.id) = 0
ORDER BY data_richiesta ASC';
$promemoria_interventi = $dbo->fetchArray($query_interventi); $promemoria_interventi = $dbo->fetchArray($query_interventi);
$promemoria = array_merge($promemoria_contratti, $promemoria_interventi); $promemoria = array_merge($promemoria_contratti, $promemoria_interventi);
@ -233,12 +251,24 @@ switch (filter('op')) {
$class = 'primary'; $class = 'primary';
} }
$link = null;
if ($sessione['ref'] == 'intervento'){
$modulo_riferimento = 'Interventi';
$id_riferimento = $sessione['id'];
} else {
$modulo_riferimento = 'Contratti';
$id_riferimento = $sessione['idcontratto'];
}
echo ' echo '
<div class="fc-event fc-event-'.$class.'" data-id="'.$sessione['id'].'" data-idcontratto="'.$sessione['idcontratto'].'" data-ref="'.$sessione['ref'].'">'.(($sessione['ref'] == 'intervento') ? '<i class=\'fa fa-wrench pull-right\'></i>' : '<i class=\'fa fa-file-text-o pull-right\'></i>').' <div class="fc-event fc-event-'.$class.'" data-id="'.$sessione['id'].'" data-idcontratto="'.$sessione['idcontratto'].'" data-ref="'.$sessione['ref'].'" data-id_tecnico="'.$sessione['id_tecnico'].'">'.($sessione['ref'] == 'intervento' ? '<i class="fa fa-wrench pull-right"></i>' : '<i class="fa fa-file-text-o pull-right"></i>').'
<b>'.$sessione['ragione_sociale'].'</b><br>'.Translator::dateToLocale($sessione['data_richiesta']).' ('.$sessione['tipointervento'].')<div class="request" >'.(!empty($sessione['richiesta']) ? ' - '.$sessione['richiesta'] : '').'</div>'.(!empty($sessione['nomecontratto']) ? '<br><b>Contratto:</b> '.$sessione['nomecontratto'] : ''). <b>'.$sessione['ragione_sociale'].''.(!empty($sessione['id_tecnico']) ? ' - '.tr('Tecnico').': '.$sessione['ragione_sociale_tecnico'] : '').'</b>
(!empty($sessione['data_scadenza'] and $sessione['data_scadenza'] != '0000-00-00 00:00:00') ? '<br><small>'.tr('entro il: ').Translator::dateToLocale($sessione['data_scadenza']).'</small>' : ''). <br>'.dateFormat($sessione['data_richiesta']).' ('.$sessione['tipo_intervento'].')
(($sessione['ref'] == 'intervento') ? (Modules::link('Interventi', $sessione['id'], '<i class="fa fa-eye"></i>', null, 'title="'.tr('Visualizza scheda').'" class="btn btn-'.$class.' btn-xs pull-right"')).'<br>' : (Modules::link('Contratti', $sessione['idcontratto'], '<i class="fa fa-eye"></i>', null, 'title="'.tr('Visualizza scheda').'" class="btn btn-'.$class.' btn-xs pull-right"')).'<br>'). <div class="request">'.(!empty($sessione['richiesta']) ? ' - '.$sessione['richiesta'] : '').'</div>
'</div>'; '.(!empty($sessione['nome_contratto']) ? '<br><b>Contratto:</b> '.$sessione['nome_contratto'] : '').'
'.(!empty($sessione['data_scadenza'] && $sessione['data_scadenza'] != '0000-00-00 00:00:00') ? '<br><small>'.tr('entro il: ').dateFormat($sessione['data_scadenza']).'</small>' : '').'
'.Modules::link($modulo_riferimento, $id_riferimento, '<i class="fa fa-eye"></i>', null, 'title="'.tr('Visualizza scheda').'" class="btn btn-'.$class.' btn-xs pull-right"').'<br>
</div>';
} }
} }

View File

@ -489,7 +489,7 @@ echo '
name = "id_intervento"; name = "id_intervento";
} }
openModal(globals.dashboard.drop.title, globals.dashboard.drop.url + "&data=" + data + "&orario_inizio=" + ora_dal + "&orario_fine=" + ora_al + "&ref=dashboard&idcontratto=" + $(this).data("idcontratto") + "&" + name + "=" + $(this).data("id")); openModal(globals.dashboard.drop.title, globals.dashboard.drop.url + "&data=" + data + "&orario_inizio=" + ora_dal + "&orario_fine=" + ora_al + "&ref=dashboard&idcontratto=" + $(this).data("idcontratto") + "&" + name + "=" + $(this).data("id") + "&id_tecnico=" + $(this).data("id_tecnico"));
// Ricaricamento dei dati alla chiusura del modal // Ricaricamento dei dati alla chiusura del modal
$(this).remove(); $(this).remove();

View File

@ -38,7 +38,7 @@ if (null == $orario_inizio || '00:00:00' == $orario_inizio) {
} }
// Un utente del gruppo Tecnici può aprire attività solo a proprio nome // Un utente del gruppo Tecnici può aprire attività solo a proprio nome
$id_tecnico = null; $id_tecnico = filter('id_tecnico');
if ($user['gruppo'] == 'Tecnici' && !empty($user['idanagrafica'])) { if ($user['gruppo'] == 'Tecnici' && !empty($user['idanagrafica'])) {
$id_tecnico = $user['idanagrafica']; $id_tecnico = $user['idanagrafica'];
} }