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';
|
||||
|
||||
use Modules\Contratti\Contratto;
|
||||
|
||||
switch ($resource) {
|
||||
/*
|
||||
* Opzioni utilizzate:
|
||||
|
@ -43,5 +45,35 @@ switch ($resource) {
|
|||
$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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue