. */ include_once __DIR__.'/../../../core.php'; use Carbon\Carbon; use Models\Module; if (!empty($is_title_request)) { echo tr('Notifiche interne'); return; } $notes = collect(); $moduli = Module::getAll()->where('permission', '<>', '-'); foreach ($moduli as $modulo) { $note = $modulo->notes()->whereNotNull('notification_date')->orderBy('notification_date', 'asc')->get(); $notes = $notes->merge($note); } if (!empty($is_number_request)) { echo $notes->count(); return; } if ($notes->count() < 1) { echo '

'.tr('Non ci sono note da notificare').'.

'; return; } $moduli = $notes->groupBy('id_module')->sortBy('notification_date'); foreach ($moduli as $module_id => $note) { $modulo = Module::pool($module_id); echo '

'.$modulo->title.'

'; foreach ($note as $nota) { $class = (strtotime($nota->notification_date) < strtotime(date('Y-m-d')) && !empty($nota->notification_date)) ? 'danger' : ''; $documento = ''; if ($modulo->title == 'Attività') { $documento = $dbo->fetchOne("SELECT in_interventi.codice AS numero, ragione_sociale FROM zz_notes INNER JOIN in_interventi ON (in_interventi.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Attività')zz) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = in_interventi.idanagrafica WHERE zz_notes.id = ".$nota->id); } elseif ($modulo->title == 'Fatture di vendita') { $documento = $dbo->fetchOne("SELECT numero_esterno AS numero, ragione_sociale FROM zz_notes INNER JOIN co_documenti ON (co_documenti.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Fatture di vendita')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = co_documenti.idanagrafica WHERE zz_notes.id = ".$nota->id); } elseif ($modulo->title == 'Fatture di acquisto') { $documento = $dbo->fetchOne("SELECT numero, ragione_sociale FROM zz_notes INNER JOIN co_documenti ON (co_documenti.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Fatture di acquisto')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = co_documenti.idanagrafica WHERE zz_notes.id = ".$nota->id); } elseif ($modulo->title == 'Preventivi') { $documento = $dbo->fetchOne("SELECT numero, ragione_sociale FROM zz_notes INNER JOIN co_preventivi ON (co_preventivi.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Preventivi')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = co_preventivi.idanagrafica WHERE zz_notes.id = ".$nota->id); } elseif ($modulo->title == 'Contratti') { $documento = $dbo->fetchOne("SELECT numero, ragione_sociale FROM zz_notes INNER JOIN co_contratti ON (co_contratti.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Contratti')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = co_contratti.idanagrafica WHERE zz_notes.id = ".$nota->id); } elseif ($modulo->title == 'Ordini cliente') { $documento = $dbo->fetchOne("SELECT numero_esterno as numero, ragione_sociale FROM zz_notes INNER JOIN or_ordini ON (or_ordini.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Ordini cliente')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = or_ordini.idanagrafica WHERE zz_notes.id = ".$nota->id); } elseif ($modulo->title == 'Ordini fornitore') { $documento = $dbo->fetchOne("SELECT numero, ragione_sociale FROM zz_notes INNER JOIN or_ordini ON (or_ordini.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Ordini fornitore')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = or_ordini.idanagrafica WHERE zz_notes.id = ".$nota->id); } elseif ($modulo->title == 'Ddt in uscita') { $documento = $dbo->fetchOne("SELECT numero_esterno as numero, ragione_sociale FROM zz_notes INNER JOIN dt_ddt ON (dt_ddt.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Ddt in uscita')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = dt_ddt.idanagrafica WHERE zz_notes.id = ".$nota->id); } elseif ($modulo->title == 'Ddt in entrata') { $documento = $dbo->fetchOne("SELECT numero, ragione_sociale FROM zz_notes INNER JOIN dt_ddt ON (dt_ddt.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Ddt in uscita')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = dt_ddt.idanagrafica WHERE zz_notes.id = ".$nota->id); } elseif ($modulo->title == 'Articoli') { $documento = $dbo->fetchOne("SELECT codice AS numero FROM zz_notes INNER JOIN mg_articoli ON (mg_articoli.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Articoli')) WHERE zz_notes.id = ".$nota->id); } elseif ($modulo->title == 'Impianti') { $documento = $dbo->fetchOne("SELECT matricola AS numero, ragione_sociale FROM zz_notes INNER JOIN my_impianti ON (my_impianti.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Impianti')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = my_impianti.idanagrafica WHERE zz_notes.id = ".$nota->id); } else { $documento['numero'] = ' '; } echo ' '; } echo '
'.tr('Riferimento').' '.(($modulo->title == 'Fatture di acquisto' || $modulo->title == 'Ordini fornitore' || $modulo->title == 'Ddt in entrata') ? tr('Fornitore') : tr('Cliente')).' '.tr('Contenuto').' '.tr('Data di notifica').' #
'.($documento['numero'] == null ? ' - ' : $documento['numero']).' '.$documento['ragione_sociale'].' '.$nota->content.' '.$nota->user->nome_completo.' '.dateFormat($nota->notification_date).' ('.Carbon::parse($nota->notification_date)->diffForHumans().') '.Modules::link($module_id, $nota->id_record, '', null, 'class="btn btn-primary btn-xs"', true, 'tab_note').'
'; }