fetchArray("SELECT an_anagrafiche.idanagrafica AS id FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE deleted=0 AND descrizione='Tecnico'");
$_SESSION['dashboard']['idtecnici'] = ["'-1'"];
for ($i = 0; $i < count($rs); ++$i) {
$_SESSION['dashboard']['idtecnici'][] = "'".$rs[$i]['id']."'";
}
}
if (!isset($_SESSION['dashboard']['idstatiintervento'])) {
$rs = $dbo->fetchArray('SELECT idstatointervento AS id, descrizione FROM in_statiintervento WHERE deleted = 0');
$_SESSION['dashboard']['idstatiintervento'] = ["'-1'"];
for ($i = 0; $i < count($rs); ++$i) {
$_SESSION['dashboard']['idstatiintervento'][] = "'".$rs[$i]['id']."'";
}
}
if (!isset($_SESSION['dashboard']['idtipiintervento'])) {
$rs = $dbo->fetchArray('SELECT idtipointervento AS id, descrizione FROM in_tipiintervento');
$_SESSION['dashboard']['idtipiintervento'] = ["'-1'"];
for ($i = 0; $i < count($rs); ++$i) {
$_SESSION['dashboard']['idtipiintervento'][] = "'".$rs[$i]['id']."'";
}
}
if (!isset($_SESSION['dashboard']['idzone'])) {
$rs = $dbo->fetchArray('SELECT id, descrizione FROM an_zone');
$_SESSION['dashboard']['idzone'] = ["'-1'"];
// "Nessuna zona" di default
$_SESSION['dashboard']['idzone'][] = "'0'";
for ($i = 0; $i < count($rs); ++$i) {
$_SESSION['dashboard']['idzone'][] = "'".$rs[$i]['id']."'";
}
}
// Stati intervento
$checks = '';
$count = 0;
$total = 0;
$rs = $dbo->fetchArray('SELECT idstatointervento AS id, descrizione, colore FROM in_statiintervento WHERE deleted = 0 ORDER BY descrizione ASC');
$total = count($rs);
$allchecksstati = '';
for ($i = 0; $i < count($rs); ++$i) {
$attr = '';
foreach ($_SESSION['dashboard']['idstatiintervento'] as $idx => $val) {
if ($val == "'".$rs[$i]['id']."'") {
$attr = 'checked="checked"';
++$count;
}
}
$checks .= "
fetchArray('SELECT idtipointervento AS id, descrizione FROM in_tipiintervento ORDER BY descrizione ASC');
$total = count($rs);
$allcheckstipi = '';
for ($i = 0; $i < count($rs); ++$i) {
$attr = '';
foreach ($_SESSION['dashboard']['idtipiintervento'] as $idx => $val) {
if ($val == "'".$rs[$i]['id']."'") {
$attr = 'checked="checked"';
++$count;
}
}
$checks .= "
".$rs[$i]['descrizione']." \n";
$allcheckstipi .= "session_set_array( 'dashboard,idtipiintervento', '".$rs[$i]['id']."', 0 ); ";
}
if ($count == $total) {
$class = 'btn-success';
} elseif ($count == 0) {
$class = 'btn-danger';
} else {
$class = 'btn-warning';
}
if ($total == 0) {
$class = 'btn-primary disabled';
}
?>
fetchArray("SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica
LEFT OUTER JOIN in_interventi_tecnici ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id
WHERE an_anagrafiche.deleted=0 AND an_tipianagrafiche.descrizione='Tecnico' ".Modules::getAdditionalsQuery('Interventi').' GROUP BY an_anagrafiche.idanagrafica ORDER BY ragione_sociale ASC');
$total = count($rs);
$totale_tecnici += $total;
$allchecktecnici = '';
for ($i = 0; $i < count($rs); ++$i) {
$attr = '';
foreach ($_SESSION['dashboard']['idtecnici'] as $idx => $val) {
if ($val == "'".$rs[$i]['id']."'") {
$attr = 'checked="checked"';
++$count;
}
}
$checks .= "
".$rs[$i]['ragione_sociale']." \n";
$allchecktecnici .= "session_set_array( 'dashboard,idtecnici', '".$rs[$i]['id']."', 0 ); ";
}
// TECNICI ELIMINATI
$rs = $dbo->fetchArray("SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE deleted=1 AND descrizione='Tecnico' ORDER BY ragione_sociale ASC");
$total = count($rs);
$totale_tecnici += $total;
if ($total > 0) {
$checks .= "
Tecnici eliminati:\n";
for ($i = 0; $i < count($rs); ++$i) {
$attr = '';
foreach ($_SESSION['dashboard']['idtecnici'] as $idx => $val) {
if ($val == "'".$rs[$i]['id']."'") {
$attr = 'checked="checked"';
++$count;
}
}
$checks .= "
".$rs[$i]['ragione_sociale']." \n";
$allchecktecnici .= "session_set_array( 'dashboard,idtecnici', '".$rs[$i]['id']."', 0 ); ";
} // end for
} // end if
if ($count == $totale_tecnici) {
$class = 'btn-success';
} elseif ($count == 0) {
$class = 'btn-danger';
} else {
$class = 'btn-warning';
}
if ($totale_tecnici == 0) {
$class = 'btn-primary disabled';
}
?>
fetchArray('(SELECT 0 AS ordine, \'0\' AS id, \'Nessuna zona\' AS descrizione) UNION (SELECT 1 AS ordine, id, descrizione FROM an_zone) ORDER BY ordine, descrizione ASC');
$total = count($rs);
for ($i = 0; $i < count($rs); ++$i) {
$attr = '';
foreach ($_SESSION['dashboard']['idzone'] as $idx => $val) {
if ($val == "'".$rs[$i]['id']."'") {
$attr = 'checked="checked"';
++$count;
}
}
$checks .= "
".$rs[$i]['descrizione']." \n";
$allcheckzone .= "session_set_array( 'dashboard,idzone', '".$rs[$i]['id']."', 0 ); ";
}
if ($count == $total) {
$class = 'btn-success';
} elseif ($count == 0) {
$class = 'btn-danger';
} else {
$class = 'btn-warning';
}
if ($total == 0) {
$class = 'btn-primary disabled';
}
?>
';
}
echo '
';
if (!empty($rsp)) {
echo '
'.tr('Interventi da pianificare').' ';
// Controllo per pinanificazioni per mesi precedenti
$qp_old = "SELECT co_righe_contratti.id, idcontratto, richiesta, DATE_FORMAT( data_richiesta, '%m-%Y') AS mese, data_richiesta, an_anagrafiche.ragione_sociale, 'intervento' AS ref, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=co_righe_contratti.idtipointervento) AS tipointervento FROM (co_righe_contratti INNER JOIN co_contratti ON co_righe_contratti.idcontratto=co_contratti.id) INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica WHERE idcontratto IN( SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE pianificabile = 1) ) AND idintervento IS NULL AND DATE_FORMAT( data_richiesta, '%d%m%Y')
fetchArray($qp_old);
if (sizeof($rsp_old) > 0) {
echo ' Ci sono alcuni interventi da pianificare scaduti. ';
}
$mesi = [1 => 'Gennaio', 2 => 'Febbraio', 3 => 'Marzo', 4 => 'Aprile', 5 => 'Maggio', 6 => 'Giugno', 7 => 'Luglio', 8 => 'Agosto', 9 => 'Settembre', 10 => 'Ottobre', 11 => 'Novembre', 12 => 'Dicembre'];
// Creo un array con tutti i mesi che contengono interventi
$mesi_interventi = [];
for ($i = 0; $i < sizeof($rsp); ++$i) {
$mese_n = date('m', strtotime($rsp[$i]['data_richiesta'])).date('Y', strtotime($rsp[$i]['data_richiesta']));
$mese_t = $mesi[intval(date('m', strtotime($rsp[$i]['data_richiesta'])))].' '.date('Y', strtotime($rsp[$i]['data_richiesta']));
$mesi_interventi[$mese_n] = $mese_t;
}
// Aggiungo anche il mese corrente
$mesi_interventi[date('m').date('Y')] = $mesi[intval(date('m'))].' '.date('Y');
// Rimuovo i mesi doppi
array_unique($mesi_interventi);
// Ordino l'array per mese
ksort($mesi_interventi);
echo ' ';
echo '';
foreach ($mesi_interventi as $key => $mese_intervento) {
echo ''.$mese_intervento.' ';
}
echo ' ';
echo '
';
echo '
';
}
$vista = get_var('Vista dashboard');
if ($vista == 'mese') {
$def = 'month';
} elseif ($vista == 'giorno') {
$def = 'agendaDay';
} else {
$def = 'agendaWeek';
}
?>