Import CSV payroll, mapping nama, dan rekonsiliasi data simpanan (Wajib & Sukarela).
{{ number_format($stats['total_imports']) }}
{{ number_format($stats['unprocessed']) }} Orang
{{ number_format($stats['processed']) }} Orang
{{ count($csvFiles) }} file dipilih
| Periode | Filename | Total Rows | Total Amount | Imported At | Action |
|---|---|---|---|---|---|
| {{ $period->period }} | {{ $period->filename }} | {{ number_format($period->total_rows) }} | {{ number_format($period->total_amount) }} | {{ \Carbon\Carbon::parse($period->imported_at)->diffForHumans() }} |
| # | Nama di CSV (Raw) | Cari Member Asli | Aksi |
|---|---|---|---|
| {{ ($unmappedNames->currentPage() - 1) * $unmappedNames->perPage() + $loop->iteration }} |
{{ $item->raw_name }}
Pertama Muncul: {{ $item->earliest_period }}
|
{{-- Filter search results based on the earliest period --}}
|
{{-- Button triggered by event --}} |
Semua data import sudah memiliki jodoh di database member.
Proses ini akan MENGHAPUS (Reset) history simpanan lama dan membangun ulang berdasarkan data CSV Import yang sudah Anda upload. Saldo member akan otomatis disesuaikan.
{{-- Loading Indicator --}}Step 1: Preview Data
Anggota Terdeteksi
{{ count($auditResults) }} Orang
Step 2: Execution
Gunakan tombol "Run Full Cleanup" di atas โ
| Member | CSV Source Names | Join Date | SIMPANAN WAJIB (MANDATORY) | SIMPANAN SUKARELA (VOLUNTARY) | Action | ||||
|---|---|---|---|---|---|---|---|---|---|
| Proposed | System | Gap | CSV Total | System | |||||
|
{{ $row['name'] }}
ID:
{{ $row['member_id'] }}
@if($row['is_coop'])
COOP
@else
RETAIL
@endif
|
@if(!empty($row['mapped_names']))
@foreach($row['mapped_names'] as $csvName)
{{ $csvName }}
@endforeach
@else
-
@endif
|
{{ \Carbon\Carbon::parse($row['join_date'])->format('d M Y') }} | {{-- WAJIB --}}
{{ number_format($row['proposed_wajib']) }}
CSV:
+{{ number_format($row['actual_payroll']) }}
|
{{ number_format($row['current_wajib']) }} | @if($row['gap'] == 0) @else {{ $row['gap'] > 0 ? '+' : '' }}{{ number_format($row['gap']) }} @endif | {{-- SUKARELA --}}{{ number_format($row['actual_sukarela']) }} |
{{ number_format($row['current_sukarela']) }}
Gap: {{ number_format($row['gap_sukarela']) }}
|
||
Klik "Generate Report" untuk memulai analisis selisih data.
{{ $detailMember->name }} ({{ $detailMember->nomorAnggota }})
| No | Period | Uraian CSV | Breakdown | Total |
|---|---|---|---|---|
| {{ $loop->iteration }} | {{ $r->period }} |
{{ $r->raw_name }}
{{ $r->original_uraian }}
|
@if($r->simpok > 0)
SIMPOK {{ number_format($r->simpok / 1000) }}k
@endif
@if($r->simwa > 0)
SIMWA {{ number_format($r->simwa / 1000) }}k
@endif
@if($r->sukarela > 0)
SUKARELA {{ number_format($r->sukarela / 1000) }}k
@endif
@if($r->ignored > 0)
ANGSURAN {{ number_format($r->ignored / 1000) }}k
@endif
@if($r->simpok == 0 && $r->simwa == 0 && $r->sukarela == 0 && $r->ignored == 0)
? {{ number_format($r->total_amount / 1000) }}k
@endif
|
{{ number_format($r->total_amount) }} |
| Tidak ada data import CSV yang terhubung ke member ini. | ||||