diff --git a/modules/anagrafiche/ajax/select.php b/modules/anagrafiche/ajax/select.php index d1e55753b..0143b15cf 100644 --- a/modules/anagrafiche/ajax/select.php +++ b/modules/anagrafiche/ajax/select.php @@ -95,7 +95,7 @@ switch ($resource) { //come tecnico posso aprire attività solo a mio nome $user = Auth::user(); - if ($user['gruppo'] == 'Tecnici' and !empty($user['idanagrafica'])) { + if ($user['gruppo'] == 'Tecnici' && !empty($user['idanagrafica'])) { $where[] = 'an_anagrafiche.idanagrafica='.$user['idanagrafica']; } } diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php index c0ef2958d..c0cbb1ec1 100644 --- a/modules/interventi/actions.php +++ b/modules/interventi/actions.php @@ -73,75 +73,76 @@ switch (post('op')) { $rst = $dbo->fetchArray('SELECT idtecnico FROM in_interventi_tecnici WHERE id='.prepare($idriga)); // Limitazione delle azioni dei tecnici - if (($user['gruppo'] == 'Tecnici' && $user['idanagrafica'] == $rst[0]['idtecnico']) || $user['gruppo'] == 'Amministratori') { - // Lettura delle date di inizio e fine intervento - $orario_inizio = post('orario_inizio')[$idriga]; - $orario_fine = post('orario_fine')[$idriga]; + //($user['gruppo'] == 'Tecnici' && $user['idanagrafica'] == $rst[0]['idtecnico']) || $user['gruppo'] == 'Amministratori' - // Ricalcolo le ore lavorate - $ore = calcola_ore_intervento($orario_inizio, $orario_fine); + // Lettura delle date di inizio e fine intervento + $orario_inizio = post('orario_inizio')[$idriga]; + $orario_fine = post('orario_fine')[$idriga]; - $km = post('km')[$idriga]; + // Ricalcolo le ore lavorate + $ore = calcola_ore_intervento($orario_inizio, $orario_fine); - // Lettura tariffe in base al tipo di intervento ed al tecnico - $idtipointervento_tecnico = post('idtipointerventot')[$idriga]; - $rs = $dbo->fetchArray('SELECT * FROM in_interventi_tecnici WHERE idtecnico='.prepare(post('idtecnico')[$idriga]).' AND idintervento='.prepare($id_record)); + $km = post('km')[$idriga]; - if ($idtipointervento_tecnico != $rs[0]['idtipointervento']) { - $rsc = $dbo->fetchArray('SELECT * FROM in_tariffe WHERE idtecnico='.prepare(post('idtecnico')[$idriga]).' AND idtipointervento='.prepare($idtipointervento_tecnico)); + // Lettura tariffe in base al tipo di intervento ed al tecnico + $idtipointervento_tecnico = post('idtipointerventot')[$idriga]; + $rs = $dbo->fetchArray('SELECT * FROM in_interventi_tecnici WHERE idtecnico='.prepare(post('idtecnico')[$idriga]).' AND idintervento='.prepare($id_record)); - 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']; + if ($idtipointervento_tecnico != $rs[0]['idtipointervento']) { + $rsc = $dbo->fetchArray('SELECT * FROM in_tariffe WHERE idtecnico='.prepare(post('idtecnico')[$idriga]).' AND idtipointervento='.prepare($idtipointervento_tecnico)); - $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']; - } + 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']; - // ...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']; + $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']; } - // Totali - $prezzo_ore_consuntivo = $prezzo_ore_unitario * $ore; - $prezzo_km_consuntivo = $prezzo_km_unitario * $km; + // ...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_consuntivo_tecnico = $prezzo_ore_unitario_tecnico * $ore; - $prezzo_km_consuntivo_tecnico = $prezzo_km_unitario_tecnico * $km; + $prezzo_ore_unitario = $rsc[0]['costo_orario']; + $prezzo_km_unitario = $rsc[0]['costo_km']; + $prezzo_dirittochiamata = $rsc[0]['costo_diritto_chiamata']; - // Sconti - $sconto_unitario = post('sconto')[$idriga]; - $tipo_sconto = post('tipo_sconto')[$idriga]; - $sconto = calcola_sconto([ + $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')[$idriga]; + $tipo_sconto = post('tipo_sconto')[$idriga]; + $sconto = calcola_sconto([ 'sconto' => $sconto_unitario, 'prezzo' => $prezzo_ore_consuntivo, 'tipo' => $tipo_sconto, ]); - $scontokm_unitario = post('scontokm')[$idriga]; - $tipo_scontokm = post('tipo_scontokm')[$idriga]; - $scontokm = ($tipo_scontokm == 'PRC') ? ($prezzo_km_consuntivo * $scontokm_unitario) / 100 : $scontokm_unitario; + $scontokm_unitario = post('scontokm')[$idriga]; + $tipo_scontokm = post('tipo_scontokm')[$idriga]; + $scontokm = ($tipo_scontokm == 'PRC') ? ($prezzo_km_consuntivo * $scontokm_unitario) / 100 : $scontokm_unitario; - $dbo->update('in_interventi_tecnici', [ + $dbo->update('in_interventi_tecnici', [ 'idintervento' => $id_record, 'idtipointervento' => $idtipointervento_tecnico, 'idtecnico' => post('idtecnico')[$idriga], @@ -171,7 +172,6 @@ switch (post('op')) { 'scontokm_unitario' => $scontokm_unitario, 'tipo_scontokm' => $tipo_scontokm, ], ['id' => $idriga]); - } } $tipo_sconto = post('tipo_sconto_globale'); diff --git a/modules/interventi/add.php b/modules/interventi/add.php index ea4c12507..95e1648bb 100644 --- a/modules/interventi/add.php +++ b/modules/interventi/add.php @@ -18,7 +18,7 @@ $idstatointervento = null; $richiesta = null; $impianti = []; //come tecnico posso aprire attività solo a mio nome -if ($user['gruppo'] == 'Tecnici' and !empty($user['idanagrafica'])) { +if ($user['gruppo'] == 'Tecnici' && !empty($user['idanagrafica'])) { $idtecnico = $user['idanagrafica']; } else { $idtecnico = null; @@ -90,9 +90,9 @@ elseif (!empty($idcontratto) && !empty($idcontratto_riga)) { $idimpianto = implode(',', array_column($rs, 'idimpianto')); } else { $idimpianto = $idimpianti; - // Spunto il tecnico di default assegnato all'impianto - $rs = $dbo->fetchArray('SELECT idtecnico FROM my_impianti WHERE id='.prepare($idimpianto)); - $idtecnico = $rs[0]['idtecnico'] ?: ''; + // Spunto il tecnico di default assegnato all'impianto + $rs = $dbo->fetchArray('SELECT idtecnico FROM my_impianti WHERE id='.prepare($idimpianto)); + $idtecnico = $rs[0]['idtecnico'] ?: ''; } // Seleziono "In programmazione" come stato @@ -410,7 +410,7 @@ if (empty($new_codice)) { //$('#elenco_interventi > tbody').load(globals.rootdir + '/modules/contratti/plugins/contratti.pianificazioneinterventi.php?op=get_interventi_pianificati&idcontratto='); $("#bs-popup").modal('hide'); parent.window.location.reload(); - //location.href = '/editor.php?id_module=&id_record=#tab_'; + //location.href = '/editor.php?id_module=&id_record=#tab_'; } } });