/** * Gera Multiplas folhas de frequência com os nomes dos pacientes ordenados por ordem alfabética * @param Request $request */ public function geraLote(Request $request) { $mesAnoArray = explode('-', $request->input('mes')); $month = (int) $mesAnoArray[1]; $year = (int) $mesAnoArray[0]; //Gerador de Folhas de Frequencia $gerador = new GeradorFolhaFrequencia($month, $year); $idsTratamentos = array(); foreach ($request->input('tratamento') as $tratamentoId) { $idsTratamentos[] = (int) $tratamentoId; } //Busca os tratamentos e ordena por nome do paciente $tratamentos = \App\Tratamento::with('paciente')->whereIn('tto_id', $idsTratamentos)->get()->sortBy(function ($tratamento) { return $tratamento->paciente->pac_nome; }); //gera individualmente as folhas frequência foreach ($tratamentos as $tratamento) { $builder = new \App\libs\FolhaFrequenciaBuilder($tratamento); $gerador->renderiza($builder); } //imprimi todas as folhas de frequência $gerador->gerar(); }
}); //$printer = new \App\libs\EtiquetasPrinter($tratamentos); /** return response( $printer->render(), 200, [ 'Content-Type' => 'application/pdf' ]); * */ return View('printables.etiquetas', ['tratamentos' => $tratamentos]); }); Route::post('/crachas', function (Request $request) { $ids = []; foreach ($request->input('tratamento') as $id) { $ids[] = (int) $id; } $tratamentos = \App\Tratamento::with('paciente')->whereIn('tto_id', $ids)->get()->sortBy(function ($tratamento) { return $tratamento->paciente->pac_nome; }); //$cracha = new App\libs\CrachasPrinter($tratamentos); /** return response( $cracha->render(), 200, [ 'Content-Type' => 'application/pdf' ]); * */ return View('printables.crachas', ['tratamentos' => $tratamentos]); }); Route::get('/', ['middleware' => 'auth', 'uses' => 'Paciente@search']); Route::get('paciente/create/{id?}', ['middleware' => 'auth', 'uses' => 'Paciente@create']); Route::get('paciente/show/{id}', ['middleware' => 'auth', 'uses' => 'Paciente@show']); Route::post('paciente/store', ['middleware' => 'auth', 'uses' => 'Paciente@store']);