openstamanager/modules/tipi_intervento/actions.php

98 lines
3.9 KiB
PHP
Raw Normal View History

<?php
2019-07-08 12:24:59 +02:00
use Modules\TipiIntervento\Tipo;
2019-07-08 12:25:51 +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();
2018-07-19 17:29:21 +02:00
flash()->info(tr('Informazioni tipo intervento salvate correttamente!'));
break;
case 'add':
2019-07-08 16:45:00 +02:00
$codice = post('codice');
$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();
2019-07-08 12:24:59 +02:00
$id_record = $tipo->id;
2018-07-19 17:29:21 +02:00
flash()->info(tr('Nuovo tipo di intervento aggiunto!'));
break;
case 'delete':
2019-11-15 15:11:20 +01:00
// Permetto eliminazione tipo intervento solo se questo non è utilizzado da nessun'altra parte a gestionale
$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_tariffe`.`idtipointervento` FROM `in_tariffe` WHERE `in_tariffe`.`idtipointervento` = '.prepare($id_record).'
UNION
SELECT `in_interventi_tecnici`.`idtipointervento` FROM `in_interventi_tecnici` WHERE `in_interventi_tecnici`.`idtipointervento` = '.prepare($id_record).'
UNION
SELECT `co_contratti_tipiintervento`.`idtipointervento` FROM `co_contratti_tipiintervento` WHERE `co_contratti_tipiintervento`.`idtipointervento` = '.prepare($id_record).'
ORDER BY `idtipointervento`');
if (empty($elementi)) {
$query = 'DELETE FROM in_tipiintervento WHERE idtipointervento='.prepare($id_record);
$dbo->query($query);
// Elimino anche le tariffe collegate ai vari tecnici
$query = 'DELETE FROM in_tariffe WHERE idtipointervento='.prepare($id_record);
$dbo->query($query);
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;
}