public function leer_archivo_banco()
 {
     $commond = new Common_functions();
     $file = Input::file('referencia_archivo');
     if (isset($file)) {
         $data_file = Archivo_referencias::leer($file);
         $data_file['infoFile']['nombre_archivo'] = Input::file('referencia_archivo')->getClientOriginalName();
         $infoarchivo = array('no_transacciones' => $data_file['infoFile']['TRANSACCIONES'], 'cobro_inmediato' => $data_file['infoFile']['COBROINMEDIATO'], 'comisiones_creadas' => $data_file['infoFile']['COMISIONESCOBRADAS'], 'remesas' => $data_file['infoFile']['REMESAS'], 'comisiones_remesas' => $data_file['infoFile']['COMISIONREMESAS'], 'abonado' => $data_file['infoFile']['ABONADO'], 'monto' => $data_file['infoFile']['ABONADO'], 'nombre_archivo' => $data_file['infoFile']['nombre_archivo'], 'fecha' => date('Y-m-d'));
         $personas = array();
         $i = 0;
         foreach ($data_file['referencias'] as $key => $value) {
             $adeudo = Referencia::with('adeudos')->where('referencia', '=', $value['referencia'])->first();
             if ($adeudo && !empty($adeudo)) {
                 $adeudo_up = Adeudos::obtener_adeudos_alumno(array('id' => $adeudo['adeudos']['id'], 'fecha_pago' => $value['fecha_de_pago'], 'id_persona' => $adeudo['id_persona'], 'periodo' => $adeudo['periodo']));
                 $referencia_info = Referencia::where('referencia', '=', $value['referencia'])->first();
                 if ($value['importe'] >= $adeudo_up[0]['importe']) {
                     if ($adeudo_up[0]['beca'] == "N/A") {
                         $adeudo_up[0]['beca'] = 0;
                     }
                     if ($value['importe'] >= intval($adeudo_up[0]['importe']) + 100) {
                         Devoluciones::create(array('periodo' => $adeudo['adeudo']['periodo'], 'fecha_devolucion' => date('Y-m-d'), 'importe' => $adeudo_up[0]['importe'] - $value['importe'], 'id_persona' => $id_persona, 'status_devolucion' => 0));
                     }
                     Adeudos::where('id', '=', $adeudo['adeudos']['id'])->update(array('beca_pago' => $adeudo_up[0]['beca'], 'recargo_pago' => $adeudo_up[0]['recargo_total'], 'importe_pago' => $adeudo_up[0]['importe'], 'status_adeudo' => 1, 'fecha_pago' => $value['fecha_de_pago']));
                 } else {
                     Adeudos::where('id', '=', $adeudo['adeudos']['id'])->update(array('beca_pago' => $adeudo_up[0]['beca'], 'recargo_pago' => $adeudo_up[0]['recargo_total'], 'importe_pago' => $adeudo_up[0]['importe'], 'importe' => floatval(floatval($value['importe'] - $adeudo_up[0]['importe'])), 'fecha_pago' => $value['fecha_de_pago']));
                 }
                 $referencia_pagada = array('id_referencia' => $referencia_info['id'], 'fecha_de_pago' => $value['fecha_de_pago'], 'importe' => $value['importe'], 'estado' => $value['estado']);
                 Referencia::create_referencia_pagada($referencia_pagada);
                 Ingresos::create(array('tipo_pago' => 1, 'importe' => $value['importe'], 'fecha_pago' => $value['fecha_de_pago']));
                 $personas['existe_referencia'][$i]['persona'] = $commond->obtener_infoAlumno_idPersona(array('id_persona' => $adeudo['adeudos']['id_persona']));
                 $personas['existe_referencia'][$i]['referencia'] = $value;
                 $i++;
             } else {
                 $personas['no_existe_referencia'][$i]['referencia'] = $value;
                 $i++;
             }
         }
         $res['data'] = $personas;
         Respuesta_bancaria::create($infoarchivo);
         $respuesta = json_encode(array('error' => false, 'mensaje' => '', 'respuesta' => $res));
     } else {
         $respuesta = json_encode(array('error' => true, 'mensaje' => 'No hay archivo o tiene errores.', 'respuesta' => ''));
     }
     $final_response = Response::make($respuesta, 200);
     $final_response->header('Content-Type', "application/json; charset=utf-8");
     return $final_response;
 }
 public function suspender_beca_mes()
 {
     $commond = new Common_functions();
     $parametros = Input::get();
     $reglas = array('id_adeudo' => 'required|integer', 'id_persona' => 'required|integer', 'periodo' => 'required|integer', 'aplica_beca' => 'required|integer', 'tipo' => 'required|integer');
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         if ($parametros['tipo'] == 1) {
             if ($parametros['aplica_beca'] == 0) {
                 $data['aplica_recargo'] = 0;
                 $data['aplica_beca'] = $parametros['aplica_beca'];
             } else {
                 $data['aplica_recargo'] = 1;
                 $data['aplica_beca'] = $parametros['aplica_beca'];
             }
             Adeudos::where('id', '=', $parametros['id_adeudo'])->update($data);
         } elseif ($parametros['tipo'] == 2) {
             $bandera = false;
             $adeudos = Adeudos::where('periodo', '=', $parametros['periodo'])->where('id_persona', '=', $parametros['id_persona'])->orderBy('fecha_limite', 'asc')->get();
             foreach ($adeudos as $key_adeudo => $adeudo) {
                 if ($bandera == true) {
                     if ($parametros['aplica_beca'] == 0) {
                         $data['aplica_recargo'] = 0;
                         $data['aplica_beca'] = $parametros['aplica_beca'];
                         if (intval($adeudo['aplica_beca']) == 1) {
                             Adeudos::where('id', '=', $adeudo['id'])->update($data);
                         }
                     } else {
                         $data['aplica_recargo'] = 1;
                         $data['aplica_beca'] = $parametros['aplica_beca'];
                         if (intval($adeudo['aplica_beca']) == 0) {
                             Adeudos::where('id', '=', $adeudo['id'])->update($data);
                         }
                     }
                 } else {
                     if (intval($parametros['id_adeudo']) == intval($adeudo['id'])) {
                         $bandera = true;
                         if ($parametros['aplica_beca'] == 0) {
                             $data['aplica_recargo'] = 0;
                             $data['aplica_beca'] = $parametros['aplica_beca'];
                             if (intval($adeudo['aplica_beca']) == 1) {
                                 Adeudos::where('id', '=', $adeudo['id'])->update($data);
                             }
                         } else {
                             $data['aplica_recargo'] = 1;
                             $data['aplica_beca'] = $parametros['aplica_beca'];
                             if (intval($adeudo['aplica_beca']) == 0) {
                                 Adeudos::where('id', '=', $adeudo['id'])->update($data);
                             }
                         }
                     }
                 }
             }
         }
         $res['data'] = Adeudos::obtener_adeudos_alumno(array('id_persona' => $parametros['id_persona'], 'periodo' => $parametros['periodo']));
         $respuesta = json_encode(array('error' => false, 'mensaje' => '', 'respuesta' => $res));
     } else {
         $respuesta = json_encode(array('error' => true, 'mensaje' => 'No hay parametros o estan mal.', 'respuesta' => null));
     }
     $final_response = Response::make($respuesta, 200);
     $final_response->header('Content-Type', "application/json; charset=utf-8");
     return $final_response;
 }
 /**
  * Muestra los adeudos del alumno por periodo.
  *
  * @return Response
  */
 public function show_adeudos_alumno()
 {
     $parametros = array('id_persona' => Input::get('id_persona'), 'periodo' => Input::get('periodo'));
     $reglas = array('id_persona' => 'required|integer', 'periodo' => 'required|integer');
     $validator = Validator::make($parametros, $reglas);
     if ($validator->fails()) {
         $respuesta = json_encode(array('error' => true, 'mensaje' => 'No hay parametros o estan mal.', 'respuesta' => null));
     } else {
         $alumno = Adeudos::obtener_adeudos_alumno($parametros);
         //$alumno['beca'] = Becas::AlumnoBeca_Persona_Periodo($parametros); // Consulta beca
         $respuesta = json_encode(array('error' => false, 'mensaje' => 'Referencias de alumno.', 'respuesta' => $alumno));
     }
     $final_response = Response::make($respuesta, 200);
     $final_response->header('Content-Type', "application/json; charset=utf-8");
     return $final_response;
 }