예제 #1
0
 /**
  *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);
     }
 }
예제 #2
0
 /**
  *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']);
     }
 }