Skip to content

Commit d061e78

Browse files
committed
fix: correzione su calcoli automatici orari in inserimento modifica sessione
1 parent 96a05d2 commit d061e78

3 files changed

Lines changed: 25 additions & 6 deletions

File tree

modules/interventi/add.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -717,8 +717,8 @@ function() {
717717
});
718718
719719
// Automatismo del tempo standard
720-
input("idtipointervento").change(function() {
721-
let data = $("#idtipointervento").selectData();
720+
input("idtiposessione").change(function() {
721+
let data = $("#idtiposessione").selectData();
722722
if (data && data.tempo_standard > 0) {
723723
let orario_inizio = input("orario_inizio").get();
724724
if (orario_inizio) {
@@ -731,7 +731,7 @@ function() {
731731
732732
// Automatismo per calcolare orario di fine quando cambia l\'orario di inizio
733733
input("orario_inizio").change(function() {
734-
let data = $("#idtipointervento").selectData();
734+
let data = $("#idtiposessione").selectData();
735735
if (data && data.tempo_standard > 0) {
736736
let orario_inizio = input("orario_inizio").get();
737737
if (orario_inizio) {

modules/interventi/ajax/select.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@
114114
// Priorità: tariffe contratto > tariffe sede > tariffe tecnico
115115
if (!empty($intervento->idsede_destinazione)) {
116116
// Se c'è una sede configurata: prova prima tariffe contratto, poi sede, poi tecnico
117-
$query = 'SELECT `in_tipiintervento`.`id`, CONCAT(`codice`, \' - \', `title`) AS descrizione,
117+
$query = 'SELECT `in_tipiintervento`.`id`, CASE WHEN ISNULL(`tempo_standard`) OR `tempo_standard` <= 0 THEN CONCAT(`codice`, \' - \', `title`) WHEN `tempo_standard` > 0 THEN CONCAT(`codice`, \' - \', `title`, \' (\', REPLACE(FORMAT(`tempo_standard`, 2), \'.\', \',\'), \' ore)\') END AS descrizione, `tempo_standard`,
118118
COALESCE(`co_contratti_tipiintervento`.`costo_ore`, `in_tariffe_sedi`.`costo_ore`, `in_tariffe`.`costo_ore`) AS prezzo_ore_unitario,
119119
COALESCE(`co_contratti_tipiintervento`.`costo_km`, `in_tariffe_sedi`.`costo_km`, `in_tariffe`.`costo_km`) AS prezzo_km_unitario,
120120
COALESCE(`co_contratti_tipiintervento`.`costo_dirittochiamata`, `in_tariffe_sedi`.`costo_dirittochiamata`, `in_tariffe`.`costo_dirittochiamata`) AS prezzo_dirittochiamata
@@ -134,7 +134,7 @@
134134
)';
135135
} elseif (!empty($intervento->id_contratto)) {
136136
// Se c'è un contratto: prova tariffe contratto, poi tecnico
137-
$query = 'SELECT `in_tipiintervento`.`id`, CONCAT(`codice`, \' - \', `title`) AS descrizione,
137+
$query = 'SELECT `in_tipiintervento`.`id`, CASE WHEN ISNULL(`tempo_standard`) OR `tempo_standard` <= 0 THEN CONCAT(`codice`, \' - \', `title`) WHEN `tempo_standard` > 0 THEN CONCAT(`codice`, \' - \', `title`, \' (\', REPLACE(FORMAT(`tempo_standard`, 2), \'.\', \',\'), \' ore)\') END AS descrizione, `tempo_standard`,
138138
COALESCE(`co_contratti_tipiintervento`.`costo_ore`, `in_tariffe`.`costo_ore`) AS prezzo_ore_unitario,
139139
COALESCE(`co_contratti_tipiintervento`.`costo_km`, `in_tariffe`.`costo_km`) AS prezzo_km_unitario,
140140
COALESCE(`co_contratti_tipiintervento`.`costo_dirittochiamata`, `in_tariffe`.`costo_dirittochiamata`) AS prezzo_dirittochiamata
@@ -152,7 +152,7 @@
152152
)';
153153
} else {
154154
// Altrimenti usa solo tariffe tecnico
155-
$query = 'SELECT `in_tipiintervento`.`id`, CONCAT(`codice`, \' - \', `title`) AS descrizione,
155+
$query = 'SELECT `in_tipiintervento`.`id`, CASE WHEN ISNULL(`tempo_standard`) OR `tempo_standard` <= 0 THEN CONCAT(`codice`, \' - \', `title`) WHEN `tempo_standard` > 0 THEN CONCAT(`codice`, \' - \', `title`, \' (\', REPLACE(FORMAT(`tempo_standard`, 2), \'.\', \',\'), \' ore)\') END AS descrizione, `tempo_standard`,
156156
`in_tariffe`.`costo_ore` AS prezzo_ore_unitario,
157157
`in_tariffe`.`costo_km` AS prezzo_km_unitario,
158158
`in_tariffe`.`costo_dirittochiamata` AS prezzo_dirittochiamata

modules/interventi/modals/manage_sessione.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,16 @@
124124
if($("#orario_fine").data("DateTimePicker").date() < e.date){
125125
$("#orario_fine").data("DateTimePicker").date(e.date);
126126
}
127+
128+
let data = $("#idtipointerventot").selectData();
129+
if (data && data.tempo_standard > 0) {
130+
let orario_inizio = e.date;
131+
if (orario_inizio) {
132+
let tempo_standard = data.tempo_standard * 60;
133+
let nuovo_orario_fine = moment(orario_inizio).add(tempo_standard, "m");
134+
$("#orario_fine").data("DateTimePicker").date(nuovo_orario_fine);
135+
}
136+
}
127137
});
128138
129139
$("#orario_fine").on("dp.change", function (e) {
@@ -156,6 +166,15 @@
156166
$("#prezzo_ore_unitario").val(data.prezzo_ore_unitario);
157167
$("#prezzo_km_unitario").val(data.prezzo_km_unitario);
158168
$("#prezzo_dirittochiamata").val(data.prezzo_dirittochiamata);
169+
170+
if (data.tempo_standard > 0) {
171+
let orario_inizio = $("#orario_inizio").data("DateTimePicker").date();
172+
if (orario_inizio) {
173+
let tempo_standard = data.tempo_standard * 60;
174+
let nuovo_orario_fine = moment(orario_inizio).add(tempo_standard, "m");
175+
$("#orario_fine").data("DateTimePicker").date(nuovo_orario_fine);
176+
}
177+
}
159178
}
160179
});
161180
});

0 commit comments

Comments
 (0)