2017-08-04 16:28:16 +02:00
< ? php
2020-09-07 15:04:06 +02:00
/*
* OpenSTAManager : il software gestionale open source per l ' assistenza tecnica e la fatturazione
* Copyright ( C ) DevCode s . n . c .
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < https :// www . gnu . org / licenses />.
*/
2017-08-04 16:28:16 +02:00
2019-07-08 12:24:59 +02:00
use Modules\TipiIntervento\Tipo ;
2019-07-08 12:25:51 +02:00
2017-08-04 16:28:16 +02:00
include_once __DIR__ . '/../../core.php' ;
switch ( post ( 'op' )) {
case 'update' :
2019-07-08 12:24:59 +02:00
$tipo -> descrizione = post ( 'descrizione' );
2019-07-08 16:45:00 +02:00
$tipo -> tempo_standard = post ( 'tempo_standard' );
2019-07-08 12:24:59 +02:00
$tipo -> costo_orario = post ( 'costo_orario' );
$tipo -> costo_km = post ( 'costo_km' );
$tipo -> costo_diritto_chiamata = post ( 'costo_diritto_chiamata' );
$tipo -> costo_orario_tecnico = post ( 'costo_orario_tecnico' );
$tipo -> costo_km_tecnico = post ( 'costo_km_tecnico' );
$tipo -> costo_diritto_chiamata_tecnico = post ( 'costo_diritto_chiamata_tecnico' );
2019-07-08 12:25:51 +02:00
2019-07-08 12:24:59 +02:00
$tipo -> save ();
2017-08-04 16:28:16 +02:00
2018-07-19 17:29:21 +02:00
flash () -> info ( tr ( 'Informazioni tipo intervento salvate correttamente!' ));
2017-08-04 16:28:16 +02:00
break ;
case 'add' :
2019-07-08 16:45:00 +02:00
$codice = post ( 'codice' );
2017-08-04 16:28:16 +02:00
$descrizione = post ( 'descrizione' );
2018-06-26 14:30:26 +02:00
2019-07-08 16:45:00 +02:00
$tipo = Tipo :: build ( $codice , $descrizione );
$tipo -> tempo_standard = post ( 'tempo_standard' );
$tipo -> costo_orario = post ( 'costo_orario' );
$tipo -> costo_km = post ( 'costo_km' );
$tipo -> costo_diritto_chiamata = post ( 'costo_diritto_chiamata' );
$tipo -> costo_orario_tecnico = post ( 'costo_orario_tecnico' );
$tipo -> costo_km_tecnico = post ( 'costo_km_tecnico' );
$tipo -> costo_diritto_chiamata_tecnico = post ( 'costo_diritto_chiamata_tecnico' );
$tipo -> save ();
// Fix per impostare i valori inziali a tutti i tecnici
$tipo -> fixTecnici ();
2017-08-04 16:28:16 +02:00
2019-07-08 12:24:59 +02:00
$id_record = $tipo -> id ;
2017-08-04 16:28:16 +02:00
2018-07-19 17:29:21 +02:00
flash () -> info ( tr ( 'Nuovo tipo di intervento aggiunto!' ));
2017-08-04 16:28:16 +02:00
break ;
case 'delete' :
2019-11-15 15:11:20 +01:00
2019-11-14 17:27:33 +01:00
// Permetto eliminazione tipo intervento solo se questo non è utilizzado da nessun'altra parte a gestionale
2020-01-14 17:20:19 +01:00
// UNION SELECT `in_tariffe`.`idtipointervento` FROM `in_tariffe` WHERE `in_tariffe`.`idtipointervento` = '.prepare($id_record).'
2020-01-23 11:48:45 +01:00
// UNION SELECT `co_contratti_tipiintervento`.`idtipointervento` FROM `co_contratti_tipiintervento` WHERE `co_contratti_tipiintervento`.`idtipointervento` = '.prepare($id_record).'
2019-11-14 17:27:33 +01:00
$elementi = $dbo -> fetchArray ( 'SELECT `in_interventi`.`idtipointervento` FROM `in_interventi` WHERE `in_interventi`.`idtipointervento` = ' . prepare ( $id_record ) . '
UNION
SELECT `an_anagrafiche` . `idtipointervento_default` AS `idtipointervento` FROM `an_anagrafiche` WHERE `an_anagrafiche` . `idtipointervento_default` = '.prepare($id_record).'
UNION
SELECT `co_preventivi` . `idtipointervento` FROM `co_preventivi` WHERE `co_preventivi` . `idtipointervento` = '.prepare($id_record).'
UNION
SELECT `co_promemoria` . `idtipointervento` FROM `co_promemoria` WHERE `co_promemoria` . `idtipointervento` = '.prepare($id_record).'
UNION
SELECT `in_interventi_tecnici` . `idtipointervento` FROM `in_interventi_tecnici` WHERE `in_interventi_tecnici` . `idtipointervento` = '.prepare($id_record).'
ORDER BY `idtipointervento` ' );
if ( empty ( $elementi )) {
2020-01-14 22:30:46 +01:00
// Elimino anche le tariffe collegate ai vari tecnici
2019-11-14 17:27:33 +01:00
$query = 'DELETE FROM in_tariffe WHERE idtipointervento=' . prepare ( $id_record );
$dbo -> query ( $query );
2020-01-23 11:48:45 +01:00
// Elimino anche le tariffe collegate ai contratti
$query = 'DELETE FROM co_contratti_tipiintervento WHERE idtipointervento=' . prepare ( $id_record );
$dbo -> query ( $query );
2020-01-14 17:20:19 +01:00
$query = 'DELETE FROM in_tipiintervento WHERE idtipointervento=' . prepare ( $id_record );
$dbo -> query ( $query );
2019-11-14 17:27:33 +01:00
flash () -> info ( tr ( 'Tipo di intervento eliminato!' ));
break ;
}
2019-07-08 12:24:59 +02:00
2019-11-15 15:11:20 +01:00
// no break
2019-07-08 12:24:59 +02:00
case 'import' :
$values = [
'costo_ore' => $record [ 'costo_orario' ],
2019-07-08 12:25:51 +02:00
'costo_km' => $record [ 'costo_km' ],
2019-07-08 12:24:59 +02:00
'costo_dirittochiamata' => $record [ 'costo_diritto_chiamata' ],
'costo_ore_tecnico' => $record [ 'costo_orario_tecnico' ],
'costo_km_tecnico' => $record [ 'costo_km_tecnico' ],
'costo_dirittochiamata_tecnico' => $record [ 'costo_diritto_chiamata_tecnico' ],
];
$dbo -> update ( 'in_tariffe' , $values , [
'idtipointervento' => $id_record ,
]);
break ;
2017-08-04 16:28:16 +02:00
}