<?php
$types = is_array($types ?? null) ? $types : [];
$jobs = is_array($jobs ?? null) ? $jobs : [];
$rows = is_array($rows ?? null) ? $rows : [];
$job = $job ?? false;
$schemaError = trim((string)($schemaError ?? ''));
$statusLabels = ['valid'=>'جاهز','duplicate'=>'مكرر/تخطي','error'=>'خطأ','imported'=>'تم استيراده'];
$statusClasses = ['valid'=>'success','duplicate'=>'warning','error'=>'danger','imported'=>'primary'];
?>
<div class="d-flex justify-content-between align-items-center mb-3">
  <div>
    <h4 class="mb-1">استيراد البيانات من Excel</h4>
    <div class="text-muted small">ارفع بيانات الأصناف أو العملاء أو الموردين من قالب Excel، مع تخطي المكرر وإظهار تقرير واضح قبل التنفيذ.</div>
  </div>
  <a class="btn btn-outline-secondary" href="<?= e(url('/admin/dashboard')) ?>">رجوع</a>
</div>

<?php if ($schemaError !== ''): ?>
  <div class="alert alert-danger">تعذر تهيئة جداول الاستيراد: <?= e($schemaError) ?></div>
<?php endif; ?>

<div class="row g-3 mb-3">
  <div class="col-lg-5">
    <div class="card p-3 h-100">
      <h5 class="mb-3">1) تحميل قالب Excel</h5>
      <form method="get" action="<?= e(url('/admin/import-data/template')) ?>" class="row g-2 align-items-end">
        <div class="col-8">
          <label class="form-label">نوع البيانات</label>
          <select name="type" class="form-select">
            <?php foreach ($types as $key => $label): ?><option value="<?= e($key) ?>"><?= e($label) ?></option><?php endforeach; ?>
          </select>
        </div>
        <div class="col-4"><button class="btn btn-primary w-100"><i class="fa-solid fa-download"></i> تحميل</button></div>
      </form>
      <div class="alert alert-info mt-3 mb-0 small">املأ الأعمدة كما هي بدون تغيير أسماء العناوين. يدعم الرفع XLSX أو CSV.</div>
    </div>
  </div>
  <div class="col-lg-7">
    <div class="card p-3 h-100">
      <h5 class="mb-3">2) رفع الملف والمراجعة</h5>
      <form method="post" action="<?= e(url('/admin/import-data/upload')) ?>" enctype="multipart/form-data" class="row g-2 align-items-end">
        <?= csrf_field() ?>
        <div class="col-md-4">
          <label class="form-label">نوع الاستيراد</label>
          <select name="import_type" class="form-select">
            <?php foreach ($types as $key => $label): ?><option value="<?= e($key) ?>"><?= e($label) ?></option><?php endforeach; ?>
          </select>
        </div>
        <div class="col-md-5">
          <label class="form-label">ملف Excel</label>
          <input type="file" name="excel_file" accept=".xlsx,.csv" class="form-control" required>
        </div>
        <div class="col-md-3"><button class="btn btn-success w-100"><i class="fa-solid fa-upload"></i> رفع وتحليل</button></div>
      </form>
      <div class="text-muted small mt-3">الوضع الافتراضي: المكرر يتم Skip ولا يتم تحديث بياناته حفاظًا على الداتا الحالية.</div>
    </div>
  </div>
</div>

