Exemplo n.º 1
0
 public function create_alumno_file()
 {
     ini_set('memory_limit', '1000M');
     ini_set('post_max_size', '10M');
     ini_set('upload_max_filesize', '150M');
     $commond = new Common_functions();
     $file = Request::file('becas_file');
     $config = Config::get('app');
     $meses = $config['meses_periodo'];
     if (isset($file)) {
         $root = $file->getRealPath();
         $data = array();
         $info_excel = Excel::load($root, function ($archivo) {
         })->get();
         $res['data'] = array();
         foreach ($info_excel as $key => $value) {
             /// #-----
             $meses[] = $value->mes_1;
             $meses[] = $value->mes_2;
             $meses[] = $value->mes_3;
             $meses[] = $value->mes_4;
             /// ------ # Obtiene los meses a los que se le asiganara la beca
             $beca = Becas::where('abreviatura', '=', $value->clave)->first();
             // Se obtiene la infotmacion de la beca con respecto a la clave dada
             if ($beca) {
                 // Si existe la beca empieza el proceso de asignacion
                 $periodo_actual = $commond->periodo_actual();
                 $data = $commond->obtener_alumno_matricula(array(array('periodo' => $periodo_actual['idperiodo'], 'matricula' => $value->matricula, 'idbeca' => $beca['id'], 'status' => 1)));
                 if (isset($data[0])) {
                     $data = $data[0];
                     $beca_existe = Becas::AlumnoBeca_Persona_Periodo(array('id_persona' => $data['id_persona'], 'periodo' => $data['periodo']));
                     // Consulta beca
                     if ($beca_existe == false) {
                         // si el alumno no tiene beca asignada en ese periodo realiza proceso
                         $adeudos = Adeudos::obtener_adeudos_alumno(array('periodo' => $data['periodo'], 'id_persona' => $data['id_persona']));
                         // Se obtienen los Adeudos del alumno en el periodo
                         $adeudos_no_inscripcion = array();
                         $lock_adeudos = 0;
                         // Variable para no aplicar beca por retraso de pago en la inscripcion
                         foreach ($adeudos as $key => $adeudo) {
                             // Obtenemos los adedudos que no sean inscripcion y los seperamos
                             if (intval($adeudo['lock']) != 1) {
                                 if (intval($adeudo['locker_manager']) == 0) {
                                     $adeudos_no_inscripcion[] = $adeudo;
                                 }
                             } else {
                                 $lock_adeudos = 1;
                                 break;
                             }
                         }
                         if (count($adeudos_no_inscripcion) > 0 && $lock_adeudos == 0) {
                             foreach ($adeudos_no_inscripcion as $key => $adeudo) {
                                 foreach ($meses as $key => $mes) {
                                     if (intval($mes) == intval(date('m', strtotime($adeudo['fecha_limite'])))) {
                                         #$ids_update_beca[]=array('ids'=>$adeudo['id'],'mes'=>$mes);
                                         Adeudos::where('id', '=', $adeudo['id'])->update(array('aplica_beca' => 0));
                                         break;
                                     }
                                 }
                             }
                             Becas::create_beca_alumno($data);
                             $data['matricula'] = $value->matricula;
                             $res['data']['created'][] = $data;
                         } else {
                             if ($lock_adeudos == 0) {
                                 Becas::create_beca_alumno($data);
                                 $data['matricula'] = $value->matricula;
                                 $res['data']['created'][] = $data;
                             } else {
                                 $res['data']['nocreado'][] = array('matricula' => $value->matricula, 'motivo' => 'No pago inscripcion a tiempo');
                             }
                         }
                     } else {
                         $data['matricula'] = $value->matricula;
                         $res['data']['existente'][] = $data;
                     }
                 } else {
                     $res['data']['nocreado'][] = array('matricula' => $value->matricula, 'motivo' => 'Alumno no encontrado o inactico');
                 }
             } else {
                 $res['data']['nocreado'][] = array('matricula' => $value->matricula, 'motivo' => 'La clave de la beca es incorrecta');
             }
             $data = array();
             $meses = array();
         }
         #echo json_encode($res);
         $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;
 }
Exemplo n.º 2
0
 public function create_byFile()
 {
     ini_set('memory_limit', '1000M');
     ini_set('post_max_size', '10M');
     ini_set('upload_max_filesize', '150M');
     $commond = new Common_functions();
     $parametros = array('paquete_id' => Input::get('paquete_id'));
     $reglas = array('paquete_id' => 'required|integer');
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         $file = Request::file('paquete_file');
         if (isset($file)) {
             $root = $file->getRealPath();
             $info_excel = Excel::load($root, function ($archivo) {
             })->get();
             $parametros['id_personas'] = array();
             //$selected= Config::get('matriculas');
             $todos = $this->sii->new_request('POST', '/alumnos/all');
             foreach ($info_excel as $key => $value) {
                 foreach ($todos as $key_todos => $todos_row) {
                     if ($value->matricula == $todos_row['matricula']) {
                         $parametros['id_personas'][] = $todos_row['idpersonas'];
                         break;
                     }
                 }
             }
             $periodo_actual = $commond->periodo_actual();
             $paquete = Paquete::find($parametros['paquete_id']);
             $subconceptos = Paquete::show_paquete_subconceptos($parametros['paquete_id']);
             Adeudos::$custom_data = array("paquete" => $paquete, "subconcepto" => $subconceptos);
             $personas_ids['no_asignados'] = array();
             $personas_ids['asignados'] = array();
             $count_asigned = 0;
             $count_no_asigned = 0;
             foreach ($parametros['id_personas'] as $alumno) {
                 $adeudos_no_pagados = Adeudos::where('id_persona', '=', $alumno)->where('periodo', '!=', $periodo_actual['idperiodo'])->where('status_adeudo', '=', 0)->count();
                 $persona = array();
                 foreach ($todos as $key_todos => $todos_row) {
                     if (intval($todos_row['idpersonas']) == intval($alumno)) {
                         $persona = $todos_row;
                         break;
                     }
                 }
                 //if (isset($persona['estatus_admin'])) {
                 //if ($persona['estatus_admin']=='ACTIVO') {
                 if ($persona['estatus_admin'] != 'EGRESADO') {
                     // temporal condition
                     if ($adeudos_no_pagados == 0) {
                         Adeudos::agregar_adeudos($alumno);
                         $personas_ids['asignados'][] = $persona;
                         $count_asigned++;
                     } else {
                         $persona['motivo_no_asignacion'] = 'Tiene adeudos pendientes';
                         $personas_ids['no_asignados'][] = $persona;
                         $count_no_asigned++;
                     }
                 } else {
                     $persona['motivo_no_asignacion'] = 'No esta ACTIVO';
                     $personas_ids['no_asignados'][] = $persona;
                     $count_no_asigned++;
                 }
                 //} else {
                 //    $persona['motivo_no_asignacion'] = 'No esta ACTIVO';
                 //    $personas_ids['no_asignados'][] = $persona;
                 //    $count_no_asigned++;
                 //}
                 //}
             }
             $personas_ids['total_asignados'] = $count_asigned;
             $personas_ids['total_no_asignados'] = $count_no_asigned;
             $respuesta = json_encode(array('error' => false, 'mensaje' => 'Subconceptos Agregados Correctamente a Paquete', 'respuesta' => $personas_ids));
         } else {
             $respuesta = json_encode(array('error' => true, 'mensaje' => 'No se subio archivo o se subio incorrectamente.', '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;
 }