mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-06-05 22:09:38 +02:00
Aggiunto supporto al filtro sui promemoria dei Tecnici
This commit is contained in:
@@ -166,6 +166,12 @@ switch (filter('op')) {
|
|||||||
case 'carica_interventi':
|
case 'carica_interventi':
|
||||||
$mese = filter('mese');
|
$mese = filter('mese');
|
||||||
|
|
||||||
|
$solo_promemoria_assegnati = setting('Mostra promemoria attività ai soli Tecnici assegnati');
|
||||||
|
$id_tecnico = null;
|
||||||
|
if ($user['gruppo'] == 'Tecnici' && !empty($user['idanagrafica'])) {
|
||||||
|
$id_tecnico = $user['idanagrafica'];
|
||||||
|
}
|
||||||
|
|
||||||
// Righe inserite
|
// Righe inserite
|
||||||
$qp = "SELECT
|
$qp = "SELECT
|
||||||
co_promemoria.id,
|
co_promemoria.id,
|
||||||
@@ -184,7 +190,18 @@ switch (filter('op')) {
|
|||||||
ORDER BY data_richiesta ASC";
|
ORDER BY data_richiesta ASC";
|
||||||
$promemoria_contratti = $dbo->fetchArray($qp);
|
$promemoria_contratti = $dbo->fetchArray($qp);
|
||||||
|
|
||||||
$promemoria_interventi = $dbo->fetchArray("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 FROM in_interventi INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id) = 0 ORDER BY data_richiesta ASC");
|
$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
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
$query_interventi .= '
|
||||||
|
WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id) = 0 ORDER BY data_richiesta ASC';
|
||||||
|
$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)) {
|
||||||
|
@@ -156,6 +156,12 @@ echo '
|
|||||||
</div>
|
</div>
|
||||||
<br>';
|
<br>';
|
||||||
|
|
||||||
|
$solo_promemoria_assegnati = setting('Mostra promemoria attività ai soli Tecnici assegnati');
|
||||||
|
$id_tecnico = null;
|
||||||
|
if ($user['gruppo'] == 'Tecnici' && !empty($user['idanagrafica'])) {
|
||||||
|
$id_tecnico = $user['idanagrafica'];
|
||||||
|
}
|
||||||
|
|
||||||
$query_da_programmare = 'SELECT data_richiesta AS data FROM co_promemoria
|
$query_da_programmare = 'SELECT data_richiesta AS data 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
|
||||||
@@ -164,7 +170,14 @@ WHERE
|
|||||||
AND idintervento IS NULL
|
AND idintervento IS NULL
|
||||||
|
|
||||||
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';
|
||||||
|
|
||||||
|
if (!empty($id_tecnico) && !empty($solo_promemoria_assegnati)) {
|
||||||
|
$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);
|
||||||
|
}
|
||||||
|
|
||||||
|
$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';
|
||||||
$risultati_da_programmare = $dbo->fetchArray($query_da_programmare);
|
$risultati_da_programmare = $dbo->fetchArray($query_da_programmare);
|
||||||
|
|
||||||
@@ -187,7 +200,16 @@ if (!empty($risultati_da_programmare)) {
|
|||||||
// Controllo pianificazioni mesi precedenti
|
// Controllo pianificazioni mesi precedenti
|
||||||
$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 INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica 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()';
|
UNION SELECT in_interventi.id FROM in_interventi
|
||||||
|
INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica';
|
||||||
|
|
||||||
|
if (!empty($id_tecnico) && !empty($solo_promemoria_assegnati)) {
|
||||||
|
$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);
|
||||||
|
}
|
||||||
|
|
||||||
|
$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()';
|
||||||
$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) {
|
||||||
|
@@ -274,6 +274,8 @@ switch (post('op')) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$new->codice_stato_fe = null;
|
$new->codice_stato_fe = null;
|
||||||
|
$new->progressivo_invio = null;
|
||||||
|
$new->data_stato_fe = null;
|
||||||
$new->stato()->associate($stato);
|
$new->stato()->associate($stato);
|
||||||
$new->save();
|
$new->save();
|
||||||
|
|
||||||
|
@@ -223,8 +223,10 @@ echo '
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>';
|
||||||
|
|
||||||
|
if (empty($id_intervento)) {
|
||||||
|
echo '
|
||||||
<!-- ASSEGNAZIONE TECNICI -->
|
<!-- ASSEGNAZIONE TECNICI -->
|
||||||
<div class="box box-info collapsable collapsed-box">
|
<div class="box box-info collapsable collapsed-box">
|
||||||
<div class="box-header with-border">
|
<div class="box-header with-border">
|
||||||
@@ -243,8 +245,10 @@ echo '
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '
|
||||||
<!-- ORE DI LAVORO -->
|
<!-- ORE DI LAVORO -->
|
||||||
<div class="box box-primary collapsable '.($origine_dashboard ? '' : 'collapsed-box').'">
|
<div class="box box-primary collapsable '.($origine_dashboard ? '' : 'collapsed-box').'">
|
||||||
<div class="box-header with-border">
|
<div class="box-header with-border">
|
||||||
|
Reference in New Issue
Block a user