/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(UBSRequest $request) { $ubs = \App\UBS::find($request->input('ubs_id')); $nome = filter_var($request->input('ubs_nome'), FILTER_SANITIZE_STRING); $telefone = filter_var($request->input('ubs_telefone'), FILTER_SANITIZE_STRING); try { $ubs->ubs_nome = $nome; $ubs->ubs_telefone = $telefone; $ubs->save(); return redirect('ubs/listar')->with('status', 'Unidade de Saúde atualizada!'); } catch (Exception $ex) { } }
public function relatorio(Request $request) { $titulo = 'Pacientes em Tratamento'; $sql = "SELECT \n t.tto_diagnostico, t.tto_data_inicio, \n t.tto_turno, p.pac_nome, p.pac_nascimento,\n p.pac_cns, p.pac_sexo, pf.prof_nome,\n p.fk_ubs_id, u.ubs_nome\n FROM tb_tratamento t INNER JOIN tb_paciente p \n ON t.fk_pac_id = p.pac_id\n INNER JOIN tb_profissional pf\n ON t.fk_prof_id = pf.prof_id\n INNER JOIN tb_ubs u\n ON p.fk_ubs_id = u.ubs_id\n WHERE t.tto_data_alta IS NULL"; if ($request->has('tecnico')) { $sql .= sprintf(" AND t.fk_prof_id = %s", $request->input('tecnico')); $tr = \App\Profissional::find((int) $request->input('tecnico')); $titulo .= sprintf("\nTécnico de Referência: %s", $tr->prof_nome); } if ($request->has('ubs')) { $sql .= sprintf(" AND p.fk_ubs_id = %s", $request->input('ubs')); $ubs = \App\UBS::find((int) $request->input('ubs')); $titulo .= sprintf("\nUBS: %s", $ubs->ubs_nome); } if ($request->has('cid')) { $sql .= sprintf(" AND t.tto_diagnostico = '%s'", $request->input('cid')); $titulo .= sprintf("\nCID: %s", $request->input('cid')); } if ($request->has('turno')) { $sql .= sprintf(" AND t.tto_turno = '%s' ", $request->input('turno')); $titulo .= sprintf("\nTurno: %s", $request->input('turno')); } if ($request->has('sexo')) { $sql .= sprintf(" AND p.pac_sexo = '%s'", $request->input('sexo')); $titulo .= sprintf("\nSexo: %s", $request->input('sexo')); } if ($request->has('idade_inicial') && $request->has('idade_final')) { $sql .= sprintf(" AND TIMESTAMPDIFF(YEAR, p.pac_nascimento, curdate() ) " . "BETWEEN %s AND %s", $request->input('idade_inicial'), $request->input('idade_final')); $titulo .= sprintf("\nIdade entre %s e %s anos", $request->input('idade_inicial'), $request->input('idade_final')); } if ($request->has('data_inicial') && $request->has('data_final')) { $sql .= sprintf(" AND t.tto_data_inicio BETWEEN '%s' AND '%s'", $request->input('data_inicial'), $request->input('data_final')); $dataInicial = \DateTime::createFromFormat('Y-m-d', $request->input('data_inicial')); $dataFinal = \DateTime::createFromFormat('Y-m-d', $request->input('data_final')); $titulo .= sprintf("\nInício entre %s e %s", $dataInicial->format('d-m-Y'), $dataFinal->format('d-m-Y')); } if ($request->has('ordem') && $request->has('asc_desc')) { $sql .= sprintf(" ORDER BY %s %s", $request->input('ordem'), $request->input('asc_desc')); } $relatorio = new \App\Relatorios\RelatorioTratamento(DB::select($sql), $titulo); return $relatorio->Output(); }