Modifica prezzi orari sessioni

This commit is contained in:
Thomas Zilio 2019-07-08 17:11:48 +02:00
parent 182ab11130
commit 7eeea9abbc
6 changed files with 56 additions and 29 deletions

View File

@ -46,8 +46,13 @@ $rs = $dbo->fetchArray('SELECT
AND in_interventi.id_preventivo IS NULL AND in_interventi.id_preventivo IS NULL
AND NOT in_interventi.id IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL)'); AND NOT in_interventi.id IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL)');
foreach ($rs as $key => $value) { foreach ($rs as $key => $value) {
$rs[$key]['prezzo'] = Translator::numberToLocale(get_costi_intervento($value['id'])['totale']); $prezzo = get_costi_intervento($value['id'])['totale'];
$rs[$key]['prezzo'] = Translator::numberToLocale($prezzo);
$rs[$key]['descrizione_intervento'] = strip_tags($rs[$key]['descrizione_intervento']); $rs[$key]['descrizione_intervento'] = strip_tags($rs[$key]['descrizione_intervento']);
if($prezzo <= 0){
unset($rs[$key]);
}
} }
// Intervento // Intervento

View File

@ -569,9 +569,9 @@ switch (post('op')) {
$prezzo_km_unitario_tecnico = $rsc[0]['costo_km_tecnico']; $prezzo_km_unitario_tecnico = $rsc[0]['costo_km_tecnico'];
$prezzo_dirittochiamata_tecnico = $rsc[0]['costo_dirittochiamata_tecnico']; $prezzo_dirittochiamata_tecnico = $rsc[0]['costo_dirittochiamata_tecnico'];
} else { } else {
$prezzo_ore_unitario = $rs[0]['prezzo_ore_unitario']; $prezzo_ore_unitario = post('prezzo_ore_unitario');
$prezzo_km_unitario = $rs[0]['prezzo_km_unitario']; $prezzo_km_unitario = post('prezzo_km_unitario');
$prezzo_dirittochiamata = $rs[0]['prezzo_dirittochiamata']; $prezzo_dirittochiamata = post('prezzo_dirittochiamata');
$prezzo_ore_unitario_tecnico = $rs[0]['prezzo_ore_unitario_tecnico']; $prezzo_ore_unitario_tecnico = $rs[0]['prezzo_ore_unitario_tecnico'];
$prezzo_km_unitario_tecnico = $rs[0]['prezzo_km_unitario_tecnico']; $prezzo_km_unitario_tecnico = $rs[0]['prezzo_km_unitario_tecnico'];
$prezzo_dirittochiamata_tecnico = $rs[0]['prezzo_dirittochiamata_tecnico']; $prezzo_dirittochiamata_tecnico = $rs[0]['prezzo_dirittochiamata_tecnico'];

View File

@ -9,7 +9,7 @@ if ($user['gruppo'] == 'Tecnici') {
$show_costi = !empty($user['idanagrafica']) && setting('Mostra i prezzi al tecnico'); $show_costi = !empty($user['idanagrafica']) && setting('Mostra i prezzi al tecnico');
} }
$sessione = $dbo->fetchOne('SELECT in_interventi_tecnici.*, an_anagrafiche.ragione_sociale, an_anagrafiche.deleted_at, in_interventi_tecnici.tipo_scontokm AS tipo_sconto_km 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'))); $sessione = $dbo->fetchOne('SELECT in_interventi_tecnici.*, an_anagrafiche.ragione_sociale, an_anagrafiche.deleted_at, in_interventi_tecnici.tipo_scontokm AS tipo_sconto_km, in_interventi_tecnici.prezzo_ore_unitario, in_interventi_tecnici.prezzo_km_consuntivo, in_interventi_tecnici.prezzo_dirittochiamata 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')));
$op = 'edit_sessione'; $op = 'edit_sessione';
$button = '<i class="fa fa-edit"></i> '.tr('Modifica'); $button = '<i class="fa fa-edit"></i> '.tr('Modifica');
@ -33,7 +33,7 @@ echo '
echo ' echo '
<div class="row"> <div class="row">
<div class="col-md-4"> <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 FROM in_tipiintervento ORDER BY descrizione" ]} {[ "type": "select", "label": "'.tr('Tipo attività').'", "name": "idtipointerventot", "value": "'.$sessione['idtipointervento'].'", "required": 1, "values": "query=SELECT in_tipiintervento.idtipointervento AS id, descrizione, in_tariffe.costo_ore AS prezzo_ore_unitario, in_tariffe.costo_km AS prezzo_km_unitario, in_tariffe.costo_dirittochiamata AS prezzo_dirittochiamata FROM in_tipiintervento JOIN in_tariffe ON in_tipiintervento.idtipointervento = in_tariffe.idtipointervento WHERE in_tariffe.idtecnico = '.prepare($sessione['idtecnico']).' ORDER BY descrizione" ]}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
@ -68,6 +68,20 @@ if ($show_costi) {
</div>'; </div>';
echo' echo'
</div>
<div class="row">
<div class="col-md-4">
{[ "type": "number", "label": "'.tr('Addebito orario').'", "name": "prezzo_ore_unitario", "value": "'.$sessione['prezzo_ore_unitario'].'" ]}
</div>
<div class="col-md-4">
{[ "type": "number", "label": "'.tr('Addebito km').'", "name": "prezzo_km_unitario", "value": "'.$sessione['prezzo_km_consuntivo'].'" ]}
</div>
<div class="col-md-4">
{[ "type": "number", "label": "'.tr('Addebito diritto ch.').'", "name": "prezzo_dirittochiamata", "value": "'.$sessione['prezzo_dirittochiamata'].'" ]}
</div>
</div>'; </div>';
} }
@ -91,5 +105,13 @@ $(document).ready(function () {
$("#orario_inizio").on("dp.change", function (e) { $("#orario_inizio").on("dp.change", function (e) {
$("#orario_fine").data("DateTimePicker").minDate(e.date).format(globals.timestampFormat); $("#orario_fine").data("DateTimePicker").minDate(e.date).format(globals.timestampFormat);
}); });
$("#idtipointerventot").change(function() {
data = $(this).selectData();
$("#prezzo_ore_unitario").val(data.prezzo_ore_unitario);
$("#prezzo_km_unitario").val(data.prezzo_km_unitario);
$("#prezzo_dirittochiamata").val(data.prezzo_dirittochiamata);
});
}); });
</script>'; </script>';

