86 lines
5.5 KiB
PHP
86 lines
5.5 KiB
PHP
<?php
|
|
|
|
include_once __DIR__.'/../../core.php';
|
|
|
|
$module_name = 'Tecnici e tariffe';
|
|
|
|
switch (post('op')) {
|
|
case 'update':
|
|
$n_errors = 0;
|
|
|
|
foreach (post('costo_ore') as $idtecnico => $arr2) {
|
|
foreach ($arr2 as $idtipointervento => $value) {
|
|
$costo_ore = post('costo_ore')[$idtecnico][$idtipointervento];
|
|
$costo_km = post('costo_km')[$idtecnico][$idtipointervento];
|
|
$costo_dirittochiamata = post('costo_dirittochiamata')[$idtecnico][$idtipointervento];
|
|
|
|
$costo_ore_tecnico = post('costo_ore_tecnico')[$idtecnico][$idtipointervento];
|
|
$costo_km_tecnico = post('costo_km_tecnico')[$idtecnico][$idtipointervento];
|
|
$costo_dirittochiamata_tecnico = post('costo_dirittochiamata_tecnico')[$idtecnico][$idtipointervento];
|
|
|
|
// Se c'è già un record idtecnico-idtipointervento lo aggiorno, altrimenti lo creo (retrocompatibilità quanto i costi erano legati ai tipi di intervento)
|
|
$rs = $dbo->fetchArray('SELECT id FROM in_tariffe WHERE idtecnico='.prepare($idtecnico).' AND idtipointervento='.prepare($idtipointervento));
|
|
|
|
// Aggiorno il record
|
|
if (count($rs) == 1) {
|
|
$query = 'UPDATE in_tariffe SET '
|
|
.' costo_ore='.prepare($costo_ore).', '
|
|
.' costo_km='.prepare($costo_km).', '
|
|
.' costo_dirittochiamata='.prepare($costo_dirittochiamata).', '
|
|
.' costo_ore_tecnico='.prepare($costo_ore_tecnico).', '
|
|
.' costo_km_tecnico='.prepare($costo_km_tecnico).', '
|
|
.' costo_dirittochiamata_tecnico='.prepare($costo_dirittochiamata_tecnico)
|
|
.' WHERE idtipointervento='.prepare($idtipointervento).' AND idtecnico='.prepare($idtecnico);
|
|
}
|
|
|
|
// Nuovo record
|
|
else {
|
|
$query = 'INSERT INTO in_tariffe(idtecnico, idtipointervento, costo_ore, costo_km, costo_dirittochiamata, costo_ore_tecnico, costo_km_tecnico, costo_dirittochiamata_tecnico) VALUES ('.prepare($idtecnico).', '.prepare($idtipointervento).', '.prepare($costo_ore).', '.prepare($costo_km).', '.prepare($costo_dirittochiamata).', '.prepare($costo_ore_tecnico).', '.prepare($costo_km_tecnico).', '.prepare($costo_dirittochiamata_tecnico).')';
|
|
}
|
|
|
|
if (!$dbo->query($query)) {
|
|
++$n_errors;
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($n_errors == 0) {
|
|
App::flash()->info(tr('Informazioni salvate correttamente!'));
|
|
} else {
|
|
App::flash()->error(tr('Errore durante il salvataggio delle tariffe!'));
|
|
}
|
|
|
|
break;
|
|
|
|
case 'import':
|
|
$rs = $dbo->fetchArray('SELECT id FROM in_tariffe WHERE idtecnico = '.prepare(post('idtecnico')).' AND idtipointervento='.prepare(post('idtipointervento')));
|
|
|
|
// Se la riga delle tariffe esiste, la aggiorno...
|
|
if (!empty($rs)) {
|
|
$result = $dbo->query('UPDATE in_tariffe SET '
|
|
.' costo_ore=(SELECT costo_orario FROM in_tipiintervento WHERE idtipointervento='.prepare(post('idtipointervento')).'), '
|
|
.' costo_km=(SELECT costo_km FROM in_tipiintervento WHERE idtipointervento='.prepare(post('idtipointervento')).'), '
|
|
.' costo_dirittochiamata=(SELECT costo_diritto_chiamata FROM in_tipiintervento WHERE idtipointervento='.prepare(post('idtipointervento')).'), '
|
|
.' costo_ore_tecnico=(SELECT costo_orario_tecnico FROM in_tipiintervento WHERE idtipointervento='.prepare(post('idtipointervento')).'), '
|
|
.' costo_km_tecnico=(SELECT costo_km_tecnico FROM in_tipiintervento WHERE idtipointervento='.prepare(post('idtipointervento')).'), '
|
|
.' costo_dirittochiamata_tecnico=(SELECT costo_diritto_chiamata_tecnico FROM in_tipiintervento WHERE idtipointervento='.prepare(post('idtipointervento')).') '
|
|
.' WHERE idtecnico='.prepare(post('idtecnico')).' AND idtipointervento='.prepare(post('idtipointervento')));
|
|
if ($result) {
|
|
App::flash()->info(tr('Informazioni salvate correttamente!'));
|
|
} else {
|
|
App::flash()->error(tr("Errore durante l'importazione tariffe!"));
|
|
}
|
|
}
|
|
|
|
// ...altrimenti la creo
|
|
else {
|
|
if ($dbo->query('INSERT INTO in_tariffe( idtecnico, idtipointervento, costo_ore, costo_km, costo_dirittochiamata, costo_ore_tecnico, costo_km_tecnico, costo_dirittochiamata_tecnico ) VALUES( '.prepare(post('idtecnico')).', '.prepare(post('idtipointervento')).', (SELECT costo_orario FROM in_tipiintervento WHERE idtipointervento='.prepare(post('idtipointervento')).'), (SELECT costo_km FROM in_tipiintervento WHERE idtipointervento='.prepare(post('idtipointervento')).'), (SELECT costo_diritto_chiamata FROM in_tipiintervento WHERE idtipointervento='.prepare(post('idtipointervento')).'), (SELECT costo_orario_tecnico FROM in_tipiintervento WHERE idtipointervento='.prepare(post('idtipointervento')).'), (SELECT costo_km_tecnico FROM in_tipiintervento WHERE idtipointervento='.prepare(post('idtipointervento')).'), (SELECT costo_diritto_chiamata_tecnico FROM in_tipiintervento WHERE idtipointervento='.prepare(post('idtipointervento')).') )')) {
|
|
App::flash()->info(tr('Informazioni salvate correttamente!'));
|
|
} else {
|
|
App::flash()->error(tr("Errore durante l'importazione tariffe!"));
|
|
}
|
|
}
|
|
|
|
break;
|
|
}
|