Aggiunto seleziona tutti per tecnici assegnati

Fix minori
This commit is contained in:
Luca 2020-11-06 19:24:11 +01:00
parent 929438f8b5
commit dcf69559b0
4 changed files with 70 additions and 16 deletions

View File

@ -228,6 +228,7 @@ switch (filter('op')) {
IF(in_interventi.data_scadenza IS NULL, in_interventi.data_richiesta, in_interventi.data_scadenza) AS data_richiesta, IF(in_interventi.data_scadenza IS NULL, in_interventi.data_richiesta, in_interventi.data_scadenza) AS data_richiesta,
in_interventi.data_scadenza, in_interventi.data_scadenza,
an_anagrafiche.ragione_sociale, an_anagrafiche.ragione_sociale,
tecnico.colore,
'intervento' AS ref, 'intervento' AS ref,
(SELECT descrizione FROM in_tipiintervento WHERE in_tipiintervento.idtipointervento=in_interventi.idtipointervento) AS tipo_intervento (SELECT descrizione FROM in_tipiintervento WHERE in_tipiintervento.idtipointervento=in_interventi.idtipointervento) AS tipo_intervento
FROM in_interventi FROM in_interventi
@ -253,6 +254,7 @@ switch (filter('op')) {
$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);
if (!empty($promemoria)) { if (!empty($promemoria)) {
$prev_mese = ''; $prev_mese = '';
@ -275,13 +277,11 @@ switch (filter('op')) {
} }
echo ' echo '
<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>').' <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' ? Modules::link($modulo_riferimento, $id_riferimento, '<i class="fa fa-wrench"></i>', null, 'title="'.tr('Visualizza scheda').'" class="btn btn-'.$class.' btn-xs pull-right"') : Modules::link($modulo_riferimento, $id_riferimento, '<i class="fa fa-file-text-o"></i>', null, 'title="'.tr('Visualizza scheda').'" class="btn btn-'.$class.' btn-xs pull-right"') ).'
<b>'.$sessione['ragione_sociale'].''.(!empty($sessione['id_tecnico']) ? ' - '.tr('Tecnico').': '.$sessione['ragione_sociale_tecnico'] : '').'</b> <b>'.$sessione['ragione_sociale'].'</b>
<br>'.dateFormat($sessione['data_richiesta']).' ('.$sessione['tipo_intervento'].') <br>'.dateFormat($sessione['data_richiesta']).' ('.$sessione['tipo_intervento'].')
<div class="request">'.(!empty($sessione['richiesta']) ? ' - '.$sessione['richiesta'] : '').'</div> <div class="request">'.(!empty($sessione['richiesta']) ? ' - '.$sessione['richiesta'] : '').'</div>
'.(!empty($sessione['nome_contratto']) ? '<br><b>Contratto:</b> '.$sessione['nome_contratto'] : '').' '.(!empty($sessione['nome_contratto']) ? '<span class="label label-'.$class.'">'.tr('Contratto:').$sessione['nome_contratto'].'<span>' : '').' '.(!empty($sessione['data_scadenza'] && $sessione['data_scadenza'] != '0000-00-00 00:00:00') ? '<span class="label label-'.$class.'" >'.tr('Entro il: ').dateFormat($sessione['data_scadenza']).'</span>' : '').' '.(!empty($sessione['id_tecnico']) ? '<span class="label" style="color:'.color_inverse($sessione['colore']).';background-color:'.$sessione['colore'].';" >'.tr('Tecnico').': '.$sessione['ragione_sociale_tecnico'].'</span>' : '').'
'.(!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>'; </div>';
} }
} }

View File

