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

@ -10,19 +10,19 @@ $righe = $dbo->fetchArray($query);
echo ' echo '
<table class="table table-striped table-hover table-condensed table-bordered"> <table class="table table-striped table-hover table-condensed table-bordered">
<tr> <tr>
<th>' . tr('Descrizione riga') . '</th> <th>'.tr('Descrizione riga').'</th>
<th width="100">' . tr('Imponibile') . '</th> <th width="100">'.tr('Imponibile').'</th>
</tr>'; </tr>';
foreach ($righe as $riga) { foreach ($righe as $riga) {
echo ' echo '
<tr> <tr>
<td> <td>
<span>' . $riga['desc_riga'] . '</span> <span>'.$riga['desc_riga'].'</span>
</td> </td>
<td class="text-right"> <td class="text-right">
<span>' . moneyFormat($riga['imponibile']) . ' </span> <span>'.moneyFormat($riga['imponibile']).' </span>
</td> </td>
</tr>'; </tr>';
} }
@ -31,8 +31,8 @@ echo '
echo ' echo '
<tr> <tr>
<th class="text-right">' . tr('Totali') . ': </th> <th class="text-right">'.tr('Totali').': </th>
<th width="100" class="text-right"><span>' . moneyFormat($totale_imponibile) . '</span></th> <th width="100" class="text-right"><span>'.moneyFormat($totale_imponibile).'</span></th>
</tr> </tr>
</table> </table>

View File

@ -6,14 +6,14 @@ include_once __DIR__.'/../../core.php';
$query1 = 'SELECT * FROM `co_pianodeiconti1` ORDER BY id DESC'; $query1 = 'SELECT * FROM `co_pianodeiconti1` ORDER BY id DESC';
$primo_livello = $dbo->fetchArray($query1); $primo_livello = $dbo->fetchArray($query1);
foreach ($primo_livello as $conto_primo){ foreach ($primo_livello as $conto_primo) {
$totale_attivita = []; $totale_attivita = [];
$totale_passivita = []; $totale_passivita = [];
$costi = []; $costi = [];
$ricavi = []; $ricavi = [];
$titolo = $conto_primo['descrizione'] == 'Economico' ? tr('Conto economico') :tr('Stato patrimoniale'); $titolo = $conto_primo['descrizione'] == 'Economico' ? tr('Conto economico') : tr('Stato patrimoniale');
echo ' echo '
<hr> <hr>
@ -29,7 +29,7 @@ foreach ($primo_livello as $conto_primo){
$query2 = "SELECT * FROM `co_pianodeiconti2` WHERE idpianodeiconti1='".$conto_primo['id']."' ORDER BY numero ASC"; $query2 = "SELECT * FROM `co_pianodeiconti2` WHERE idpianodeiconti1='".$conto_primo['id']."' ORDER BY numero ASC";
$secondo_livello = $dbo->fetchArray($query2); $secondo_livello = $dbo->fetchArray($query2);
foreach ($secondo_livello as $conto_secondo){ foreach ($secondo_livello as $conto_secondo) {
// Livello 2 // Livello 2
echo ' echo '
<div> <div>
@ -44,15 +44,15 @@ foreach ($primo_livello as $conto_primo){
$query3 = 'SELECT `co_pianodeiconti3`.*, `clienti`.`idanagrafica` AS id_cliente, `fornitori`.`idanagrafica` AS id_fornitore FROM `co_pianodeiconti3` LEFT OUTER JOIN `an_anagrafiche` `clienti` ON `clienti`.`idconto_cliente` = `co_pianodeiconti3`.`id` LEFT OUTER JOIN `an_anagrafiche` `fornitori` ON `fornitori`.`idconto_fornitore` = `co_pianodeiconti3`.`id` WHERE `idpianodeiconti2` = '.prepare($conto_secondo['id']).' ORDER BY numero ASC'; $query3 = 'SELECT `co_pianodeiconti3`.*, `clienti`.`idanagrafica` AS id_cliente, `fornitori`.`idanagrafica` AS id_fornitore FROM `co_pianodeiconti3` LEFT OUTER JOIN `an_anagrafiche` `clienti` ON `clienti`.`idconto_cliente` = `co_pianodeiconti3`.`id` LEFT OUTER JOIN `an_anagrafiche` `fornitori` ON `fornitori`.`idconto_fornitore` = `co_pianodeiconti3`.`id` WHERE `idpianodeiconti2` = '.prepare($conto_secondo['id']).' ORDER BY numero ASC';
$terzo_livello = $dbo->fetchArray($query3); $terzo_livello = $dbo->fetchArray($query3);
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>
@ -251,7 +251,7 @@ foreach ($primo_livello as $conto_primo){
</tr>'; </tr>';
} }
echo ' echo '
</table>'; </table>';
} }
@ -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) {