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
2021-01-20 15:08:51 +01:00
* Copyright ( C ) DevCode s . r . l .
2020-09-07 15:04:06 +02:00
*
* 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' :
2021-11-02 09:42:40 +01:00
$tipo -> calcola_km = post ( 'calcola_km' );
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' );
$tipo -> save ();
2017-08-04 16:28:16 +02:00
2024-03-01 17:32:31 +01:00
$database -> query ( 'UPDATE `in_tipiintervento_lang` SET `name` = ' . prepare ( post ( 'descrizione' )) . ' WHERE `id_record` = ' . prepare ( $id_record ) . ' AND `id_lang` = ' . prepare ( setting ( 'Lingua' )));
2023-08-04 14:54:28 +02:00
$fasce_ore = ( array ) post ( 'fascia_ore' );
$fascia_km = ( array ) post ( 'fascia_km' );
$fascia_diritto_chiamata = ( array ) post ( 'fascia_diritto_chiamata' );
$fascia_orario_tecnico = ( array ) post ( 'fascia_orario_tecnico' );
$fascia_km_tecnico = ( array ) post ( 'fascia_km_tecnico' );
$fascia_diritto_chiamata_tecnico = ( array ) post ( 'fascia_diritto_chiamata_tecnico' );
2022-06-01 15:38:36 +02:00
foreach ( $fasce_ore as $key => $fascia_ore ) {
$dbo -> update ( 'in_fasceorarie_tipiintervento' , [
'costo_orario' => $fascia_ore ,
'costo_km' => $fascia_km [ $key ],
'costo_diritto_chiamata' => $fascia_diritto_chiamata [ $key ],
'costo_orario_tecnico' => $fascia_orario_tecnico [ $key ],
'costo_km_tecnico' => $fascia_km_tecnico [ $key ],
'costo_diritto_chiamata_tecnico' => $fascia_diritto_chiamata_tecnico [ $key ],
], [
2023-08-04 14:54:28 +02:00
'idfasciaoraria' => $key , 'idtipointervento' => $id_record ,
2022-06-01 15:38:36 +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' );
2018-06-26 14:30:26 +02:00
2024-03-01 17:32:31 +01:00
$tipo = Tipo :: build ( $codice );
$database -> query ( 'INSERT INTO `in_tipiintervento_lang` (`id_lang`, `id_record`, `name`) VALUES (' . prepare ( setting ( 'Lingua' )) . ', ' . prepare ( $tipo -> id ) . ', ' . prepare ( post ( 'descrizione' )) . ')' );
2019-07-08 16:45:00 +02:00
$tipo -> tempo_standard = post ( 'tempo_standard' );
2022-02-07 14:19:09 +01:00
$tipo -> calcola_km = post ( 'calcola_km' );
2019-07-08 16:45:00 +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' );
$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
2023-09-15 18:06:15 +02:00
$fasce_orarie = $dbo -> select ( 'in_fasceorarie' , '*' , [], [ 'deleted_at' => null ]);
2022-06-01 15:38:36 +02:00
foreach ( $fasce_orarie as $fascia_oraria ) {
$dbo -> insert ( 'in_fasceorarie_tipiintervento' , [
'idfasciaoraria' => $fascia_oraria [ 'id' ],
'idtipointervento' => $id_record ,
'costo_orario' => post ( 'costo_orario' ),
'costo_km' => post ( 'costo_km' ),
'costo_diritto_chiamata' => post ( 'costo_diritto_chiamata' ),
'costo_orario_tecnico' => post ( 'costo_orario_tecnico' ),
'costo_km_tecnico' => post ( 'costo_km_tecnico' ),
'costo_diritto_chiamata_tecnico' => post ( 'costo_diritto_chiamata_tecnico' ),
]);
}
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' :
2023-04-18 16:55:37 +02:00
// Elimino le tariffe collegate ai vari tecnici
2024-02-28 16:28:53 +01:00
$query = 'DELETE FROM `in_tariffe` WHERE `idtipointervento`=' . prepare ( $id_record );
2023-04-18 16:55:37 +02:00
$dbo -> query ( $query );
// Elimino le tariffe collegate ai contratti
2024-02-28 16:28:53 +01:00
$query = 'DELETE FROM `co_contratti_tipiintervento` WHERE `idtipointervento`=' . prepare ( $id_record );
2023-04-18 16:55:37 +02:00
$dbo -> query ( $query );
2024-02-28 16:28:53 +01:00
$query = 'DELETE FROM `in_fasceorarie_tipiintervento` WHERE `idtipointervento`=' . prepare ( $id_record );
2023-04-18 16:55:37 +02:00
$dbo -> query ( $query );
2024-02-28 16:28:53 +01:00
$query = 'UPDATE `in_tipiintervento` SET `deleted_at`=NOW() WHERE `id`=' . prepare ( $id_record );
2023-04-18 16:55:37 +02:00
$dbo -> query ( $query );
flash () -> info ( tr ( 'Tipo di intervento eliminato!' ));
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 ,
]);
2021-12-16 12:25:25 +01:00
break ;
case 'addriga' :
2023-04-12 17:56:15 +02:00
$id_iva = post ( 'idiva' );
2021-12-16 12:25:25 +01:00
$descrizione = post ( 'descrizione' );
$qta = post ( 'qta' );
$um = post ( 'um' );
$id_tipointervento = post ( 'id_tipointervento' );
$prezzo_acquisto = post ( 'prezzo_acquisto' );
$prezzo_vendita = post ( 'prezzo_vendita' );
$subtotale = $qta * $prezzo_vendita ;
2023-04-12 17:56:15 +02:00
$query = 'INSERT INTO in_righe_tipiinterventi(id_tipointervento, prezzo_acquisto, prezzo_vendita, descrizione, qta, um, subtotale, idiva) VALUES (' . prepare ( $id_tipointervento ) . ', ' . prepare ( $prezzo_acquisto ) . ', ' . prepare ( $prezzo_vendita ) . ', ' . prepare ( $descrizione ) . ', ' . prepare ( $qta ) . ', ' . prepare ( $um ) . ', ' . prepare ( $subtotale ) . ', ' . prepare ( $id_iva ) . ')' ;
2021-12-16 12:25:25 +01:00
$dbo -> query ( $query );
flash () -> info ( tr ( 'Riga aggiunta!' ));
break ;
case 'editriga' :
2023-04-12 17:56:15 +02:00
$id_iva = post ( 'idiva' );
2021-12-16 12:25:25 +01:00
$descrizione = post ( 'descrizione' );
$qta = post ( 'qta' );
$um = post ( 'um' );
$idriga = post ( 'idriga' );
$id_tipointervento = post ( 'id_tipointervento' );
$prezzo_acquisto = post ( 'prezzo_acquisto' );
$prezzo_vendita = post ( 'prezzo_vendita' );
$subtotale = $qta * $prezzo_vendita ;
$query = 'UPDATE in_righe_tipiinterventi SET' .
' descrizione=' . prepare ( $descrizione ) . ',' .
' qta=' . prepare ( $qta ) . ',' .
2023-04-12 17:56:15 +02:00
' idiva=' . prepare ( $id_iva ) . ',' .
2021-12-16 12:25:25 +01:00
' um=' . prepare ( $um ) . ',' .
' id_tipointervento=' . prepare ( $id_tipointervento ) . ',' .
' prezzo_acquisto=' . prepare ( $prezzo_acquisto ) . ',' .
' prezzo_vendita=' . prepare ( $prezzo_vendita ) . ',' .
' subtotale=' . $subtotale .
' WHERE id=' . prepare ( $idriga );
$dbo -> query ( $query );
flash () -> info ( tr ( 'Riga modificata!' ));
break ;
case 'delriga' :
$idriga = post ( 'idriga' );
2023-08-04 14:54:28 +02:00
$query = 'DELETE FROM in_righe_tipiinterventi WHERE id=' . prepare ( $idriga );
2021-12-16 12:25:25 +01:00
$dbo -> query ( $query );
flash () -> info ( tr ( 'Riga eliminata!' ));
2019-07-08 12:24:59 +02:00
break ;
2017-08-04 16:28:16 +02:00
}