diff --git a/templates/preventivi/body.php b/templates/preventivi/body.php index 45105f16d..dd09759fd 100755 --- a/templates/preventivi/body.php +++ b/templates/preventivi/body.php @@ -18,19 +18,42 @@ */ use Carbon\CarbonInterval; +use Illuminate\Database\Eloquent\ModelNotFoundException; use Modules\Anagrafiche\Anagrafica; +use Modules\Banche\Banca; +use Modules\Pagamenti\Pagamento; include_once __DIR__.'/../../core.php'; $anagrafica = Anagrafica::find($documento['idanagrafica']); -$pagamento = $dbo->fetchOne('SELECT * FROM co_pagamenti WHERE id = '.prepare($documento['idpagamento'])); +$anagrafica_azienda = Anagrafica::find(setting('Azienda predefinita')); -// Verifico se c'รจ una banca predefinita per il mio cliente -if (!empty($anagrafica->idbanca_vendite)) { - $banca = $dbo->fetchOne('SELECT co_banche.nome, co_banche.iban, co_banche.bic FROM co_banche WHERE co_banche.id_pianodeiconti3 = '.prepare($pagamento['idconto_vendite']).' AND co_banche.id_anagrafica = '.prepare($anagrafica->id).' AND co_banche.id ='.prepare($anagrafica->idbanca_vendite)); -} elseif (!empty($pagamento['idconto_vendite'])) { - // Altrimenti prendo quella associata la metodo di pagamento selezionato - $banca = $dbo->fetchOne('SELECT co_banche.nome, co_banche.iban, co_banche.bic FROM co_banche WHERE co_banche.id_pianodeiconti3 = '.prepare($pagamento['idconto_vendite']).' AND co_banche.id_anagrafica = '.prepare($anagrafica->id).' AND co_banche.deleted_at IS NULL'); +$pagamento = Pagamento::find($documento['idpagamento']); + +// Banca dell'Azienda corrente impostata come predefinita per il Cliente +$banca_azienda = Banca::where('id_anagrafica', '=', $anagrafica_azienda->id); +try { + $banca = (clone $banca_azienda) + ->findOrFail($anagrafica->idbanca_vendite); +} catch (ModelNotFoundException $e) { + // Ricerca prima banca dell'Azienda con Conto corrispondente + $banca = (clone $banca_azienda) + ->where('id_pianodeiconti3', '=', $pagamento['idconto_vendite']) + ->first(); + + // Ricerca prima banca dell'Azienda con Conto corrispondente + if (empty($banca)) { + $banca = (clone $banca_azienda) + ->where('id_pianodeiconti3', '=', 0) + ->first(); + } +} + +// Ri.Ba: Banca predefinita *del Cliente* piuttosto che dell'Azienda +if ($pagamento->isRiBa()) { + $banca = Banca::where('id_anagrafica', $anagrafica->id) + ->where('predefined', 1) + ->first(); } // Righe documento