Miglioramento gestione tecnici API
This commit is contained in:
parent
35c6ad0865
commit
3ec71ec1a7
|
@ -2,9 +2,15 @@
|
||||||
|
|
||||||
switch ($resource) {
|
switch ($resource) {
|
||||||
case 'sessioni_intervento':
|
case 'sessioni_intervento':
|
||||||
$dbo->query('DELETE FROM in_interventi_tecnici WHERE idintervento = :id_intervento', [
|
if ($user['gruppo'] == 'Tecnici') {
|
||||||
':id_intervento' => $request['id_intervento'],
|
$query = 'DELETE FROM in_interventi_tecnici WHERE idintervento = :id_intervento AND `idtecnico` = :id_tecnico';
|
||||||
]);
|
$parameters = [
|
||||||
|
':id_intervento' => $request['id_intervento'],
|
||||||
|
':id_tecnico' => $user['idanagrafica'],
|
||||||
|
];
|
||||||
|
|
||||||
|
$dbo->query($query, $parameters);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -14,6 +20,7 @@ switch ($resource) {
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// TODO: prevedere la modifica di quantità!
|
// TODO: prevedere la modifica di quantità!
|
||||||
|
// TODO: prevedere causali
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,7 +66,7 @@ switch ($resource) {
|
||||||
`in_interventi`.firma_nome,
|
`in_interventi`.firma_nome,
|
||||||
(SELECT GROUP_CONCAT( CONCAT(my_impianti.matricola, ' - ', my_impianti.nome) SEPARATOR ', ') FROM (my_impianti_interventi INNER JOIN my_impianti ON my_impianti_interventi.idimpianto=my_impianti.id) WHERE my_impianti_interventi.idintervento = `in_interventi`.`id`) AS `impianti`,
|
(SELECT GROUP_CONCAT( CONCAT(my_impianti.matricola, ' - ', my_impianti.nome) SEPARATOR ', ') FROM (my_impianti_interventi INNER JOIN my_impianti ON my_impianti_interventi.idimpianto=my_impianti.id) WHERE my_impianti_interventi.idintervento = `in_interventi`.`id`) AS `impianti`,
|
||||||
(SELECT MAX(`orario_fine`) FROM `in_interventi_tecnici` WHERE `in_interventi_tecnici`.`idintervento` = `in_interventi`.`id`) AS `data`,
|
(SELECT MAX(`orario_fine`) FROM `in_interventi_tecnici` WHERE `in_interventi_tecnici`.`idintervento` = `in_interventi`.`id`) AS `data`,
|
||||||
(SELECT GROUP_CONCAT(ragione_sociale SEPARATOR ', ') FROM `in_interventi_tecnici` INNER JOIN `an_anagrafiche` ON `in_interventi_tecnici`.`idtecnico` = `an_anagrafiche`.`idanagrafica` WHERE `in_interventi_tecnici`.`idintervento` = `in_interventi`.`id`) AS `tecnici`,
|
(SELECT GROUP_CONCAT(DISTINCT ragione_sociale SEPARATOR ', ') FROM `in_interventi_tecnici` INNER JOIN `an_anagrafiche` ON `in_interventi_tecnici`.`idtecnico` = `an_anagrafiche`.`idanagrafica` WHERE `in_interventi_tecnici`.`idintervento` = `in_interventi`.`id`) AS `tecnici`,
|
||||||
`in_statiintervento`.`colore` AS `bgcolor`,
|
`in_statiintervento`.`colore` AS `bgcolor`,
|
||||||
`in_statiintervento`.`descrizione` AS `stato`,
|
`in_statiintervento`.`descrizione` AS `stato`,
|
||||||
`in_interventi`.`idtipointervento` AS `tipo`
|
`in_interventi`.`idtipointervento` AS `tipo`
|
||||||
|
|
|
@ -54,6 +54,12 @@ function add_tecnico($idintervento, $idtecnico, $inizio, $fine, $idcontratto = n
|
||||||
{
|
{
|
||||||
$dbo = Database::getConnection();
|
$dbo = Database::getConnection();
|
||||||
|
|
||||||
|
// Controllo sull'identità del tecnico
|
||||||
|
$tecnico = $dbo->fetchArray("SELECT an_anagrafiche.idanagrafica FROM an_anagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica INNER JOIN an_tipianagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE an_anagrafiche.idanagrafica = ".prepare($idtecnico)." AND an_tipianagrafiche.descrizione = 'Tecnico'");
|
||||||
|
if (empty($tecnico)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$rs = $dbo->fetchArray('SELECT idanagrafica, idsede, idtipointervento FROM in_interventi WHERE id='.prepare($idintervento));
|
$rs = $dbo->fetchArray('SELECT idanagrafica, idsede, idtipointervento FROM in_interventi WHERE id='.prepare($idintervento));
|
||||||
$idanagrafica = $rs[0]['idanagrafica'];
|
$idanagrafica = $rs[0]['idanagrafica'];
|
||||||
$idsede = $rs[0]['idsede'];
|
$idsede = $rs[0]['idsede'];
|
||||||
|
@ -154,6 +160,8 @@ function add_tecnico($idintervento, $idtecnico, $inizio, $fine, $idcontratto = n
|
||||||
'prezzo_km_consuntivo_tecnico' => 0,
|
'prezzo_km_consuntivo_tecnico' => 0,
|
||||||
'prezzo_dirittochiamata_tecnico' => $costo_dirittochiamata_tecnico,
|
'prezzo_dirittochiamata_tecnico' => $costo_dirittochiamata_tecnico,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_costi_intervento($id_intervento)
|
function get_costi_intervento($id_intervento)
|
||||||
|
|
|
@ -8,9 +8,12 @@ switch ($resource) {
|
||||||
$token = Auth::getInstance()->getToken();
|
$token = Auth::getInstance()->getToken();
|
||||||
|
|
||||||
// Informazioni da restituire tramite l'API
|
// Informazioni da restituire tramite l'API
|
||||||
$response['user'] = $dbo->fetchArray('SELECT `ragione_sociale`, `codice`, `piva`, `codice_fiscale`, `indirizzo`, `citta`, `provincia`, (SELECT `nome` FROM `an_nazioni` WHERE `an_nazioni`.`id` = `an_anagrafiche`.`id_nazione`) AS nazione, `telefono`, `fax`, `cellulare`, `an_anagrafiche`.`email` FROM `zz_users` LEFT JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `zz_users`.`idanagrafica` WHERE `id` = '.prepare($user['id']))[0];
|
$response['user'] = $dbo->fetchOne('SELECT `ragione_sociale`, `codice`, `piva`, `codice_fiscale`, `indirizzo`, `citta`, `provincia`, (SELECT `nome` FROM `an_nazioni` WHERE `an_nazioni`.`id` = `an_anagrafiche`.`id_nazione`) AS nazione, `telefono`, `fax`, `cellulare`, `an_anagrafiche`.`email` FROM `zz_users` LEFT JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `zz_users`.`idanagrafica` WHERE `id` = :id', [
|
||||||
|
':id' => $user['id'],
|
||||||
|
]);
|
||||||
|
|
||||||
$response['token'] = $token;
|
$response['token'] = $token;
|
||||||
|
$response['group'] = $user['gruppo'];
|
||||||
|
|
||||||
$response['version'] = Update::getVersion();
|
$response['version'] = Update::getVersion();
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue