/**
  * Display the specified resource.
  * GET /usuarios/{id}
  *
  * @param  string  $nocuenta
  * @param  string  $password
  * @return Response
  */
 public function login()
 {
     $sii = new Sii();
     $parametros = Input::get();
     $reglas = array('u' => 'required', 'p' => 'required');
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         $user = $sii->login($parametros['u'], $parametros['p']);
         if (isset($user['error'])) {
             $respuesta = json_encode(array('error' => true, 'mensaje' => 'User or password Incorrect', 'respuesta' => ''));
         } else {
             Session::put('user', $user);
             if (isset($user['persona']['alumno']) && intval($user['persona']['alumno']) == 1) {
                 $commond = new Common_functions();
                 $grado = $commond->obtener_infoAlumno_idPersona(array('id_persona' => $user['persona']['idpersonas']));
                 if (isset($grado[0])) {
                     $user['persona']['grado'] = $grado[0]['grado'];
                 } else {
                     $user['persona']['grado'] = null;
                 }
             }
             $respuesta = array("error" => false, 'message' => "Usuario autenticado", 'respuesta' => array(Session::all(), 200));
         }
     } 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;
 }
 public function reporte()
 {
     $commond = new Common_functions();
     $parametros = Input::get();
     $reglas = array('periodo' => 'required|integer', 'idbeca' => 'required|numeric', 'idnivel' => 'integer', 'status' => 'integer');
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         $personasBeca = Becas::obtenerAlumnosBecasCompleto($parametros);
         $becas_info = $commond->obtener_alumno_idPersona($personasBeca);
         Excel::create('Reporte Becas' . date('Y-m-d'), function ($excel) use($becas_info) {
             $excel->sheet('Adeudos', function ($sheet) use($becas_info) {
                 $sheet->loadView('excel.create_excel_becas', array("becas" => $becas_info));
             });
         })->download('xlsx');
         #$respuesta = json_encode(array('error' => false, 'mensaje' => '', 'respuesta' => $res));
     } else {
         return View::make('excel.error_excel');
         #$respuesta = json_encode(array('error' => true, 'mensaje' => 'No hay parametros o estan mal.', 'respuesta' => null));
     }
     return $respuesta;
 }
