diff --git a/modules/dashboard/actions.php b/modules/dashboard/actions.php index a7e4c9c98..484e8c27c 100755 --- a/modules/dashboard/actions.php +++ b/modules/dashboard/actions.php @@ -190,34 +190,52 @@ switch (filter('op')) { } // Righe inserite - $qp = "SELECT + $query_promemoria_contratti = "SELECT co_promemoria.id, idcontratto, - richiesta,co_contratti.nome AS nomecontratto, + richiesta, + co_contratti.nome AS nome_contratto, DATE_FORMAT( data_richiesta, '%m%Y') AS mese, data_richiesta, an_anagrafiche.ragione_sociale, '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 INNER JOIN co_contratti ON co_promemoria.idcontratto = co_contratti.id INNER JOIN an_anagrafiche ON co_contratti.idanagrafica = an_anagrafiche.idanagrafica WHERE idintervento IS NULL AND 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($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 INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica"; 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'; } $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 = array_merge($promemoria_contratti, $promemoria_interventi); @@ -233,12 +251,24 @@ switch (filter('op')) { $class = 'primary'; } + $link = null; + if ($sessione['ref'] == 'intervento'){ + $modulo_riferimento = 'Interventi'; + $id_riferimento = $sessione['id']; + } else { + $modulo_riferimento = 'Contratti'; + $id_riferimento = $sessione['idcontratto']; + } + echo ' -