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; }
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; }