/** *Devuelve un pdf con todos los datos *de un registro rnc cuyo id se pase *responde a @GET reporte/rnc/{id} */ public function rnc($id) { /* *Regresa el rnc cuya clave primaria *sea igual a $id */ $register = Rnc::find($id); if (empty($register)) { return Response()->json(['status' => 'danger', 'message' => 'Registro rnc no encontrado']); } else { $view = \View::make('pdfs.rnc', compact('register'))->render(); $pdf = \App::make('dompdf.wrapper'); $pdf->loadHTML($view)->setPaper('latter'); return $pdf->stream('RNC' . ' ' . $register->ape_pri . ' ' . $register->nom_pri); } }
/** *Modifica un registro rnc almacenado *segu el id que se pase *Responde a @PUT /rnc/id */ public function update($id, Request $data) { /* *Regresa el rnc cuya clave primaria *sea igual a $id */ $register = Rnc::find($id); if (empty($register)) { return Response()->json(['status' => 'danger', 'message' => 'Registro rnc no encontrado']); } else { //Reglas de validacion $rules = ['reg_rgn' => 'unique:rncs', 'reg_tm' => 'unique:rncs', 'ced_id' => 'unique:rncs', 'num_his' => 'unique:rncs', 'edo_civ' => 'numeric|min:1|max:4', 'sex' => 'numeric|min:1|max:2', 'pri_ddc' => 'numeric|min:1|max:9', 'seg_ddc' => 'numeric|min:1|max:9', 'ter_ddc' => 'numeric|min:1|max:9', 'bas_mdx' => 'numeric|min:1|max:9', 'ext_cli' => 'numeric|min:1|max:8', 'sis_hem' => 'numeric|min:1|max:7', 'tip_hem' => 'numeric|min:1|max:11', 'pri_mult' => 'numeric|min:1|max:4', 'trm_plan' => 'numeric|min:1|max:10', 'qui_otra' => 'numeric|min:1|max:6']; /* *Valida datos segun las reglas $rules *y genera mensajes segun $messages */ $validator = Validator::make($data->all(), $rules, $this->messages); /* *Si hay error en los datos, *regresa el primer mensaje de *error */ if ($validator->fails()) { //Primer mensaje de error $errMessage = $validator->errors()->first(); return Response()->json(['status' => 'danger', 'message' => $errMessage]); } //Asigna diagnostico de cáncer, si se a actualizado if (isset($data->pri_ddc) and isset($data->seg_ddc) and isset($data->ter_ddc)) { $register = $this->invperdiag($register, $data->pri_ddc, $data->seg_ddc, $data->ter_ddc); } //Asigna base mas valida del DX, si se a actualizado if (isset($data->bas_mdx)) { $register->bas_mdx = $this->baseVaDx($data->bas_mdx); } //Asigna extension clinica, si se a actualizado if (isset($data->ext_cli)) { $register->ext_cli = $this->extClin($data->ext_cli); } //Asigna primarios multiples, si se a actualizado if (isset($data->pri_mult)) { $register->pri_mult = $this->priMult($data->pri_mult); } //Asigna tratamiento planificado, si se a actualizado if (isset($data->trm_plan)) { $register->trm_plan = $this->trmPlan($data->trm_plan); } //Asigna obtencion de quimioterapi, si se a actualizado if (isset($data->qui_otra)) { $register->qui_otra = $this->quiMeter($data->qui_otra); } //Asigna sexo, si se a actualizado if (isset($data->sex)) { $register->sex = $data->sex == 1 ? 'MASCULINO' : 'FEMENINO'; } //Asigna edo civil, si se a actualizado if (isset($data->edo_civ)) { $register->edo_civ = $this->edCiv($data->edo_civ); } /** *Si se definio sistema hematopeyetico *se asigna, solo si se a pasado *sis_hems y si los rangos de sis_hem y sis_hem *son correctos */ if (isset($data->sis_hem) and isset($data->tip_hem)) { $sis_hem = $this->sisHematopoy($data->sis_hem - 1, $data->tip_hem - 1); if ($sis_hem) { $register->sis_hem = $sis_hem; } } /** *Establece los campos a almacenar */ $register = $this->setFields($data, $register); /* *Guarda los datos en la base de datos */ $register->save(); return Response()->json(['status' => 'success', 'message' => 'Datos modificados']); } }