View File

@ -5,10 +5,10 @@ include_once __DIR__.'/../../core.php';
$id_conto = get('id_conto'); $id_conto = get('id_conto');
// Calcolo totale conto da elenco movimenti di questo conto // Calcolo totale conto da elenco movimenti di questo conto
$query = "SELECT co_movimenti.*, dir FROM co_movimenti $query = 'SELECT co_movimenti.*, dir FROM co_movimenti
LEFT OUTER JOIN co_documenti ON co_movimenti.iddocumento = co_documenti.id LEFT OUTER JOIN co_documenti ON co_movimenti.iddocumento = co_documenti.id
LEFT OUTER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id LEFT OUTER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id
WHERE co_movimenti.idconto=".prepare($id_conto)." AND co_movimenti.data >= ".prepare($_SESSION['period_start'])." AND co_movimenti.data <= ".prepare($_SESSION['period_end'])." ORDER BY co_movimenti.data DESC"; WHERE co_movimenti.idconto='.prepare($id_conto).' AND co_movimenti.data >= '.prepare($_SESSION['period_start']).' AND co_movimenti.data <= '.prepare($_SESSION['period_end']).' ORDER BY co_movimenti.data DESC';
$movimenti = $dbo->fetchArray($query); $movimenti = $dbo->fetchArray($query);
if (!empty($movimenti)) { if (!empty($movimenti)) {
@ -37,8 +37,8 @@ if (!empty($movimenti)) {
<span>'.$movimento['descrizione'].'</span>'; <span>'.$movimento['descrizione'].'</span>';
} }
echo " echo '
</td>"; </td>';
// Data // Data
echo ' echo '

View File

@ -46,13 +46,13 @@ foreach ($primo_livello as $conto_primo){
foreach ($terzo_livello as $conto_terzo) { foreach ($terzo_livello as $conto_terzo) {
// Se il conto non ha documenti collegati posso eliminarlo // Se il conto non ha documenti collegati posso eliminarlo
$numero_movimenti = $dbo->fetchNum("SELECT id FROM co_movimenti WHERE idconto = ".prepare($conto_terzo['id'])); $numero_movimenti = $dbo->fetchNum('SELECT id FROM co_movimenti WHERE idconto = '.prepare($conto_terzo['id']));
// Calcolo totale conto da elenco movimenti di questo conto // Calcolo totale conto da elenco movimenti di questo conto
$query = "SELECT co_movimenti.*, dir FROM co_movimenti $query = 'SELECT co_movimenti.*, dir FROM co_movimenti
LEFT OUTER JOIN co_documenti ON co_movimenti.iddocumento = co_documenti.id LEFT OUTER JOIN co_documenti ON co_movimenti.iddocumento = co_documenti.id
LEFT OUTER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id LEFT OUTER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id
WHERE co_movimenti.idconto=".prepare($conto_terzo['id'])." AND co_movimenti.data >= ".prepare($_SESSION['period_start'])." AND co_movimenti.data <= ".prepare($_SESSION['period_end'])." ORDER BY co_movimenti.data DESC"; WHERE co_movimenti.idconto='.prepare($conto_terzo['id']).' AND co_movimenti.data >= '.prepare($_SESSION['period_start']).' AND co_movimenti.data <= '.prepare($_SESSION['period_end']).' ORDER BY co_movimenti.data DESC';
$movimenti = $dbo->fetchArray($query); $movimenti = $dbo->fetchArray($query);
$totale_conto = sum(array_column($movimenti, 'totale')); $totale_conto = sum(array_column($movimenti, 'totale'));
@ -75,7 +75,7 @@ foreach ($primo_livello as $conto_primo){
echo ' echo '
<tr style="'.(!empty($movimenti) ? '' : 'opacity: 0.5;').'"> <tr style="'.(!empty($movimenti) ? '' : 'opacity: 0.5;').'">
<td><span class="clickable" id="movimenti-'.$conto_terzo["id"].'">'; <td><span class="clickable" id="movimenti-'.$conto_terzo['id'].'">';
if (!empty($movimenti)) { if (!empty($movimenti)) {
echo ' echo '
@ -127,7 +127,7 @@ foreach ($primo_livello as $conto_primo){
// Possibilità di inserire un nuovo conto // Possibilità di inserire un nuovo conto
echo ' echo '
<button type="button" class="btn btn-xs btn-primary" data-toggle="tooltip" title="'.tr("Aggiungi un nuovo conto...").'" onclick="add_conto('.$conto_secondo["id"].')"> <button type="button" class="btn btn-xs btn-primary" data-toggle="tooltip" title="'.tr('Aggiungi un nuovo conto...').'" onclick="add_conto('.$conto_secondo['id'].')">
<i class="fa fa-plus-circle"></i> <i class="fa fa-plus-circle"></i>
</button> </button>
@ -284,7 +284,7 @@ $(document).ready(function(){
}); });
function add_conto(id) { function add_conto(id) {
launch_modal("'.tr("Nuovo conto").'", "'.$structure->fileurl('add_conto.php').'?id=" + id, 1 ); launch_modal("'.tr('Nuovo conto').'", "'.$structure->fileurl('add_conto.php').'?id=" + id, 1 );
} }
function load_movimenti(selector, id_conto) { function load_movimenti(selector, id_conto) {