Beispiel #3
0
 public static function obtener_adeudos_alumno($data)
 {
     $commond = new Common_functions();
     // Actualiza el status_adeudo si tiene beca del 100%
     $commond->actualiza_status_adeudos($data['id_persona'], $data['periodo']);
     #var_dump($data);die();
     if (isset($data['id'])) {
         $query = Adeudos::join('sub_conceptos as sc', 'sc.id', '=', 'adeudos.sub_concepto_id')->orderBy('locker_manager', 'desc')->orderBy('fecha_limite', 'asc')->where("adeudos.id", "=", $data['id'])->select('adeudos.*', DB::raw("period_diff(date_format(now(), '%Y%m'), date_format(`fecha_limite`, '%Y%m')) as meses_retraso"), 'adeudos.aplica_beca', 'sc.sub_concepto')->get();
         // Se obtienen los adeudos de una persona en el periodo solicitado
         $now = strtotime($data['fecha_pago']);
         // Se obtiene la fecha actual
     } else {
         $query = Adeudos::join('sub_conceptos as sc', 'sc.id', '=', 'adeudos.sub_concepto_id')->orderBy('locker_manager', 'desc')->orderBy('fecha_limite', 'asc')->where("adeudos.id_persona", "=", $data['id_persona'])->where("adeudos.periodo", "=", $data['periodo'])->select('adeudos.*', DB::raw("period_diff(date_format(now(), '%Y%m'), date_format(`fecha_limite`, '%Y%m')) as meses_retraso"), 'adeudos.aplica_beca', 'sc.sub_concepto')->get();
         // Se obtienen los adeudos de una persona en el periodo solicitado
         $now = strtotime('now');
         // Se obtiene la fecha actual
     }
     $tiene_beca = Becas::AlumnoBeca_Persona_Periodo($data);
     // Consulta beca
     $daynow = date('d', $now);
     // Dia actual
     $sub_cont = array();
     // Contador de adeudos
     $lock = false;
     foreach ($query as $key => $adeudo) {
         // Se genera la informacion para el Edo. de cuenta del alumno
         $query[$key]['tipos_pago'] = Adeudos_tipopago::where('adeudos_id', '=', $adeudo['id'])->get();
         $query[$key]['importe_inicial'] = $query[$key]['importe'];
         if (isset($sub_cont[$adeudo['sub_concepto_id']])) {
             $sub_cont[$adeudo['sub_concepto_id']] += 1;
         } else {
             $sub_cont[$adeudo['sub_concepto_id']] = 0;
         }
         $query[$key]['contador'] = $sub_cont[$adeudo['sub_concepto_id']];
         $tiene_desceunto = Descuentos::obtenerDescuentoPorAdeudo($adeudo['id']);
         // Limitando a solo un descuento por adeudo
         $descuentos_limitado = array();
         if (isset($tiene_desceunto[0])) {
             $descuentos_limitado[0] = $tiene_desceunto[0];
         }
         $fecha_limite = strtotime($adeudo['fecha_limite']);
         $day = date('d', $fecha_limite);
         $descuento = 0;
         $descuento_recargo = 0;
         $descuento_id = null;
         $descuento_officio = null;
         foreach ($descuentos_limitado as $key_d => $descuentodata) {
             $descuento_tmp = $commond->calcular_importe_por_tipo($adeudo['importe'], $descuentodata['importe'], $descuentodata['tipo_importe_id']);
             $descuento_recargo_temp = $commond->calcular_importe_por_tipo($adeudo['importe'], $descuentodata['importe_recargo'], $descuentodata['tipo_importe_id']);
             $query[$key]['tiene_desceunto'] = 1;
             $descuento_recargo = $descuento_recargo + $descuento_recargo_temp;
             $descuento = $descuento + $descuento_tmp;
             $descuento_id = $descuentodata['id'];
             $descuento_officio = $descuentodata['no_officio'];
         }
         $query[$key]['descuento_id'] = $descuento_id;
         $query[$key]['descuento'] = $descuento;
         $query[$key]['descuento_recargo'] = $descuento_recargo;
         $query[$key]['descuento_officio'] = $descuento_officio;
         if (!$tiene_beca) {
             $query[$key]['beca'] = 'N/A';
         }
         if ($adeudo['status_adeudo'] == 0) {
             if ($daynow > $day) {
                 $query[$key]['meses_retraso'] = $adeudo['meses_retraso'] + 1;
             }
             if ($query[$key]['meses_retraso'] <= 0) {
                 $query[$key]['recargo_total'] = 0;
             }
             if ($query[$key]['meses_retraso'] > 0) {
                 if ($adeudo['locker_manager'] == 1) {
                     $lock = true;
                 }
                 $query[$key]['beca'] = 'N/A';
                 if ($tiene_beca) {
                     $databeca = array("id_persona" => $data['id_persona'], "periodo" => $data['periodo'], "status" => 0);
                     Becas::update_status_beca_alumno($databeca);
                     $tiene_beca = FALSE;
                 }
                 if ($adeudo['aplica_recargo'] == 1) {
                     $recargo = $commond->calcular_importe_por_tipo($adeudo['importe'], $adeudo['recargo'], $adeudo['tipo_recargo']);
                 } else {
                     $recargo = 0;
                 }
                 if ($adeudo['recargo_acumulado'] == 1) {
                     $recargo *= $query[$key]['meses_retraso'];
                 }
                 $query[$key]['recargo_no_descuento'] = $recargo;
                 $query[$key]['recargo_total'] = $recargo - $descuento_recargo;
                 #$query[$key]['recargo_total'] = $query[$key]['recargo_total']
                 $query[$key]['importe'] += $query[$key]['recargo_total'] - $descuento;
             } elseif ($tiene_beca && $adeudo['aplica_beca'] == 1) {
                 $beca = $commond->calcular_importe_por_tipo($adeudo['importe'], $tiene_beca['importe'], $tiene_beca['tipo_importe_id']);
                 $query[$key]['importe'] -= $beca;
                 $query[$key]['importe'] -= $descuento;
                 $query[$key]['beca'] = $beca;
             }
             if ($lock == true) {
                 $query[$key]['lock'] = 1;
             } else {
                 $query[$key]['lock'] = 0;
             }
         } else {
             $pago = strtotime($adeudo['fecha_pago']);
             $fecha_pago = date('d', $pago);
             $query[$key]['lock'] = 0;
             if ($fecha_pago > $day) {
                 $query[$key]['meses_retraso'] = $adeudo['meses_retraso'] + 1;
             }
             if ($query[$key]['meses_retraso'] <= 0) {
                 $query[$key]['recargo_total'] = 0;
             }
             if ($query[$key]['meses_retraso'] > 0) {
                 $query[$key]['beca'] = 'N/A';
                 if ($adeudo['aplica_recargo'] == 1) {
                     $recargo = $commond->calcular_importe_por_tipo($adeudo['importe'], $adeudo['recargo'], $adeudo['tipo_recargo']);
                 } else {
                     $recargo = 0;
                 }
                 $query[$key]['recargo_no_descuento'] = null;
                 if ($adeudo['recargo_acumulado'] == 1) {
                     $recargo *= $query[$key]['meses_retraso'];
                 }
                 $query[$key]['recargo_total'] = $adeudo['recargo_pago'];
                 if (intval($adeudo['beca_pago']) == 0) {
                     $query[$key]['beca'] = 'N/A';
                 } else {
                     $query[$key]['beca'] = $adeudo['beca_pago'];
                 }
                 $query[$key]['importe'] = $adeudo['importe_pago'];
             } elseif ($tiene_beca && $adeudo['aplica_beca'] == 1) {
                 $beca = $commond->calcular_importe_por_tipo($adeudo['importe'], $tiene_beca['importe'], $tiene_beca['tipo_importe_id']);
                 #$query[$key]['importe']-=$beca;
                 $query[$key]['beca'] = $adeudo['beca_pago'];
             }
         }
     }
     return $query;
 }
 public function traducir()
 {
     $commond = new Common_functions();
     $parametros = Input::get();
     $reglas = array('referencias' => 'required|array');
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         foreach ($parametros['referencias'] as $key => $referencia) {
             if (strlen($referencia) == 20 || strlen($referencia) == 27) {
                 if (strlen($referencia) == 27) {
                     $ref_temp[$key]['convenio'] = substr($referencia, 0, 7);
                     $referencia = substr($referencia, 7, 20);
                 }
                 $no_calculada = substr($referencia, 0, 12);
                 $calculada = substr($referencia, 12, 8);
                 $ref_temp[$key]['referencia'] = $referencia;
                 $ref_temp[$key]['id_persona'] = substr($no_calculada, 0, 5);
                 $ref_temp[$key]['periodo'] = substr($no_calculada, 5, 3);
                 $ref_temp[$key]['id_subconcepto'] = substr($no_calculada, 8, 3);
                 $ref_temp[$key]['digito_referencia'] = substr($no_calculada, 11, 1);
                 $ref_temp[$key]['fecha_condensada'] = substr($calculada, 0, 4);
                 $ref_temp[$key]['monto_condensado'] = substr($calculada, 4, 2);
                 $ref_temp[$key]['referencia_condensada'] = substr($calculada, 6, 2);
                 $subconcepto_info = Sub_conceptos::find($ref_temp[$key]['id_subconcepto']);
                 $ref_temp[$key]['sub_concepto'] = $subconcepto_info['sub_concepto'];
                 $ref_temp[$key]['sub_concepto_descripcion'] = $subconcepto_info['descripcion'];
                 $ref_temp[$key]['status'] = 'Referencia valida';
             } else {
                 $ref_temp[$key]['referencia'] = $referencia;
                 $ref_temp[$key]['status'] = 'Referencia no valida';
             }
         }
         #$ref_temp = $commond->obtener_alumno_idPersona($ref_temp);
         $res = $commond->obtener_periodo_id($ref_temp);
         $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;
 }
 public function show_adeudos_reporte_ordenado()
 {
     ini_set('max_execution_time', 300);
     $commond = new Common_functions();
     $parametros = Input::get();
     $reglas = array('fecha_desde' => 'date_format:Y-m-d', 'fecha_hasta' => 'date_format:Y-m-d', 'periodo' => 'integer', 'status' => 'required');
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         $res['data'] = Adeudos::obtener_adeudos_reporte($parametros);
         $res['data'] = $commond->procesar_adeudos_reporte($res['data']);
         ///$res['data'] = $commond -> crear_key($parametros,$res['data']);
         //$res['data'] = $commond->get_by_key($res['data']['key']);
         $res['data'] = $commond->parseAdeudos($res, array());
         $respuesta = json_encode(array('error' => false, 'mensaje' => '', 'respuesta' => $res));
     } else {
         $respuesta = json_encode(array('error' => true, 'mensaje' => 'No hay parametros o no están mal', 'respuesta' => null));
     }
     $final_response = Response::make($respuesta, 200);
     $final_response->header('Content-Type', "application/json; charset=utf-8");
     return $final_response;
 }
 public function show_no_paquete_alumno()
 {
     $commond = new Common_functions();
     $parametros = Input::get();
     $reglas = array('id' => 'required|integer', 'periodo' => 'required|integer');
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         $paquete = Planes_de_pago::paquetes($parametros);
         if ($paquete || !empty($paquete)) {
             $res['paquete'] = $paquete;
             $res['data'] = Paquete::personasPaquete($paquete['id']);
             if ($res['data'] || !empty($res['data'])) {
                 $res['data'] = $commond->obtener_alumno_No_idPersona($res['data']);
                 $respuesta = json_encode(array('error' => false, 'mensaje' => '', 'respuesta' => $res));
             } else {
                 $res['data'] = array();
                 $respuesta = json_encode(array('error' => false, 'mensaje' => '', 'respuesta' => $res));
             }
         } else {
             $respuesta = json_encode(array('error' => true, 'mensaje' => 'No existe paquete en periodo actual.', 'respuesta' => null));
         }
     } 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;
 }