. */ include_once __DIR__.'/../../core.php'; use Models\Upload; use Models\Module; use Modules\Anagrafiche\Anagrafica; use Modules\Anagrafiche\Sede; use Modules\Contratti\Contratto; use Modules\Interventi\Intervento; use Modules\Scadenzario\Scadenza; // Anagrafica $anagrafica = $intervento->anagrafica; // Sede if ($intervento->idsede_destinazione) { $sede = $dbo->selectOne('an_sedi', '*', ['id' => $intervento->idsede_destinazione]); } else { $sede = $anagrafica->toArray(); } // Referente $referente = null; if ($intervento->idreferente) { $referente = $dbo->selectOne('an_referenti', '*', ['id' => $intervento->idreferente]); } // Contratto $contratto = null; $ore_erogate = 0; $ore_previste = 0; $perc_ore = 0; $color = 'danger'; if ($intervento->id_contratto) { $contratto = Contratto::find($intervento->id_contratto); $ore_erogate = $contratto->interventi->sum('ore_totali'); $ore_previste = $contratto->getRighe()->where('um', 'ore')->sum('qta'); $perc_ore = ($ore_erogate * 100) / $ore_previste; if ($perc_ore < 75) { $color = 'success'; } elseif ($perc_ore <= 100) { $color = 'warning'; } } // Altre attività $interventi_programmati = Intervento::select('in_interventi.*') ->join('in_statiintervento', 'in_interventi.idstatointervento', '=', 'in_statiintervento.id') ->where('idanagrafica', $intervento->idanagrafica) ->where('idsede_destinazione', $intervento->idsede_destinazione) ->where('is_completato', '!=', 1) ->where('in_interventi.id', '!=', $id_record) ->get(); // Insoluti $insoluti = Scadenza::where('idanagrafica', $intervento->idanagrafica) ->whereRaw('co_scadenziario.da_pagare > co_scadenziario.pagato') ->whereRaw('co_scadenziario.scadenza < NOW()') ->count(); // Logo $logo = Upload::where('id_module', (new Module())->getByField('title', 'Anagrafiche'))->where('id_record', $intervento->idanagrafica)->where('name', 'Logo azienda')->first()->filename ?: App::getPaths()['img'].'/logo_header.png'; echo '
'.($sede['nomesede'] ? $sede['nomesede'].'
' : '').'
'.$sede['indirizzo'].'
'.$sede['cap'].' - '.$sede['citta'].' ('.$sede['provincia'].')
'.($sede['telefono'] ? ' '.$sede['telefono'].'' : '').' '.($sede['email'] ? ' '.$sede['email'].'' : '').' '.($referente['nome'] ? '
'.$referente['nome'].''.tr('Insoluti').'
'.tr('Altre attività programmate').''; if (count($interventi_programmati) == 0) { echo ': '.tr('nessuna').''; } else { foreach ($interventi_programmati as $intervento_programmato) { echo ' '.$intervento_programmato->codice.''; } } echo '
'.tr('Contratto attivo').' '.($contratto ? ''.$contratto->numero.'' : '').'
'; if ($ore_previste > 0) { echo '