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

@section('content')
<div class="container-fluid">
    <div class="row">
        <div class="col-md-12">
            <div class="card">
                <div class="card-header bg-info text-white">
                    <h3 class="card-title">🔍 أداة تشخيص نظام الفاتورة</h3>
                </div>
                <div class="card-body">

                    <!-- 1. فحص الاتصال بقاعدة البيانات -->
                    <h5>✅ 1. فحص قاعدة البيانات</h5>
                    <div class="alert alert-info">
                        @php
                            try {
                                \DB::connection()->getPdo();
                                echo "✅ الاتصال بقاعدة البيانات: <strong>سليم</strong>";
                                echo "<br>📊 اسم قاعدة البيانات: " . env('DB_DATABASE');
                            } catch (\Eception \) {
                                echo "❌ خطأ في الاتصال: " . \->getMessage();
                            }
                        @endphp
                    </div>

                    <!-- 2. فحص الجداول -->
                    <h5>✅ 2. فحص الجداول المطلوبة</h5>
                    <div class="table-responsive">
                        <table class="table table-sm table-bordered">
                            <tr>
                                <th>الجدول</th>
                                <th>الحالة</th>
                                <th>عدد الصفوف</th>
                            </tr>
                            @php
                                \ = ['customers', 'customer_invoices', 'customer_invoice_items'];
                                foreach (\ as \) {
                                    try {
                                        \ = \DB::getSchemaBuilder()->hasTable(\);
                                        \ = \ ? \DB::table(\)->count() : 0;
                                        echo "<tr>";
                                        echo "<td>\</td>";
                                        echo "<td>" . (\ ? "✅ موجود" : "❌ غير موجود") . "</td>";
                                        echo "<td>\</td>";
                                        echo "</tr>";
                                    } catch (\Eception \) {
                                        echo "<tr><td>\</td><td>❌ خطأ</td><td>" . \->getMessage() . "</td></tr>";
                                    }
                                }
                            @endphp
                        </table>
                    </div>

                    <!-- 3. فحص المسارات -->
                    <h5>✅ 3. فحص المسارات</h5>
                    <div class="table-responsive">
                        <table class="table table-sm table-bordered">
                            <tr>
                                <th>المسار</th>
                                <th>الاسم</th>
                                <th>الحالة</th>
                            </tr>
                            @php
                                \ = [
                                    'customer-invoices.create',
                                    'customer-invoices.store',
                                    'customer-invoices.index',
                                    'customer-invoices.show',
                                ];
                                foreach (\ as \) {
                                    try {
                                        \ = \Route::getRoutes()->getByName(\);
                                        echo "<tr>";
                                        echo "<td>" . \->uri . "</td>";
                                        echo "<td>\</td>";
                                        echo "<td>✅ موجود</td>";
                                        echo "</tr>";
                                    } catch (\Eception \) {
                                        echo "<tr><td>-</td><td>\</td><td>❌ غير موجود</td></tr>";
                                    }
                                }
                            @endphp
                        </table>
                    </div>

                    <!-- 4. فحص بيانات العملاء -->
                    <h5>✅ 4. فحص بيانات العملاء</h5>
                    @php
                        \ = \App\Models\Customer::count();
                    @endphp
                    <div class="alert @if(\ > 0) alert-success @else alert-warning @endif">
                        <strong>عدد العملاء:</strong> {{ \ }} 
                        @if(\ === 0)
                            <br><span class="text-danger">⚠️ يجب إضافة عملاء قبل إنشاء فاتورة!</span>
                        @endif
                    </div>

                    <!-- 5. فحص صحة الـ Validation -->
                    <h5>✅ 5. اختبار الـ Validation</h5>
                    <div class="alert alert-warning">
                        <strong>قواعد التحقق المطلوبة:</strong>
                        <ul>
                            <li>customer_id: مطلوب وموجود في الجدول</li>
                            <li>invoice_number: مطلوب وفريد</li>
                            <li>invoice_date: تاريخ مطلوب</li>
                            <li>due_date: تاريخ مطلوب ولاحق لـ invoice_date</li>
                            <li>items: مصفوفة مطلوبة بحد أدنى بند واحد</li>
                            <li>items.*.description: نص مطلوب</li>
                            <li>items.*.quantity: رقم مطلوب وأكبر من 0.01</li>
                            <li>items.*.unit_price: رقم مطلوب وأكبر من أو يساوي 0</li>
                        </ul>
                    </div>

                    <!-- 6. اختبار الفورم -->
                    <h5>✅ 6. اختبار إنشاء فاتورة</h5>
                    @if(\ > 0)
                        <form method="POST" action="{{ route('customer-invoices.store') }}" class="mt-3">
                            @csrf
                            
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="form-group">
                                        <label>اختر عميل للاختبار:</label>
                                        <select name="customer_id" class="form-control" required>
                                            <option value="">-- اختر --</option>
                                            @foreach(\App\Models\Customer::limit(5)->get() as \)
                                                <option value="{{ \->id }}">{{ \->name }}</option>
                                            @endforeach
                                        </select>
                                    </div>
                                </div>

                                <div class="col-md-6">
                                    <div class="form-group">
                                        <label>رقم الفاتورة:</label>
                                        <input type="tet" name="invoice_number" class="form-control" 
                                            value="TEST-{{ time() }}" required>
                                    </div>
                                </div>
                            </div>

                            <div class="row">
                                <div class="col-md-4">
                                    <div class="form-group">
                                        <label>تاريخ الفاتورة:</label>
                                        <input type="date" name="invoice_date" class="form-control" 
                                            value="{{ date('Y-m-d') }}" required>
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="form-group">
                                        <label>تاريخ الاستحقاق:</label>
                                        <input type="date" name="due_date" class="form-control" 
                                            value="{{ date('Y-m-d', strtotime('+30 days')) }}" required>
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="form-group">
                                        <label>الحالة:</label>
                                        <select name="status" class="form-control" required>
                                            <option value="draft">مسودة</option>
                                            <option value="sent">مرسلة</option>
                                        </select>
                                    </div>
                                </div>
                            </div>

                            <!-- بند واحد للاختبار -->
                            <div class="form-group mt-3">
                                <label><strong>بند للاختبار (مطلوب):</strong></label>
                                <div class="table-responsive">
                                    <table class="table table-bordered">
                                        <tr>
                                            <th>الوصف</th>
                                            <th>الكمية</th>
                                            <th>السعر</th>
                                        </tr>
                                        <tr>
                                            <td>
                                                <input type="tet" name="items[0][description]" 
                                                    class="form-control form-control-sm" 
                                                    value="بند اختبار" required>
                                            </td>
                                            <td>
                                                <input type="number" name="items[0][quantity]" 
                                                    class="form-control form-control-sm" 
                                                    value="1" step="0.01" min="0.01" required>
                                            </td>
                                            <td>
                                                <input type="number" name="items[0][unit_price]" 
                                                    class="form-control form-control-sm" 
                                                    value="100" step="0.01" min="0" required>
                                            </td>
                                        </tr>
                                    </table>
                                </div>
                            </div>

                            <button type="submit" class="btn btn-success btn-lg" style="width: 100%;">
                                🧪 اختبر الحفظ
                            </button>
                        </form>
                    @else
                        <div class="alert alert-danger">
                            ❌ لا يمكن الاختبار - لا يوجد عملاء في النظام
                        </div>
                    @endif

                    <!-- 7. عرض آخر الأخطاء -->
                    <h5 class="mt-5">✅ 7. آخر الأخطاء في السجل</h5>
                    @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)
                        <div class="alert alert-danger">
                            <strong>⚠️ تم العثور على {{ count(\) }} خطأ:</strong>
                            <pre style="background: #f5f5f5; padding: 10p; border-radius: 5p; ma-height: 300p; overflow-y: auto;">@foreach(array_slice(\, -10) as \){{ \ }}
@endforeach</pre>
                        </div>
                    @else
                        <div class="alert alert-success">
                            ✅ لا توجد أخطاء في السجل
                        </div>
                    @endif

                </div>
            </div>
        </div>
    </div>
</div>

<style>
.alert {
    border-radius: 8p;
    padding: 15p;
    margin-bottom: 20p;
}
.table {
    margin-bottom: 0;
}
pre {
    font-size: 12p;
    line-height: 1.4;
}
</style>
@endsection

