refactor: Aggiunta stato esaurimento ore nel selettore contratto
This commit is contained in:
parent
996e9027fa
commit
dd5e3a0c5e
|
@ -19,6 +19,8 @@
|
||||||
|
|
||||||
include_once __DIR__.'/../../../core.php';
|
include_once __DIR__.'/../../../core.php';
|
||||||
|
|
||||||
|
use Modules\Contratti\Contratto;
|
||||||
|
|
||||||
switch ($resource) {
|
switch ($resource) {
|
||||||
/*
|
/*
|
||||||
* Opzioni utilizzate:
|
* Opzioni utilizzate:
|
||||||
|
@ -43,5 +45,35 @@ switch ($resource) {
|
||||||
$search_fields[] = '`co_contratti`.`nome` LIKE '.prepare('%'.$search.'%');
|
$search_fields[] = '`co_contratti`.`nome` LIKE '.prepare('%'.$search.'%');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$query = str_replace('|where|', !empty($where) ? 'WHERE '.implode(' AND ', $where) : '', $query);
|
||||||
|
$rs = $dbo->fetchArray($query);
|
||||||
|
|
||||||
|
foreach ($rs as $r) {
|
||||||
|
$contratto = Contratto::find($r['id']);
|
||||||
|
$ore_erogate = $contratto->interventi->sum('ore_totali');
|
||||||
|
$ore_previste = $contratto->getRighe()->where('um', 'ore')->sum('qta');
|
||||||
|
$perc_ore = $ore_previste != 0 ? ($ore_erogate * 100) / ($ore_previste ?: 1) : 0;
|
||||||
|
|
||||||
|
if( $ore_previste ){
|
||||||
|
if ($perc_ore < 75) {
|
||||||
|
$color = '#81f794';
|
||||||
|
} elseif ($perc_ore <= 100) {
|
||||||
|
$color = '#f5cb78';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$descrizione = ($ore_previste>0 ? $r['descrizione']." - ".tr('_EROGATE_/_PREVISTE_ ore',[
|
||||||
|
'_EROGATE_' => Translator::numberToLocale($ore_erogate,2),
|
||||||
|
'_PREVISTE_' => Translator::numberToLocale($ore_previste,2),
|
||||||
|
]) : $r['descrizione']);
|
||||||
|
|
||||||
|
$results[] = [
|
||||||
|
'id' => $r['id'],
|
||||||
|
'text' => $descrizione,
|
||||||
|
'descrizione' => $descrizione,
|
||||||
|
'_bgcolor_' => $color,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue