Fix modifica sessione interventi
This commit is contained in:
parent
1c75527965
commit
8aa09075ad
|
@ -637,5 +637,106 @@ switch (post('op')) {
|
|||
]));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'edit_sessione':
|
||||
$id_sessione = post('id_sessione');
|
||||
|
||||
// Lettura delle date di inizio e fine intervento
|
||||
$orario_inizio = post('orario_inizio');
|
||||
$orario_fine = post('orario_fine');
|
||||
|
||||
// Ricalcolo le ore lavorate
|
||||
$ore = calcola_ore_intervento($orario_inizio, $orario_fine);
|
||||
|
||||
$km = post('km');
|
||||
|
||||
// Lettura tariffe in base al tipo di intervento ed al tecnico
|
||||
$idtipointervento_tecnico = post('idtipointerventot');
|
||||
$rs = $dbo->fetchArray('SELECT * FROM in_interventi_tecnici WHERE idtecnico='.prepare(post('idtecnico')).' AND idintervento='.prepare($id_record));
|
||||
|
||||
if ($idtipointervento_tecnico != $rs[0]['idtipointervento']) {
|
||||
$rsc = $dbo->fetchArray('SELECT * FROM in_tariffe WHERE idtecnico='.prepare(post('idtecnico')).' AND idtipointervento='.prepare($idtipointervento_tecnico));
|
||||
|
||||
if ($rsc[0]['costo_ore'] != 0 || $rsc[0]['costo_km'] != 0 || $rsc[0]['costo_dirittochiamata'] != 0 || $rsc[0]['costo_ore_tecnico'] != 0 || $rsc[0]['costo_km_tecnico'] != 0 || $rsc[0]['costo_dirittochiamata_tecnico'] != 0) {
|
||||
$prezzo_ore_unitario = $rsc[0]['costo_ore'];
|
||||
$prezzo_km_unitario = $rsc[0]['costo_km'];
|
||||
$prezzo_dirittochiamata = $rsc[0]['costo_dirittochiamata'];
|
||||
|
||||
$prezzo_ore_unitario_tecnico = $rsc[0]['costo_ore_tecnico'];
|
||||
$prezzo_km_unitario_tecnico = $rsc[0]['costo_km_tecnico'];
|
||||
$prezzo_dirittochiamata_tecnico = $rsc[0]['costo_dirittochiamata_tecnico'];
|
||||
}
|
||||
|
||||
// ...altrimenti se non c'è una tariffa per il tecnico leggo i costi globali
|
||||
else {
|
||||
$rsc = $dbo->fetchArray('SELECT * FROM in_tipiintervento WHERE idtipointervento='.prepare($idtipointervento_tecnico));
|
||||
|
||||
$prezzo_ore_unitario = $rsc[0]['costo_orario'];
|
||||
$prezzo_km_unitario = $rsc[0]['costo_km'];
|
||||
$prezzo_dirittochiamata = $rsc[0]['costo_diritto_chiamata'];
|
||||
|
||||
$prezzo_ore_unitario_tecnico = $rsc[0]['costo_orario_tecnico'];
|
||||
$prezzo_km_unitario_tecnico = $rsc[0]['costo_km_tecnico'];
|
||||
$prezzo_dirittochiamata_tecnico = $rsc[0]['costo_diritto_chiamata_tecnico'];
|
||||
}
|
||||
} else {
|
||||
$prezzo_ore_unitario = $rs[0]['prezzo_ore_unitario'];
|
||||
$prezzo_km_unitario = $rs[0]['prezzo_km_unitario'];
|
||||
$prezzo_dirittochiamata = $rs[0]['prezzo_dirittochiamata'];
|
||||
$prezzo_ore_unitario_tecnico = $rs[0]['prezzo_ore_unitario_tecnico'];
|
||||
$prezzo_km_unitario_tecnico = $rs[0]['prezzo_km_unitario_tecnico'];
|
||||
$prezzo_dirittochiamata_tecnico = $rs[0]['prezzo_dirittochiamata_tecnico'];
|
||||
}
|
||||
|
||||
// Totali
|
||||
$prezzo_ore_consuntivo = $prezzo_ore_unitario * $ore;
|
||||
$prezzo_km_consuntivo = $prezzo_km_unitario * $km;
|
||||
|
||||
$prezzo_ore_consuntivo_tecnico = $prezzo_ore_unitario_tecnico * $ore;
|
||||
$prezzo_km_consuntivo_tecnico = $prezzo_km_unitario_tecnico * $km;
|
||||
|
||||
// Sconti
|
||||
$sconto_unitario = post('sconto');
|
||||
$tipo_sconto = post('tipo_sconto');
|
||||
$sconto = calcola_sconto([
|
||||
'sconto' => $sconto_unitario,
|
||||
'prezzo' => $prezzo_ore_consuntivo,
|
||||
'tipo' => $tipo_sconto,
|
||||
]);
|
||||
|
||||
$scontokm_unitario = post('sconto_km');
|
||||
$tipo_scontokm = post('tipo_scontokm');
|
||||
$scontokm = ($tipo_scontokm == 'PRC') ? ($prezzo_km_consuntivo * $scontokm_unitario) / 100 : $scontokm_unitario;
|
||||
|
||||
$dbo->update('in_interventi_tecnici', [
|
||||
'idtipointervento' => $idtipointervento_tecnico,
|
||||
|
||||
'orario_inizio' => $orario_inizio,
|
||||
'orario_fine' => $orario_fine,
|
||||
'ore' => $ore,
|
||||
'km' => $km,
|
||||
|
||||
'prezzo_ore_unitario' => $prezzo_ore_unitario,
|
||||
'prezzo_km_unitario' => $prezzo_km_unitario,
|
||||
'prezzo_dirittochiamata' => $prezzo_dirittochiamata,
|
||||
'prezzo_ore_unitario_tecnico' => $prezzo_ore_unitario_tecnico,
|
||||
'prezzo_km_unitario_tecnico' => $prezzo_km_unitario_tecnico,
|
||||
'prezzo_dirittochiamata_tecnico' => $prezzo_dirittochiamata_tecnico,
|
||||
|
||||
'prezzo_ore_consuntivo' => $prezzo_ore_consuntivo,
|
||||
'prezzo_km_consuntivo' => $prezzo_km_consuntivo,
|
||||
'prezzo_ore_consuntivo_tecnico' => $prezzo_ore_consuntivo_tecnico,
|
||||
'prezzo_km_consuntivo_tecnico' => $prezzo_km_consuntivo_tecnico,
|
||||
|
||||
'sconto' => $sconto,
|
||||
'sconto_unitario' => $sconto_unitario,
|
||||
'tipo_sconto' => $tipo_sconto,
|
||||
|
||||
'scontokm' => $scontokm,
|
||||
'scontokm_unitario' => $scontokm_unitario,
|
||||
'tipo_scontokm' => $tipo_scontokm,
|
||||
], ['id' => $id_sessione]);
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -243,8 +243,7 @@ if (!empty($rs2)) {
|
|||
|
||||
if (!$flag_completato) {
|
||||
echo '
|
||||
<!-- da ultimare -->
|
||||
<button type="button" class="btn btn-sm btn-warning hide" onclick="launch_modal(\''.tr('Modifica sessione').'\', \''.$module->fileurl('manage_sessione.php').'?id_module='.$id_module.'&id_sessione='.$id.'\', 1);" title="'.tr('Modifica sessione').'"><i class="fa fa-edit"></i></button>
|
||||
<button type="button" class="btn btn-sm btn-warning" onclick="launch_modal(\''.tr('Modifica sessione').'\', \''.$module->fileurl('manage_sessione.php').'?id_module='.$id_module.'&id_record='.$id_record.'&id_sessione='.$id.'\', 1);" title="'.tr('Modifica sessione').'"><i class="fa fa-edit"></i></button>
|
||||
|
||||
<button type="button" class="btn btn-sm btn-danger" id="delbtn_'.$id.'" onclick="elimina_sessione(\''.$id.'\', \''.$id_record.'\', \''.$idzona.'\');" title="Elimina riga" class="only_rw"><i class="fa fa-trash"></i></button>';
|
||||
}
|
||||
|
|
|
@ -11,17 +11,13 @@ if ($user['gruppo'] == 'Tecnici') {
|
|||
|
||||
$sessione = $dbo->fetchOne('SELECT in_interventi_tecnici.*, an_anagrafiche.ragione_sociale, an_anagrafiche.deleted_at FROM in_interventi_tecnici INNER JOIN an_anagrafiche ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica WHERE in_interventi_tecnici.id = '.prepare(get('id_sessione')));
|
||||
|
||||
if (empty($sessione)) {
|
||||
$op = 'add_sessione';
|
||||
$button = '<i class="fa fa-plus"></i> '.tr('Aggiungi');
|
||||
} else {
|
||||
$op = 'edit_sessione';
|
||||
$button = '<i class="fa fa-edit"></i> '.tr('Modifica');
|
||||
}
|
||||
$op = 'edit_sessione';
|
||||
$button = '<i class="fa fa-edit"></i> '.tr('Modifica');
|
||||
|
||||
echo '
|
||||
<form id="add_form" action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<form id="add_form" action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.get('id_record').'" method="post">
|
||||
<input type="hidden" name="op" value="'.$op.'">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="id_sessione" value="'.$sessione['id'].'">';
|
||||
|
||||
// Tecnico
|
||||
|
@ -31,11 +27,15 @@ echo '
|
|||
// Orari
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "'.tr('Tipo attività').'", "name": "idtipointerventot", "value": "'.$sessione['idtipointervento'].'", "required": 1, "values": "query=SELECT idtipointervento AS id, descrizione, IFNULL((SELECT costo_ore FROM in_tariffe WHERE idtipointervento=in_tipiintervento.idtipointervento AND idtecnico='.prepare($sessione['idtecnico']).'), 0) AS costo_orario FROM in_tipiintervento ORDER BY descrizione" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "timestamp", "label": "'.tr('Inizio attività').'", "name": "orario_inizio", "required": 1, "value": "'.$sessione['orario_inizio'].'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="col-md-4">
|
||||
{[ "type": "timestamp", "label": "'.tr('Fine attività').'", "name": "orario_fine", "required": 1, "value": "'.$sessione['orario_fine'].'" ]}
|
||||
</div>
|
||||
</div>';
|
||||
|
|
Loading…
Reference in New Issue