@extends('layouts.app') @section('title', 'Import Data - SIAKAD') @section('page-title', 'Import Data dari Excel') @section('content') {{-- Progress Modal (shown when import is processing) --}} @if(session('import_job_id'))
Import Sedang Diproses
Loading...
Memproses...
0%
0 / 0 baris
@endif {{-- Active Import Jobs (if any running) --}} @php $activeJob = isset($recentJobs) ? $recentJobs->whereIn('status', ['pending', 'processing'])->first() : null; @endphp @if($activeJob && !session('import_job_id'))
Import Sebelumnya Belum Selesai
{{ $activeJob->status }} {{ $activeJob->filename }}
{{ $activeJob->progress_percent }}%
{{ $activeJob->processed_rows }} / {{ $activeJob->total_rows }} baris diproses {{ $activeJob->created_rows }} dibuat, {{ $activeJob->updated_rows }} diupdate
@endif
{{-- Mahasiswa --}}
Import Mahasiswa
Download Template {{ App\Models\Mahasiswa::count() }} data
@csrf
@error('file')
{{ $message }}
@enderror
Format file: .xlsx atau .xls. Template dapat di-download terlebih dahulu.
{{-- Dosen --}}
Import Dosen
Download Template {{ App\Models\Dosen::count() }} data
@csrf
@error('file')
{{ $message }}
@enderror
Data yang sudah ada akan di-update berdasarkan NIDK/NIM.
{{-- Mata Kuliah --}}
Import Mata Kuliah
Download Template {{ App\Models\Matakuliah::count() }} data
@csrf
@error('file')
{{ $message }}
@enderror
Pastikan kode prodi dan NIDK dosen sudah ada di database.
{{-- Info --}}
Petunjuk Import
  1. Download template Excel yang tersedia
  2. Isi data sesuai dengan format yang ada di template
  3. Kolom dengan tanda * adalah wajib diisi
  4. Untuk import update, isi NIM/NIDK/Kode yang sudah ada
  5. Data baru akan dibuatkan otomatis jika belum ada
  6. Akun password default untuk user baru: password123
{{-- Import Jobs History --}} @if(isset($recentJobs) && $recentJobs->count() > 0)
Riwayat Import
@foreach($recentJobs as $job) @endforeach
Tanggal Tipe File Status Progress Hasil Aksi
{{ $job->created_at->format('d/m/Y H:i') }} @switch($job->type) @case('mahasiswa') Mahasiswa @break @case('dosen') Dosen @break @case('matakuliah') Mata Kuliah @break @default {{ $job->type }} @endswitch {{ $job->filename }} @switch($job->status) @case('pending') Menunggu @break @case('processing') Memproses @break @case('completed') Selesai @break @case('failed') Gagal @break @default {{ $job->status }} @endswitch @if($job->status === 'processing' || $job->status === 'pending')
{{ $job->progress_percent }}%
{{ $job->processed_rows }} / {{ $job->total_rows }} @else {{ $job->progress_percent }}% @endif
@if($job->created_rows > 0 || $job->updated_rows > 0) {{ $job->created_rows }} dibuat
{{ $job->updated_rows }} diupdate @endif @if($job->error_rows > 0)
{{ $job->error_rows }} error @endif
@if($job->errors && count($job->errors) > 0) @endif
@csrf @method('DELETE')
@endif {{-- Import Errors from session --}} @if(session('import_errors'))
Error saat Import
    @foreach(session('import_errors') as $error)
  • {{ $error }}
  • @endforeach
@endif {{-- Error Modal --}} @endsection @push('scripts') @endpush