@ -193,13 +193,14 @@ WHERE
UNION SELECT IF(data_scadenza IS NULL, data_richiesta, data_scadenza) AS data FROM in_interventi UNION SELECT IF(data_scadenza IS NULL, data_richiesta, data_scadenza) AS data 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';
// Visualizzo solo promemoria del tecnico loggato
if (!empty($id_tecnico) && !empty($solo_promemoria_assegnati)) { if (!empty($id_tecnico) && !empty($solo_promemoria_assegnati)) {
$query_da_programmare .= ' $query_da_programmare .= '
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);
} }
$query_da_programmare .= ' $query_da_programmare .= '
WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id) = 0'; WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id) = 0 AND in_interventi.idstatointervento IN(SELECT idstatointervento FROM in_statiintervento WHERE is_completato = 0)';
$risultati_da_programmare = $dbo->fetchArray($query_da_programmare); $risultati_da_programmare = $dbo->fetchArray($query_da_programmare);
if (!empty($risultati_da_programmare)) { if (!empty($risultati_da_programmare)) {
@ -219,24 +220,25 @@ if (!empty($risultati_da_programmare)) {
<h4>'.tr('Promemoria da pianificare').'</h4>'; <h4>'.tr('Promemoria da pianificare').'</h4>';
// Controllo pianificazioni mesi precedenti // Controllo pianificazioni mesi precedenti
// Promemoria contratti + promemoria interventi
$query_mesi_precenti = 'SELECT co_promemoria.id FROM co_promemoria INNER JOIN co_contratti ON co_promemoria.idcontratto=co_contratti.id WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) AND idintervento IS NULL AND DATE_ADD(co_promemoria.data_richiesta, INTERVAL 1 DAY) <= NOW() $query_mesi_precenti = 'SELECT co_promemoria.id FROM co_promemoria INNER JOIN co_contratti ON co_promemoria.idcontratto=co_contratti.id WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) AND idintervento IS NULL AND DATE_ADD(co_promemoria.data_richiesta, INTERVAL 1 DAY) <= NOW()
UNION SELECT in_interventi.id FROM in_interventi UNION SELECT in_interventi.id 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';
// Visualizzo solo promemoria del tecnico loggato
if (!empty($id_tecnico) && !empty($solo_promemoria_assegnati)) { if (!empty($id_tecnico) && !empty($solo_promemoria_assegnati)) {
$query_mesi_precenti .= ' $query_mesi_precenti .= '
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);
} }
$query_mesi_precenti .= ' $query_mesi_precenti .= '
WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id) = 0 AND DATE_ADD(IF(in_interventi.data_scadenza IS NULL, in_interventi.data_richiesta, in_interventi.data_scadenza), INTERVAL 1 DAY) <= NOW()'; WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id) = 0 AND in_interventi.idstatointervento IN(SELECT idstatointervento FROM in_statiintervento WHERE is_completato = 0) AND DATE_ADD(IF(in_interventi.data_scadenza IS NULL, in_interventi.data_richiesta, in_interventi.data_scadenza), INTERVAL 1 DAY) <= NOW()';
$numero_mesi_precenti = $dbo->fetchNum($query_mesi_precenti); $numero_mesi_precenti = $dbo->fetchNum($query_mesi_precenti);
if ($numero_mesi_precenti > 0) { 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">&times;</button> '.tr('Ci sono _NUM_ promemoria scaduti', [ echo '<div class="alert alert-warning alert-dismissible" role="alert"><button class="close" type="button" data-dismiss="alert" aria-hidden="true"><span aria-hidden="true">×</span><span class="sr-only">'.tr('Chiudi').'</span></button><i class="fa fa-exclamation-triangle"></i><span class="text-sm"> '.tr('Ci sono _NUM_ promemoria scaduti', [
'_NUM_' => $numero_mesi_precenti, '_NUM_' => $numero_mesi_precenti,
]).'.</div>'; ]).'.</span></div>';
} }
// Aggiunta della data corrente per visualizzare il mese corrente // Aggiunta della data corrente per visualizzare il mese corrente

View File

@ -253,12 +253,64 @@ if (empty($id_intervento)) {
<div class="box-body"> <div class="box-body">
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
{[ "type": "select", "label": "'.tr('Tecnici assegnati').'", "multiple": "1", "name": "tecnici_assegnati[]", "ajax-source": "tecnici", "value": "", "icon-after": "add|'.$module_anagrafiche['id'].'|tipoanagrafica=Tecnico" ]} {[ "type": "select", "label": "'.tr('Tecnici assegnati').'", "multiple": "1", "name": "tecnici_assegnati[]", "ajax-source": "tecnici", "value": "", "icon-after": "add|'.$module_anagrafiche['id'].'|tipoanagrafica=Tecnico" ]}
<div class="row">
<div class="col-md-12">
<div class="btn-group">
<button type="button" class="btn btn-xs btn-primary" onclick="selezionaTutto()">
'.tr('Tutti').'
</button>
<button type="button" class="btn btn-xs btn-danger" onclick="deselezionaTutto()">
<i class="fa fa-times"></i>
</button>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</div>'; </div>';
echo '
<script>
function selezionaTutto(){
$.getJSON(globals.rootdir + "/ajax_select.php?op=tecnici",
function(response) {
input("tecnici_assegnati").getElement().selectReset();
$.each(response.results, function(key, result) {
id = result["id"];
descrizione = result["descrizione"];
$("#tecnici_assegnati").append("<option value=\""+id+"\">"+descrizione+"</option>");
$("#tecnici_assegnati option").prop("selected", true);
});
$("#tecnici_assegnati").trigger("change");
}, function(){
});
}
function deselezionaTutto(){
input("tecnici_assegnati").getElement().selectReset();
}
</script>';
} }
echo ' echo '

View File

@ -69,12 +69,12 @@ echo '
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn btn-primary btn-xs" onclick="selezionaTutto()"> <button type="button" class="btn btn-sm btn-primary" onclick="selezionaTutto()">
<i class="fa fa-check"></i> '.tr('Seleziona tutto').' '.tr('Tutti').'
</button> </button>
<button type="button" class="btn btn-warning btn-xs" onclick="deselezionaTutto()"> <button type="button" class="btn btn-sm btn-danger" onclick="deselezionaTutto()">
<i class="fa fa-close"></i> '.tr('Deseleziona tutto').' <i class="fa fa-times"></i>
</button> </button>
</div> </div>
</div> </div>