Per le attività collegate a contratti, i costi interni del tecnico vengono sempre presi da quelli globali o da quelli specificati per il singolo tecnico

This commit is contained in:
Luca 2019-06-14 16:52:14 +02:00
parent 034a0b733d
commit 4947ab40a9
3 changed files with 50 additions and 31 deletions

View File

@ -172,7 +172,7 @@ $_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
$idtipiintervento = ['-1']; $idtipiintervento = ['-1'];
//Loop fra i tipi di attività e i relativi costi del tipo intervento //Loop fra i tipi di attività e i relativi costi del tipo intervento
$rs = $dbo->fetchArray('SELECT co_contratti_tipiintervento.*, in_tipiintervento.descrizione FROM in_tipiintervento INNER JOIN co_contratti_tipiintervento ON in_tipiintervento.idtipointervento=co_contratti_tipiintervento.idtipointervento WHERE idcontratto='.prepare($id_record).' AND (co_contratti_tipiintervento.costo_ore!=0 OR co_contratti_tipiintervento.costo_km!=0 OR co_contratti_tipiintervento.costo_dirittochiamata!=0) ORDER BY in_tipiintervento.descrizione'); $rs = $dbo->fetchArray('SELECT co_contratti_tipiintervento.*, in_tipiintervento.descrizione, in_tipiintervento.costo_orario_tecnico AS costo_ore_tecnico, in_tipiintervento.costo_km_tecnico AS costo_km_tecnico, in_tipiintervento.costo_diritto_chiamata_tecnico AS costo_dirittochiamata_tecnico FROM in_tipiintervento INNER JOIN co_contratti_tipiintervento ON in_tipiintervento.idtipointervento=co_contratti_tipiintervento.idtipointervento WHERE idcontratto='.prepare($id_record).' AND (co_contratti_tipiintervento.costo_ore!=0 OR co_contratti_tipiintervento.costo_km!=0 OR co_contratti_tipiintervento.costo_dirittochiamata!=0) ORDER BY in_tipiintervento.descrizione');
if (sizeof($rs) > 0) { if (sizeof($rs) > 0) {
echo ' echo '
@ -184,9 +184,9 @@ if (sizeof($rs) > 0) {
<th>'.tr('Addebito km').' <span class="tip" title="'.tr('Addebito al cliente').'"><i class="fa fa-question-circle-o"></i></span></th> <th>'.tr('Addebito km').' <span class="tip" title="'.tr('Addebito al cliente').'"><i class="fa fa-question-circle-o"></i></span></th>
<th>'.tr('Addebito diritto ch.').' <span class="tip" title="'.tr('Addebito al cliente').'"><i class="fa fa-question-circle-o"></i></span></th> <th>'.tr('Addebito diritto ch.').' <span class="tip" title="'.tr('Addebito al cliente').'"><i class="fa fa-question-circle-o"></i></span></th>
<th>'.tr('Costo orario').' <span class="tip" title="'.tr('Costo interno').'"><i class="fa fa-question-circle-o"></i></span></th> <th class="hide" >'.tr('Costo orario').' <span class="tip" title="'.tr('Costo interno').'"><i class="fa fa-question-circle-o"></i></span></th>
<th>'.tr('Costo al km').' <span class="tip" title="'.tr('Costo interno').'"><i class="fa fa-question-circle-o"></i></span></th> <th class="hide" >'.tr('Costo al km').' <span class="tip" title="'.tr('Costo interno').'"><i class="fa fa-question-circle-o"></i></span></th>
<th>'.tr('Diritto di chiamata').' <span class="tip" title="'.tr('Costo interno').'"><i class="fa fa-question-circle-o"></i></span></th> <th class="hide" >'.tr('Diritto di chiamata').' <span class="tip" title="'.tr('Costo interno').'"><i class="fa fa-question-circle-o"></i></span></th>
<th width="40"></th> <th width="40"></th>
</tr>'; </tr>';
@ -207,16 +207,16 @@ if (sizeof($rs) > 0) {
{[ "type": "number", "name": "costo_dirittochiamata['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_dirittochiamata'].'" ]} {[ "type": "number", "name": "costo_dirittochiamata['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_dirittochiamata'].'" ]}
</td> </td>
<td> <td class="hide" >
{[ "type": "number", "name": "costo_ore_tecnico['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_ore_tecnico'].'" ]} {[ "type": "number", "name": "costo_ore_tecnico['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_ore_tecnico'].'", "readonly":"1" ]}
</td> </td>
<td> <td class="hide" >
{[ "type": "number", "name": "costo_km_tecnico['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_km_tecnico'].'" ]} {[ "type": "number", "name": "costo_km_tecnico['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_km_tecnico'].'", "readonly":"1" ]}
</td> </td>
<td> <td class="hide" >
{[ "type": "number", "name": "costo_dirittochiamata_tecnico['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_dirittochiamata_tecnico'].'" ]} {[ "type": "number", "name": "costo_dirittochiamata_tecnico['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_dirittochiamata_tecnico'].'", "readonly":"1" ]}
</td> </td>
<td> <td>
@ -251,9 +251,9 @@ if (sizeof($rs) > 0) {
<th>'.tr('Addebito km').' <span class="tip" title="'.tr('Addebito al cliente').'"><i class="fa fa-question-circle-o"></i></span></th> <th>'.tr('Addebito km').' <span class="tip" title="'.tr('Addebito al cliente').'"><i class="fa fa-question-circle-o"></i></span></th>
<th>'.tr('Addebito diritto ch.').' <span class="tip" title="'.tr('Addebito al cliente').'"><i class="fa fa-question-circle-o"></i></span></th> <th>'.tr('Addebito diritto ch.').' <span class="tip" title="'.tr('Addebito al cliente').'"><i class="fa fa-question-circle-o"></i></span></th>
<th>'.tr('Costo orario').' <span class="tip" title="'.tr('Costo interno').'"><i class="fa fa-question-circle-o"></i></span></th> <th class="hide" >'.tr('Costo orario').' <span class="tip" title="'.tr('Costo interno').'"><i class="fa fa-question-circle-o"></i></span></th>
<th>'.tr('Costo al km').' <span class="tip" title="'.tr('Costo interno').'"><i class="fa fa-question-circle-o"></i></span></th> <th class="hide" >'.tr('Costo al km').' <span class="tip" title="'.tr('Costo interno').'"><i class="fa fa-question-circle-o"></i></span></th>
<th>'.tr('Diritto di chiamata').' <span class="tip" title="'.tr('Costo interno').'"><i class="fa fa-question-circle-o"></i></span></th> <th class="hide" >'.tr('Diritto di chiamata').' <span class="tip" title="'.tr('Costo interno').'"><i class="fa fa-question-circle-o"></i></span></th>
<th width="40"></th> <th width="40"></th>
</tr>'; </tr>';
@ -274,16 +274,16 @@ if (sizeof($rs) > 0) {
{[ "type": "number", "name": "costo_dirittochiamata['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_diritto_chiamata'].'" ]} {[ "type": "number", "name": "costo_dirittochiamata['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_diritto_chiamata'].'" ]}
</td> </td>
<td> <td class="hide" >
{[ "type": "number", "name": "costo_ore_tecnico['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_orario_tecnico'].'" ]} {[ "type": "number", "name": "costo_ore_tecnico['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_orario_tecnico'].'" , "readonly":"1" ]}
</td> </td>
<td> <td class="hide" >
{[ "type": "number", "name": "costo_km_tecnico['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_km_tecnico'].'" ]} {[ "type": "number", "name": "costo_km_tecnico['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_km_tecnico'].'" , "readonly":"1" ]}
</td> </td>
<td> <td class="hide" >
{[ "type": "number", "name": "costo_dirittochiamata_tecnico['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_diritto_chiamata_tecnico'].'" ]} {[ "type": "number", "name": "costo_dirittochiamata_tecnico['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_diritto_chiamata_tecnico'].'", "readonly":"1" ]}
</td> </td>
<td> <td>

View File

@ -115,7 +115,7 @@ function add_tecnico($idintervento, $idtecnico, $inizio, $fine, $idcontratto = n
$costo_dirittochiamata_tecnico = $rsc[0]['costo_diritto_chiamata_tecnico']; $costo_dirittochiamata_tecnico = $rsc[0]['costo_diritto_chiamata_tecnico'];
} }
// Leggo i costi unitari da contratto se l'intervento è legato ad un contratto e c'è almeno un record... // Sovrascrivo i costi unitari da contratto se l'intervento è legato ad un contratto e c'è almeno un record...
if (!empty($idcontratto)) { if (!empty($idcontratto)) {
$rsc = $dbo->fetchArray('SELECT * FROM co_contratti_tipiintervento WHERE idcontratto='.prepare($idcontratto).' AND idtipointervento='.prepare($idtipointervento)); $rsc = $dbo->fetchArray('SELECT * FROM co_contratti_tipiintervento WHERE idcontratto='.prepare($idcontratto).' AND idtipointervento='.prepare($idtipointervento));
@ -124,9 +124,10 @@ function add_tecnico($idintervento, $idtecnico, $inizio, $fine, $idcontratto = n
$costo_km = $rsc[0]['costo_km']; $costo_km = $rsc[0]['costo_km'];
$costo_dirittochiamata = $rsc[0]['costo_dirittochiamata']; $costo_dirittochiamata = $rsc[0]['costo_dirittochiamata'];
$costo_ore_tecnico = $rsc[0]['costo_ore_tecnico']; //per le attività collegate a contratti, i costi interni del tecnico vengono sempre presi da quelli globali o da quelli specificati per il singolo tecnico
$costo_km_tecnico = $rsc[0]['costo_km_tecnico']; //$costo_ore_tecnico = $rsc[0]['costo_ore_tecnico'];
$costo_dirittochiamata_tecnico = $rsc[0]['costo_dirittochiamata_tecnico']; //$costo_km_tecnico = $rsc[0]['costo_km_tecnico'];
//$costo_dirittochiamata_tecnico = $rsc[0]['costo_dirittochiamata_tecnico'];
} }
} }

View File

@ -4,7 +4,7 @@ include_once __DIR__.'/../../core.php';
$tipi_interventi = $dbo->fetchArray('SELECT * FROM in_tipiintervento ORDER BY descrizione'); $tipi_interventi = $dbo->fetchArray('SELECT * FROM in_tipiintervento ORDER BY descrizione');
$tecnici = $dbo->fetchArray("SELECT idanagrafica, ragione_sociale FROM an_anagrafiche WHERE idanagrafica IN ( $tecnici = $dbo->fetchArray("SELECT idanagrafica, ragione_sociale, colore FROM an_anagrafiche WHERE idanagrafica IN (
SELECT idanagrafica FROM an_tipianagrafiche_anagrafiche WHERE idtipoanagrafica IN ( SELECT idanagrafica FROM an_tipianagrafiche_anagrafiche WHERE idtipoanagrafica IN (
SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione = 'Tecnico' SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione = 'Tecnico'
) )
@ -14,14 +14,27 @@ if (!empty($tecnici)) {
echo ' echo '
<form action="" method="post" id="edit-form"> <form action="" method="post" id="edit-form">
<input type="hidden" name="op" value="update"> <input type="hidden" name="op" value="update">
<input type="hidden" name="backto" value="record-list"> <input type="hidden" name="backto" value="record-list">';
<table class="table table-striped table-condensed">';
foreach ($tecnici as $tecnico) { foreach ($tecnici as $tecnico) {
echo '
echo '<div class="box box-info collapsable" style="'.((strtolower($tecnico['colore'])=='#ffffff' or empty($tecnico['colore'])) ? '' : 'border-color: '.$tecnico['colore']).'">
<div class="box-header with-border">
<h3 class="box-title"><i class="fa fa-user"></i> '.$tecnico['ragione_sociale'].'</h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
</div>
</div>
<div class="box-body">
<table class="table table-striped table-condensed">
<tr> <tr>
<th>'.$tecnico['ragione_sociale'].'</th>
<th>'.tr('Attività').'</th> <th>'.tr('Attività').'</th>
<th>'.tr('Addebito orario').' <span class="tip" title="'.tr('Addebito al cliente').'"><i class="fa fa-question-circle-o"></i></span></th> <th>'.tr('Addebito orario').' <span class="tip" title="'.tr('Addebito al cliente').'"><i class="fa fa-question-circle-o"></i></span></th>
<th>'.tr('Addebito km').' <span class="tip" title="'.tr('Addebito al cliente').'"><i class="fa fa-question-circle-o"></i></span></th> <th>'.tr('Addebito km').' <span class="tip" title="'.tr('Addebito al cliente').'"><i class="fa fa-question-circle-o"></i></span></th>
@ -40,7 +53,7 @@ if (!empty($tecnici)) {
echo ' echo '
<tr> <tr>
<td></td>
<td>'.$tipo_intervento['descrizione'].'</td> <td>'.$tipo_intervento['descrizione'].'</td>
<td> <td>
@ -72,12 +85,17 @@ if (!empty($tecnici)) {
</button> </button>
</td> </td>
</tr>'; </tr>';
} }
echo '
</table>
</div>
</div>';
} }
echo ' echo '
</table>
<div class="pull-right"> <div class="pull-right">
<button type="submit" class="btn btn-success"><i class="fa fa-check"></i> '.tr('Salva modifiche').'</button> <button type="submit" class="btn btn-success"><i class="fa fa-check"></i> '.tr('Salva modifiche').'</button>
</div> </div>