@extends('layouts.performance')
@section('title', 'Atama Yönetimi')
@section('perf-content')
@php
$autoSkippedManager = 0;
$autoSkippedUser = 0;
$autoSkippedSets = 0;
$autoSkippedEmployees = 0;
@endphp
Atama Yönetimi
Personel ve iki kademeli amir atamalarını oluşturun.
@if (request()->query('updated'))
Atama güncellendi.
@elseif (request()->query('saved'))
@php
$createdCount = (int) request()->query('created', 0);
$skippedExisting = (int) request()->query('skipped_existing', 0);
@endphp
@if ($createdCount === 0 && $skippedExisting > 0)
Bu dönemde zaten atama var. Yeni kayıt oluşturulmadı.
@elseif ($createdCount > 0 || $skippedExisting > 0)
Atama kaydedildi. Eklenen: {{ $createdCount }}, Var olan: {{ $skippedExisting }}.
@else
Atama kaydedildi.
@endif
@elseif (request()->query('auto_saved'))
Otomatik atama kaydedildi.
@elseif (request()->query('auto_deleted'))
Otomatik atama silindi.
@elseif (request()->query('imported') && $importSummary)
Excel aktarımı tamamlandı. Eklenen: {{ (int) ($importSummary['imported'] ?? 0) }},
Atlanan: {{ (int) ($importSummary['skipped'] ?? 0) }}.
@php
$importErrors = $importSummary['errors'] ?? [];
@endphp
@if ($importErrors)
Tüm hatalar:
@foreach ($importErrors as $message)
- {{ $message }}
@endforeach
@endif
@elseif ($autoSummary)
Otomatik atama çalıştı. Kural: {{ (int) ($autoSummary['rules'] ?? 0) }},
Eklenen: {{ (int) ($autoSummary['created'] ?? 0) }},
Var olan: {{ (int) ($autoSummary['skipped_existing'] ?? 0) }}.
@php
$autoSkippedManager = (int) ($autoSummary['skipped_missing_manager'] ?? 0);
$autoSkippedUser = (int) ($autoSummary['skipped_missing_user'] ?? 0);
$autoSkippedSets = (int) ($autoSummary['skipped_no_sets'] ?? 0);
$autoSkippedEmployees = (int) ($autoSummary['skipped_no_employee'] ?? 0);
@endphp
@if (($autoSkippedManager ?? 0) > 0 || ($autoSkippedUser ?? 0) > 0 || ($autoSkippedSets ?? 0) > 0 || ($autoSkippedEmployees ?? 0) > 0)
Atlananlar:
@if (($autoSkippedManager ?? 0) > 0)
- Amir bilgisi olmayan: {{ $autoSkippedManager ?? 0 }}
@endif
@if (($autoSkippedUser ?? 0) > 0)
- Kullanıcı bulunamayan: {{ $autoSkippedUser ?? 0 }}
@endif
@if (($autoSkippedSets ?? 0) > 0)
- Soru seti olmayan: {{ $autoSkippedSets ?? 0 }}
@endif
@if (($autoSkippedEmployees ?? 0) > 0)
- Uygun personel bulunamayan: {{ $autoSkippedEmployees ?? 0 }}
@endif
@endif
@elseif (request()->query('import_error'))
{{ $importError ?? "Excel aktar\u{0131}m\u{0131} s\u{0131}ras\u{0131}nda hata olu\u{015f}tu." }}
@elseif ($autoError)
{{ $autoError ?? "Otomatik atama i\u{015f}lemi s\u{0131}ras\u{0131}nda hata olu\u{015f}tu." }}
@elseif (request()->query('error'))
{{ session('assignment_error', "\u{0130}\u{015f}lem s\u{0131}ras\u{0131}nda hata olu\u{015f}tu.") }}
@endif
@if ($errors->any())
{{ $errors->first() }}
@endif
@php
$isAutoTab = $tab === 'auto';
$isMultiEmployee = !$editAssignment;
$autoCriteria = (string) ($autoEditRule->criteria_type ?? 'all');
$autoHireMin = (string) ($autoEditRule->hire_months ?? '');
$autoHireMax = (string) ($autoEditRule->hire_days_max ?? '');
@endphp
-
-
Atama Listesi
{{ $totalRows }} kayıt
| Dönem |
Personel |
1. Amir |
2. Amir |
Başlangıç |
Bitiş |
Durum |
İşlem |
@forelse ($assignments as $row)
@php
$status1 = $row->status_e1 ?? 'not_started';
$status2 = $row->status_e2 ?? 'not_started';
$hasEvaluator2 = !empty($row->evaluator2_user_id);
$isDone = $status1 === 'submitted' && (!$hasEvaluator2 || $status2 === 'submitted');
$isNone = $status1 === 'not_started' && ($status2 === 'not_started' || !$hasEvaluator2);
$rowClass = $isDone ? 'assignment-row-complete' : ($isNone ? 'assignment-row-none' : 'assignment-row-partial');
@endphp
| {{ $row->period_name }} |
{{ $row->employee_name }} |
{{ $row->evaluator1_name }} |
{{ $row->evaluator2_name ?? '-' }} |
{{ $row->assignment_start_date }} |
{{ $row->assignment_end_date }} |
{{ \App\Support\EvaluationHelper::statusLabel($status1) }} /
{{ $hasEvaluator2 ? \App\Support\EvaluationHelper::statusLabel($status2) : '-' }} |
@if ($isDone)
Tamamlandı
@else
Düzenle
@endif
|
@empty
| Kayıt bulunamadı. |
@endforelse
@if ($totalPages > 1)
@endif
@if (!$autoTablesReady)
Otomatik atama tabloları bulunamadı.
@else
Otomatik Atamalar
Tanımlı Kurallar
| Dönem |
Firma |
Kriter |
Soru Setleri |
Çalışma |
Durum |
İşlem |
@forelse ($autoRules as $rule)
@php
$ruleSets = $autoRuleSets[$rule->id] ?? [];
$criteriaLabel = $rule->criteria_type === 'hire_months'
? 'Çalışma süresi: ' . (int) $rule->hire_months . '-' . (int) $rule->hire_days_max . ' gün'
: 'Tümü';
@endphp
| {{ $periodMap[(int) $rule->period_id]->name ?? '-' }} |
{{ $rule->company }} |
{{ $criteriaLabel }} |
{{ implode(', ', $ruleSets) }} |
{{ $rule->run_time }} |
{{ (int) $rule->is_active === 1 ? 'Aktif' : 'Pasif' }} |
|
@empty
| Kural bulunamadı. |
@endforelse
@endif
@endsection