@extends('layouts.adminlte') @section('title', 'LEGACY PAYROLL SYNC') @section('page_title', 'LEGACY PAYROLL SYNC') @php $feedback = $feedback ?? session('legacy_sync_feedback'); $selectedBatch = $selectedBatch ?? null; $selectedRows = $selectedRows ?? collect(); $componentMaps = $componentMaps ?? collect(); $reviewResult = $reviewResult ?? null; $reviewRows = collect(($reviewResult['rows'] ?? [])); $reviewStats = is_array($reviewResult['stats'] ?? null) ? $reviewResult['stats'] : []; @endphp @push('styles') @endpush @section('content')
GAPOK, UPAH_LEMBUR, dan INSENTIF ke master komponen aktif yang paling mirip.
| ID | Periode | Status | Rows | Source | Creator | Actions |
|---|---|---|---|---|---|---|
| #{{ $batch->id }} |
{{ $batch->period_key ?: '-' }}
{{ optional($batch->period_start)->format('d M Y') ?: '-' }} s/d {{ optional($batch->period_end)->format('d M Y') ?: '-' }}
|
@php $status = (string) ($batch->status ?? 'draft'); $statusClass = str_contains($status, 'error') || str_contains($status, 'failed') ? 'is-bad' : (str_contains($status, 'validated') || str_contains($status, 'imported') ? 'is-good' : 'is-neutral'); @endphp {{ strtoupper($status) }} |
Total: {{ $batch->total_rows }}
Valid: {{ $batch->validated_rows }} | Sukses: {{ $batch->success_rows }} | Gagal: {{ $batch->failed_rows }}
|
{{ $batch->source_system }}
{{ $batch->file_name ?: ($batch->source_ref ?: '-') }}
|
{{ $batch->creator->name ?? '-' }} | |
| Belum ada batch legacy payroll. | ||||||
| Employee | Period | Status | Nominal | Message |
|---|---|---|---|---|
|
{{ $row->employee_name ?: '-' }}
{{ $row->employee_code ?: '-' }} / {{ $row->finger_id ?: '-' }}
|
{{ optional($row->period_start)->format('d M Y') ?: '-' }}
{{ optional($row->period_end)->format('d M Y') ?: '-' }}
|
@php $rowStatus = (string) ($row->sync_status ?? 'draft'); $rowClass = str_contains($rowStatus, 'failed') ? 'is-bad' : ($rowStatus === 'validated' || $rowStatus === 'applied' ? 'is-good' : 'is-neutral'); @endphp {{ strtoupper($rowStatus) }} |
Gross: {{ number_format((float) ($row->gross_nominal ?? 0), 2, ',', '.') }}
Net: {{ number_format((float) ($row->net_nominal ?? 0), 2, ',', '.') }}
|
|
| Pilih batch untuk melihat preview row. | ||||
| Legacy | Group | Target |
|---|---|---|
|
{{ $map->legacy_code }}
{{ $map->legacy_name ?: '-' }}
|
{{ $map->component_group }} |
@if ($map->target_component_id)
{{ $map->target_payment_field ?: 'mapped' }}
@else
belum ditemukan
@endif
{{ $map->notes ?: '-' }}
|
| Belum ada mapping. Jalankan seed default maps. | ||
| Employee | Assignment | Status | Selisih Komponen | Aksi |
|---|---|---|---|---|
|
{{ $review['employee_name'] ?: '-' }}
{{ $review['employee_code'] ?: '-' }}
|
@if (!empty($review['profil_bulan_karyawan_id'])) Assignment #{{ $review['profil_bulan_karyawan_id'] }} @else Belum ada assignment @endif | @if (!empty($review['missing_assignment'])) Missing Assignment @elseif (!empty($review['has_diff'])) Perlu Sync @else Sudah Sama @endif | @if (!empty($review['has_diff']) && empty($review['missing_assignment'])) @else - @endif | |
| Belum ada hasil review untuk batch ini. | ||||