getByField('name', 'Contratti'));
if ($modulo_contratti->permission != '-') {
// Contratti attivi per l'anagrafica
$contratti = Contratto::where('idanagrafica', '=', $id_anagrafica)
->whereHas('stato', function ($query) {
$query->where('is_pianificabile', '=', 1);
})
->latest()->take($numero_documenti)->get();
echo '
'.tr('Contratti').':';
if (!$contratti->isEmpty()) {
foreach ($contratti as $contratto) {
echo '
- '.$contratto->getReference().' ['.$contratto->stato->getTranslation('name').']: '.dateFormat($contratto->data_accettazione).' - '.dateFormat($contratto->data_conclusione).'
';
}
} else {
echo '
- '.tr('Nessun contratto attivo per questo cliente').'
';
}
echo '
';
}
// Informazioni sui preventivi
$modulo_preventivi = Module::find((new Module())->getByField('name', 'Preventivi'));
if ($modulo_preventivi->permission != '-') {
// Preventivi attivi
$preventivi = Preventivo::where('idanagrafica', '=', $id_anagrafica)
->whereHas('stato', function ($query) {
$query->where('is_pianificabile', '=', 1);
})
->latest()->take($numero_documenti)->get();
echo '
'.tr('Preventivi').':';
if (!$preventivi->isEmpty()) {
foreach ($preventivi as $preventivo) {
echo '
- '.$preventivo->getReference().' ['.$preventivo->stato->getTranslation('name').']
';
}
} else {
echo '
- '.tr('Nessun preventivo attivo per questo cliente').'
';
}
echo '
';
}
// Informazioni sui preventivi
$modulo_fatture_vendita = Module::find((new Module())->getByField('name', 'Fatture di vendita'));
if ($modulo_fatture_vendita->permission != '-') {
// Fatture attive
$fatture = Fattura::where('idanagrafica', '=', $id_anagrafica)
->whereHas('stato', function ($query) {
$id_bozza = (new Stato())->getByField('name', 'Bozza');
$id_parz_pagato = (new Stato())->getByField('name', 'Parziale pagato');
$query->whereIn('id', [$id_bozza, $id_parz_pagato]);
})
->latest()->take($numero_documenti)->get();
echo '
'.tr('Fatture').':';
if (!$fatture->isEmpty()) {
foreach ($fatture as $fattura) {
$scadenze = $fattura->scadenze;
$da_pagare = $scadenze->sum('da_pagare') - $scadenze->sum('pagato');
echo '
- '.$fattura->getReference().': '.moneyFormat($da_pagare).'
';
}
} else {
echo '
- '.tr('Nessuna fattura attiva per questo cliente').'
';
}
echo '
';
}
// Note dell'anagrafica
$anagrafica = Anagrafica::find($id_anagrafica);
$note_anagrafica = $anagrafica->note;
echo '
'.tr('Note interne sul cliente').':
'.(!empty($note_anagrafica) ? $note_anagrafica : tr('Nessuna nota interna per questo cliente')).'
';
echo '
';
break;
}