@extends('layouts.app') @section('title', 'Начисления') {{-- Ports app/Views/payment/charges.php (legacy, 247 lines) — see the Phase 15 plan. Read-only, no forms need CSRF (both tabs are GET filter forms). The predict tab's simulation never writes to the DB, matching the legacy explanatory text below. --}} @section('content')

Начисления

@if ($tab === 'actual')
Всего начислено за период
{{ number_format($actualTotal, 0, ',', ' ') }} ₸
{{ $actualChargesCount }} начислений, {{ count($actualCharges) }} учеников
@if ($actualCharges->isNotEmpty())
@foreach ($actualCharges as $c) @endforeach
Ученик Группа Тариф Начислений Сумма
@foreach ($c->charges as $charge) @endforeach
Дата Группа Тариф Сумма
{{ date('d.m.Y', strtotime($charge->charged_date)) }} {{ $charge->group_name ?? '—' }} {{ preg_replace('/^\[manual\]\s*/', '', $charge->tariff_name ?? '—') }} {{ number_format((float) $charge->amount, 2, ',', ' ') }} ₸
Итого {{ number_format($actualTotal, 0, ',', ' ') }} ₸
@else
Начислений за выбранный период не найдено.
@endif @else

Прогноз симулирует расписание и тарифы (индивидуальный > общий > групповой) за выбранный период, учитывая заморозки и окончание индивидуальных пакетов уроков. В базу данных ничего не записывается.

@if ($predictError)
{{ $predictError }}
@elseif ($prediction !== null)
Прогноз начислений за период
{{ number_format($prediction['total'], 0, ',', ' ') }} ₸
{{ $prediction['lessons_count'] }} уроков
@if (!empty($prediction['exhausted_warnings']))
Индивидуальные тарифы закончатся в этом периоде:
@endif @if (!empty($prediction['missing_tariff_warnings']))
Нет тарифа (уроки не будут начислены):
@endif
По группам
@if (empty($prediction['by_group'])) @else @foreach ($prediction['by_group'] as $g) @endforeach @endif
Группа Уроков Сумма
Нет данных
{{ $g['group_name'] }} {{ $g['lessons'] }} {{ number_format($g['amount'], 0, ',', ' ') }} ₸
По дням
@if (empty($prediction['by_day'])) @else @foreach ($prediction['by_day'] as $row) @endforeach @endif
Дата Сумма
Нет данных
{{ date('d.m.Y', strtotime($row['date'])) }} {{ number_format($row['amount'], 0, ',', ' ') }} ₸
@endif @endif
@endsection