@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:
@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:
@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

{{ $editAssignment ? "Atama G\u{00fc}ncelle" : 'Yeni Atama' }}

@csrf
{{ $editAssignment ? "G\u{00fc}ncelleme s\u{0131}ras\u{0131}nda tek personel se\u{00e7}ilir." : '' }}
@if ($lockEvaluator1)
1. Amir tamamlandığı için değiştirilemez.
@endif
@if ($lockEvaluator2)
2. Amir tamamlandığı için değiştirilemez.
@endif

Excelden Al

@csrf
A: Personel Kodu, B: Amir1 Kodu, C: Amir2 Kodu (opsiyonel), D: Firma
Soru setleri, seçilen dönemin kural setinden alınır.

Atama Listesi

{{ $totalRows }} kayıt
@if ($search !== '' || $periodFilter > 0 || $statusE1 !== '' || $statusE2 !== '' || $companyFilter !== '') Temizle @endif
@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 @empty @endforelse
Dönem Personel 1. Amir 2. Amir Başlangıç Bitiş Durum İşlem
{{ $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
Kayıt bulunamadı.
@if ($totalPages > 1) @endif
@if (!$autoTablesReady)
Otomatik atama tabloları bulunamadı.
@else

Otomatik Atamalar

@csrf

{{ $autoEditRule ? "Otomatik Atama G\u{00fc}ncelle" : "Otomatik Atama Tan\u{0131}mla" }}

@csrf
is_active ?? 1) === 1 ? 'checked' : '' }}>

Tanımlı Kurallar

@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 @empty @endforelse
Dönem Firma Kriter Soru Setleri Çalışma Durum İşlem
{{ $periodMap[(int) $rule->period_id]->name ?? '-' }} {{ $rule->company }} {{ $criteriaLabel }} {{ implode(', ', $ruleSets) }} {{ $rule->run_time }} {{ (int) $rule->is_active === 1 ? 'Aktif' : 'Pasif' }}
@csrf
Düzenle
@csrf
@csrf
Kural bulunamadı.
@endif
@endsection