optimize import member

This commit is contained in:
2024-01-11 10:20:32 +07:00
parent 209df80458
commit ec6b6679bb

View File

@@ -16,6 +16,7 @@ use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Routing\Controller; use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use Illuminate\Console\Command;
use Modules\Internal\Services\MemberEnrollmentService; use Modules\Internal\Services\MemberEnrollmentService;
use PDF; use PDF;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
@@ -158,6 +159,9 @@ class CorporateMemberController extends Controller
public function import(Request $request, $corporate_id) public function import(Request $request, $corporate_id)
{ {
// setting tambahan php
ini_set('max_execution_time', 300);
$request->validate([ $request->validate([
'file' => 'required|file|mimes:xls,xlsx,csv,txt', 'file' => 'required|file|mimes:xls,xlsx,csv,txt',
]); ]);
@@ -166,7 +170,7 @@ class CorporateMemberController extends Controller
$file_name = now()->getPreciseTimestamp(3) . '-' . $request->file('file')->getClientOriginalName(); $file_name = now()->getPreciseTimestamp(3) . '-' . $request->file('file')->getClientOriginalName();
$file = $request->file('file')->storeAs('temp', $file_name); $file = $request->file('file')->storeAs('temp', $file_name);
$reader = ReaderEntityFactory::createReaderFromFile(Storage::path('temp/' . $file_name)); $reader = ReaderEntityFactory::createXLSXReader(Storage::path('temp/' . $file_name));
$reader->open(Storage::path('temp/' . $file_name)); $reader->open(Storage::path('temp/' . $file_name));
$writer = WriterEntityFactory::createXLSXWriter(); $writer = WriterEntityFactory::createXLSXWriter();
@@ -236,6 +240,7 @@ class CorporateMemberController extends Controller
break; //only read first sheet break; //only read first sheet
} }
$reader->close(); $reader->close();
$writer->close(); $writer->close();
Storage::delete('temp/' . $file_name); Storage::delete('temp/' . $file_name);