File: /var/www/gestion-formularios.bdfschool/app/Http/Controllers/LoadExcelController.php
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Imports\UploadParentImport;
use App\Imports\UploadStudentImport;
use App\Models\Areas;
use App\Models\Parents;
use App\Models\Students;
use Exception;
use Illuminate\Http\Request;
class LoadExcelController extends Controller
{
public function __construct()
{
$this->middleware('auth.users')->except('logout');
}
public function importStudents()
{
$sidenav = 'areas';
$sidenav_item = 'areas_new';
$title = 'Nueva Área';
$title_form = 'Formulario de Registro de Área';
return view(
'admin.students.import_excel',
compact(
'title',
'sidenav',
'sidenav_item',
'title_form'
)
);
}
// Este método no se está utilizando actualmente
public function processStudents(Request $request)
{
$request->validate([
'excel_file' => 'required|mimes:xlsx,xls,csv',
'load_type' => 'required',
]);
try {
set_time_limit(-1);
if ($request->load_type == "complete") {
$updateData = [
'deleted' => $request->load_type == "complete" ? 1 : 0,
'status' => 0,
'annual_load' => 0,
'annual_load_at' => now(),
];
Students::where('deleted', '!=', 1)->whereNull('request_id')->update($updateData);
}
$file = $request->file('excel_file');
$import = new UploadStudentImport();
\Maatwebsite\Excel\Facades\Excel::import($import, $file);
if ($import->errorMessage) {
return redirect()->back()->with([
'danger_message' => $import->errorMessage,
'danger_message_title' => 'ERROR EN LA CARGA'
]);
}
return redirect()->back()->with([
'success_message' => $import->successMessage,
'success_message_title' => 'CARGA DE ESTUDIANTES'
]);
} catch (\Exception $e) {
return redirect()->back()->with([
'danger_message' => 'Ha ocurrido un error: ' . $e->getMessage(),
'danger_message_title' => 'ERROR INTERNO'
]);
}
}
public function importParents()
{
$sidenav = 'areas';
$sidenav_item = 'areas_new';
$title = 'Nueva Área';
$title_form = 'Formulario de Registro de Área';
return view(
'admin.parents.import_excel',
compact(
'title',
'sidenav',
'sidenav_item',
'title_form'
)
);
}
// Este método no se está utilizando actualmente
public function processParents(Request $request)
{
$request->validate([
'excel_file' => 'required|mimes:xlsx,xls,csv',
'load_type' => 'required',
]);
try {
set_time_limit(-1);
if ($request->load_type == "complete") {
$updateData = [
'deleted' => $request->load_type == "complete" ? 1 : 0,
'status' => 0,
'annual_load' => 0,
'annual_load_at' => now(),
];
Parents::where('deleted', '!=', 1)->update($updateData);
}
$file = $request->file('excel_file');
$import = new UploadParentImport();
\Maatwebsite\Excel\Facades\Excel::import($import, $file);
if ($import->errorMessage) {
return redirect()->back()->with([
'danger_message' => $import->errorMessage,
'danger_message_title' => 'ERROR EN LA CARGA'
]);
}
return redirect()->back()->with([
'success_message' => $import->successMessage,
'success_message_title' => 'CARGA DE APODERADOS'
]);
} catch (\Exception $e) {
return redirect()->back()->with([
'danger_message' => 'Ha ocurrido un error: ' . $e->getMessage(),
'danger_message_title' => 'ERROR INTERNO'
]);
}
}
}