<?php if ($job): ?>
<div class="card p-3 mb-3">
  <div class="d-flex justify-content-between align-items-center flex-wrap gap-2 mb-3">
    <h5 class="mb-0">نتيجة تحليل الملف #<?= (int)$job['id'] ?> - <?= e($types[$job['import_type']] ?? $job['import_type']) ?></h5>
    <?php if (($job['status'] ?? '') !== 'executed' && (int)$job['valid_rows'] > 0): ?>
      <form method="post" action="<?= e(url('/admin/import-data/execute')) ?>" onsubmit="return confirm('تنفيذ الاستيراد للصفوف الجاهزة فقط؟');">
        <?= csrf_field() ?>
        <input type="hidden" name="job_id" value="<?= (int)$job['id'] ?>">
        <button class="btn btn-primary"><i class="fa-solid fa-check"></i> تنفيذ الاستيراد</button>
      </form>
    <?php endif; ?>
  </div>
  <div class="row g-2 mb-3">
    <div class="col-md-2"><div class="border rounded p-2 text-center"><div class="text-muted small">الإجمالي</div><strong><?= (int)$job['total_rows'] ?></strong></div></div>
    <div class="col-md-2"><div class="border rounded p-2 text-center"><div class="text-muted small">جاهز</div><strong class="text-success"><?= (int)$job['valid_rows'] ?></strong></div></div>
    <div class="col-md-2"><div class="border rounded p-2 text-center"><div class="text-muted small">مكرر</div><strong class="text-warning"><?= (int)$job['duplicate_rows'] ?></strong></div></div>
    <div class="col-md-2"><div class="border rounded p-2 text-center"><div class="text-muted small">أخطاء</div><strong class="text-danger"><?= (int)$job['error_rows'] ?></strong></div></div>
    <div class="col-md-2"><div class="border rounded p-2 text-center"><div class="text-muted small">تمت إضافته</div><strong class="text-primary"><?= (int)$job['imported_rows'] ?></strong></div></div>
    <div class="col-md-2"><div class="border rounded p-2 text-center"><div class="text-muted small">الحالة</div><strong><?= e($job['status']) ?></strong></div></div>
  </div>
  <div class="table-responsive">
    <table class="table table-sm table-bordered align-middle">
      <thead class="table-light"><tr><th>الصف</th><th>الحالة</th><th>الرسالة</th><th>البيانات المقروءة</th></tr></thead>
      <tbody>
        <?php foreach ($rows as $r): $raw = json_decode((string)$r['raw_data_json'], true) ?: []; $cls = $statusClasses[$r['status']] ?? 'secondary'; ?>
          <tr>
            <td><?= (int)$r['row_number'] ?></td>
            <td><span class="badge text-bg-<?= e($cls) ?>"><?= e($statusLabels[$r['status']] ?? $r['status']) ?></span></td>
            <td><?= e((string)$r['message']) ?></td>
            <td class="small"><?php foreach ($raw as $k=>$v): if ((string)$v === '') continue; ?><span class="me-2"><strong><?= e($k) ?>:</strong> <?= e((string)$v) ?></span><?php endforeach; ?></td>
          </tr>
        <?php endforeach; ?>
      </tbody>
    </table>
  </div>
</div>
<?php endif; ?>

<div class="card p-3">
  <div class="d-flex justify-content-between align-items-center flex-wrap gap-2 mb-3">
    <h5 class="mb-0">آخر عمليات الاستيراد</h5>
    <?php if (!empty($jobs)): ?>
      <form method="post" action="<?= e(url('/admin/import-data/clear-logs')) ?>" onsubmit="return confirm('سيتم حذف كل سجلات عمليات الاستيراد السابقة فقط، ولن يتم حذف البيانات التي تم استيرادها. هل أنت متأكد؟');">
        <?= csrf_field() ?>
        <button type="submit" class="btn btn-outline-danger btn-sm"><i class="fa-solid fa-trash"></i> حذف اللوجات السابقة</button>
      </form>
    <?php endif; ?>
  </div>
  <div class="table-responsive">
    <table class="table table-sm align-middle">
      <thead><tr><th>#</th><th>النوع</th><th>الملف</th><th>الإجمالي</th><th>جاهز</th><th>مكرر</th><th>أخطاء</th><th>تم</th><th>الحالة</th><th></th></tr></thead>
      <tbody>
        <?php foreach ($jobs as $j): ?>
          <tr>
            <td><?= (int)$j['id'] ?></td><td><?= e($types[$j['import_type']] ?? $j['import_type']) ?></td><td><?= e((string)$j['file_name']) ?></td>
            <td><?= (int)$j['total_rows'] ?></td><td><?= (int)$j['valid_rows'] ?></td><td><?= (int)$j['duplicate_rows'] ?></td><td><?= (int)$j['error_rows'] ?></td><td><?= (int)$j['imported_rows'] ?></td><td><?= e((string)$j['status']) ?></td>
            <td><a class="btn btn-outline-primary btn-sm" href="<?= e(url('/admin/import-data?job_id='.(int)$j['id'])) ?>">عرض</a></td>
          </tr>
        <?php endforeach; ?>
        <?php if (empty($jobs)): ?>
          <tr><td colspan="10" class="text-center text-muted py-4">لا توجد عمليات استيراد مسجلة.</td></tr>
        <?php endif; ?>
      </tbody>
    </table>
  </div>
</div>
