Aggiunta impostazione visualizza solo promemoria assegnati

This commit is contained in:
Pek5892 2023-05-08 17:52:10 +02:00
parent ece81efd3e
commit 4c05142af4
2 changed files with 57 additions and 12 deletions

View File

@ -98,26 +98,59 @@ class Interventi extends AppResource
// Informazioni sull'utente
$id_tecnico = Auth::user()->id_anagrafica;
if (setting('Visualizza solo promemoria assegnati') == 1) {
$query = 'SELECT
in_interventi.id,
in_interventi.updated_at
FROM in_interventi WHERE
deleted_at IS NULL AND (
$query = '
SELECT
in_interventi.id,
in_interventi.updated_at
FROM
in_interventi
WHERE
deleted_at IS NULL AND (
in_interventi.id IN (
SELECT idintervento FROM in_interventi_tecnici
WHERE in_interventi_tecnici.idintervento = in_interventi.id
AND in_interventi_tecnici.orario_fine BETWEEN :period_start AND :period_end
AND in_interventi_tecnici.idtecnico = :id_tecnico
AND in_interventi_tecnici.idtecnico = :id_tecnico_q1
)
OR (
in_interventi.id NOT IN (
SELECT idintervento FROM in_interventi_tecnici
)
AND in_interventi.idstatointervento IN (SELECT idstatointervento FROM in_statiintervento WHERE is_completato = 0)
AND in_interventi.idstatointervento IN (SELECT idstatointervento FROM in_statiintervento WHERE is_completato = 0 AND in_interventi.id IN (
SELECT id_intervento FROM in_interventi_tecnici_assegnati WHERE in_interventi_tecnici_assegnati.id_tecnico = :id_tecnico_q2)
)
)
)';
} else {
$query = '
SELECT
in_interventi.id,
in_interventi.updated_at
FROM
in_interventi
WHERE
deleted_at IS NULL AND (
in_interventi.id IN (
SELECT idintervento FROM in_interventi_tecnici
WHERE in_interventi_tecnici.idintervento = in_interventi.id
AND in_interventi_tecnici.orario_fine BETWEEN :period_start AND :period_end
AND in_interventi_tecnici.idtecnico = :id_tecnico_q1
)
OR (
in_interventi.id NOT IN (
SELECT idintervento FROM in_interventi_tecnici
)
AND in_interventi.idstatointervento IN (SELECT idstatointervento FROM in_statiintervento WHERE is_completato = 0)
)
)';
}
// Filtro per data
// Gestione di tecnici assegnati o impianti modificati
// Possibile problematica: in caso di rimozione di un tecnico assegnato o impianto collegato, la modifica non viene rilevata
@ -131,13 +164,23 @@ class Interventi extends AppResource
)';
}
$records = database()->fetchArray($query, [
':period_start' => $start,
':period_end' => $end,
':id_tecnico' => $id_tecnico,
]);
if (setting('Visualizza solo promemoria assegnati') == 1) {
$records = database()->fetchArray($query, [
':period_start' => $start,
':period_end' => $end,
':id_tecnico_q1' => $id_tecnico,
':id_tecnico_q2' => $id_tecnico,
]);
} else {
$records = database()->fetchArray($query, [
':period_start' => $start,
':period_end' => $end,
':id_tecnico_q1' => $id_tecnico,
]);
}
return $this->mapModifiedRecords($records);
}
public function retrieveRecord($id)

View File

@ -104,3 +104,5 @@ UPDATE `em_templates` SET `body` = '<p>Gentile Cliente,</p>\n<p>inviamo in alleg
-- Aggiunta stampa liquidazione provvigioni
INSERT INTO `zz_prints` (`id_module`, `is_record`, `name`, `title`, `filename`, `directory`, `previous`, `options`, `icon`, `version`, `compatibility`, `order`, `predefined`, `default`, `enabled`, `available_options`) VALUES
((SELECT id FROM zz_modules WHERE `name` = 'Anagrafiche'), 1, 'Provvigioni', 'Provvigioni', 'Provvigioni {ragione_sociale}', 'provvigione', 'idanagrafica', '', 'fa fa-print', '', '', 0, 0, 0, 1, NULL);
INSERT INTO `zz_settings` (`nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES ( "Visualizza solo promemoria assegnati", '0', 'boolean', '1', 'Applicazione', '7', 'Se abilitata permetti ai tecnici la visualizzazione dei soli promemoria in cui risultano come assegnati');