mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-02 17:07:01 +01:00
Aggiunto widget ore lavorate nel plugin Statistiche
This commit is contained in:
parent
972c5ecaa7
commit
41f6c4da82
@ -23,6 +23,7 @@ use Modules\Anagrafiche\Anagrafica;
|
||||
use Modules\Contratti\Contratto;
|
||||
use Modules\DDT\DDT;
|
||||
use Modules\Fatture\Fattura;
|
||||
use Modules\Interventi\Components\Sessione;
|
||||
use Modules\Interventi\Intervento;
|
||||
use Modules\Ordini\Ordine;
|
||||
use Modules\Preventivi\Preventivo;
|
||||
@ -55,21 +56,27 @@ $ordini_cliente = Ordine::whereBetween('data', [$start, $end])
|
||||
->get();
|
||||
$totale_ordini_cliente = $ordini_cliente->sum('totale_imponibile');
|
||||
|
||||
// Interventi
|
||||
// Interventi e Ore lavorate
|
||||
$interventi = [];
|
||||
// Clienti
|
||||
if ($anagrafica->isTipo('Cliente')) {
|
||||
$interventi = $dbo->fetchArray('SELECT in_interventi.id FROM in_interventi WHERE in_interventi.idanagrafica='.prepare($id_record).' AND data_richiesta BETWEEN '.prepare($start).' AND '.prepare($end));
|
||||
$sessioni = $dbo->fetchArray('SELECT in_interventi_tecnici.id FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi.id = in_interventi_tecnici.idintervento WHERE in_interventi.idanagrafica='.prepare($id_record).' AND in_interventi_tecnici.orario_inizio BETWEEN '.prepare($start).' AND '.prepare($end));
|
||||
}
|
||||
|
||||
// Tecnici
|
||||
elseif ($anagrafica->isTipo('Tecnico')) {
|
||||
$interventi = $dbo->fetchArray('SELECT in_interventi.id FROM in_interventi INNER JOIN in_interventi_tecnici ON in_interventi.id = in_interventi_tecnici.idintervento WHERE in_interventi_tecnici.idtecnico='.prepare($id_record).' AND data_richiesta BETWEEN '.prepare($start).' AND '.prepare($end));
|
||||
|
||||
$sessioni = $dbo->fetchArray('SELECT in_interventi_tecnici.id FROM in_interventi_tecnici WHERE in_interventi_tecnici.idtecnico='.prepare($id_record).' AND in_interventi_tecnici.orario_inizio BETWEEN '.prepare($start).' AND '.prepare($end));
|
||||
}
|
||||
|
||||
$interventi = Intervento::whereIn('id', array_column($interventi, 'id'))->get();
|
||||
$totale_interventi = $interventi->sum('totale_imponibile');
|
||||
|
||||
$sessioni = Sessione::whereIn('id', array_column($sessioni, 'id'))->get();
|
||||
$totale_ore_lavorate = $sessioni->sum('ore');
|
||||
|
||||
// Ddt in uscita
|
||||
$ddt_uscita = DDT::whereBetween('data', [$start, $end])
|
||||
->where('idanagrafica', $id_record)
|
||||
@ -212,5 +219,27 @@ echo '
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="info-box">
|
||||
<span class="info-box-icon bg-'.($sessioni->count() == 0 ? 'gray' : 'yellow').'"><i class="fa fa-wrench"></i></span>
|
||||
<div class="info-box-content">
|
||||
<span class="info-box-text pull-left">'.tr('Ore lavorate').'</span>';
|
||||
if ($anagrafica->isTipo('Cliente')){
|
||||
echo'
|
||||
'.($sessioni->count() > 0 ? '<span class="info-box-text pull-right"><a href="'.base_path().'/controller.php?id_module='.Modules::get('Interventi')['id'].'&search_Ragione-sociale='.rawurlencode($anagrafica['ragione_sociale']).'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '').'';
|
||||
} else {
|
||||
echo '
|
||||
'.($sessioni->count() > 0 ? '<span class="info-box-text pull-right"><a href="'.base_path().'/controller.php?id_module='.Modules::get('Interventi')['id'].'&search_Tecnici='.rawurlencode($anagrafica['ragione_sociale']).'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '').'';
|
||||
}
|
||||
echo'
|
||||
<br class="clearfix">
|
||||
<span class="info-box-number">
|
||||
<big>'.numberFormat($totale_ore_lavorate, 0).'</big>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>';
|
||||
|
Loading…
x
Reference in New Issue
Block a user