@extends('layouts.app') @section('title', 'تشخيص نظام الفاتورة') @section('content')

🔍 أداة تشخيص نظام الفاتورة

✅ 1. فحص قاعدة البيانات
@php try { \DB::connection()->getPdo(); echo "✅ الاتصال بقاعدة البيانات: سليم"; echo "
📊 اسم قاعدة البيانات: " . env('DB_DATABASE'); } catch (\Eception \) { echo "❌ خطأ في الاتصال: " . \->getMessage(); } @endphp
✅ 2. فحص الجداول المطلوبة
@php \ = ['customers', 'customer_invoices', 'customer_invoice_items']; foreach (\ as \) { try { \ = \DB::getSchemaBuilder()->hasTable(\); \ = \ ? \DB::table(\)->count() : 0; echo ""; echo ""; echo ""; echo ""; echo ""; } catch (\Eception \) { echo ""; } } @endphp
الجدول الحالة عدد الصفوف
\" . (\ ? "✅ موجود" : "❌ غير موجود") . "\
\❌ خطأ" . \->getMessage() . "
✅ 3. فحص المسارات
@php \ = [ 'customer-invoices.create', 'customer-invoices.store', 'customer-invoices.index', 'customer-invoices.show', ]; foreach (\ as \) { try { \ = \Route::getRoutes()->getByName(\); echo ""; echo ""; echo ""; echo ""; echo ""; } catch (\Eception \) { echo ""; } } @endphp
المسار الاسم الحالة
" . \->uri . "\✅ موجود
-\❌ غير موجود
✅ 4. فحص بيانات العملاء
@php \ = \App\Models\Customer::count(); @endphp
عدد العملاء: {{ \ }} @if(\ === 0)
⚠️ يجب إضافة عملاء قبل إنشاء فاتورة! @endif
✅ 5. اختبار الـ Validation
قواعد التحقق المطلوبة:
  • customer_id: مطلوب وموجود في الجدول
  • invoice_number: مطلوب وفريد
  • invoice_date: تاريخ مطلوب
  • due_date: تاريخ مطلوب ولاحق لـ invoice_date
  • items: مصفوفة مطلوبة بحد أدنى بند واحد
  • items.*.description: نص مطلوب
  • items.*.quantity: رقم مطلوب وأكبر من 0.01
  • items.*.unit_price: رقم مطلوب وأكبر من أو يساوي 0
✅ 6. اختبار إنشاء فاتورة
@if(\ > 0)
@csrf
الوصف الكمية السعر
@else
❌ لا يمكن الاختبار - لا يوجد عملاء في النظام
@endif
✅ 7. آخر الأخطاء في السجل
@php \ = storage_path('logs/laravel.log'); \ = []; if (file_eists(\)) { \ = array_slice(file(\), -50); foreach (\ as \) { if (preg_match('/ERROR|Eception|CRITICAL/i', \)) { \[] = trim(\); } } } @endphp @if(count(\) > 0)
⚠️ تم العثور على {{ count(\) }} خطأ:
@foreach(array_slice(\, -10) as \){{ \ }}
@endforeach
@else
✅ لا توجد أخطاء في السجل
@endif
@endsection