# 🚛 پنل مدیریت و تست RMTO

## دسترسی به پنل

**آدرس پنل:**
```
http://localhost:8000/rmto-admin-panel.html
```

## ✨ امکانات پنل

### 📊 داشبورد
- نمایش آمار کلی
- وضعیت اتصال به RMTO
- خلاصه عملیات

### ⚙️ تنظیمات RMTO
- مدیریت نام کاربری و رمز عبور
- تنظیم محیط (تست/عملیاتی)
- کد کلاینت و نسخه
- تست اتصال به سرویس

### 📄 ثبت بارنامه تستی
فرم کامل برای ثبت بارنامه شامل:
- شماره و سریال بارنامه
- تاریخ و زمان صدور
- مبدا و مقصد
- اطلاعات فرستنده و گیرنده
- اطلاعات راننده و ناوگان
- مبالغ و کالا

### 👨‍✈️ اطلاعات راننده
استعلام با:
- شماره کارت هوشمند
- کد ملی

### 🚚 اطلاعات ناوگان
استعلام با شماره کارت هوشمند ناوگان

### 📱 ارسال OTP
ارسال کد تایید به شماره موبایل راننده

### 📅 تاریخ سرور RMTO
دریافت تاریخ و زمان فعلی سرور

### 🔍 استعلام‌ها
- استعلام کد ملی (حقیقی)
- استعلام کد پستی

## 🎯 نحوه استفاده

### مرحله 1: تنظیمات اولیه
1. روی منوی "تنظیمات RMTO" کلیک کنید
2. اطلاعات زیر را وارد کنید:
   - نام کاربری RMTO
   - رمز عبور RMTO
   - کد کلاینت (اختیاری)
3. "ذخیره تنظیمات" را کلیک کنید
4. "تست اتصال" را کلیک کنید

### مرحله 2: ثبت بارنامه تستی
1. روی "ثبت بارنامه تستی" کلیک کنید
2. فرم پر شده با داده‌های نمونه است
3. می‌توانید تغییرات دلخواه ایجاد کنید
4. "ثبت بارنامه" را کلیک کنید
5. نتیجه در باکس پاسخ نمایش داده می‌شود

### مرحله 3: تست سایر قابلیت‌ها
- از منوی سمت راست هر بخش را انتخاب کنید
- فرم مربوطه را پر کنید
- دکمه مربوطه را کلیک کنید
- نتیجه را مشاهده کنید

## 📋 داده‌های تستی

### شهرها
- **117** = تهران
- **166** = مشهد
- **70** = اصفهان
- **253** = شیراز

### نوع بارگیر
- **1** = کامیون
- **2** = کامیونت
- **3** = تریلی

### نمونه داده‌های بارنامه
```json
{
  "bill_number": 123456789,
  "serial": "A",
  "year": 1403,
  "month": 11,
  "day": 3,
  "issue_time": "10:30",
  "sender_name": "علی رضایی",
  "sender_national_code": "0012345678",
  "sender_postal_code": "1234567890",
  "receiver_name": "رضا احمدی",
  "receiver_national_code": "9876543210",
  "receiver_postal_code": "9876543210",
  "freighter_card_number": "9876543210123456",
  "first_driver_card_number": "1234567890123456",
  "cost": 5000000,
  "total_cost": 5500000
}
```

## 🔐 احراز هویت

پنل نیاز به توکن ادمین دارد که در localStorage ذخیره می‌شود:

```javascript
localStorage.setItem('admin_token', 'YOUR_ADMIN_TOKEN');
```

برای دریافت توکن ادمین:
1. ابتدا login کنید: `POST /api/auth/login`
2. توکن دریافتی را در localStorage ذخیره کنید

## 🎨 ویژگی‌های رابط کاربری

- ✅ طراحی مدرن و زیبا
- ✅ Responsive (سازگار با موبایل)
- ✅ منوی کناری برای دسترسی سریع
- ✅ نمایش پاسخ‌ها به صورت JSON
- ✅ Alert های رنگی
- ✅ Loading indicator
- ✅ داشبورد با آمار

## 🐛 رفع مشکلات

### خطای احراز هویت
```
Solution: توکن معتبر در localStorage ذخیره کنید
localStorage.setItem('admin_token', 'YOUR_TOKEN');
```

### خطای اتصال به RMTO
- بررسی نام کاربری و رمز عبور
- بررسی اتصال اینترنت
- بررسی فعال بودن SOAP extension

### خطای CORS
```
Solution: در backend اطمینان حاصل کنید CORS فعال است
```

## 📱 Endpoints استفاده شده

| Method | Endpoint | توضیحات |
|--------|----------|---------|
| GET | `/api/settings/rmto` | دریافت تنظیمات |
| PUT | `/api/settings/rmto` | ذخیره تنظیمات |
| POST | `/api/settings/rmto/test-connection` | تست اتصال |
| POST | `/api/rmto/test-bill` | ثبت بارنامه |
| POST | `/api/rmto/driver-info` | اطلاعات راننده |
| POST | `/api/rmto/freighter-info` | اطلاعات ناوگان |
| POST | `/api/rmto/send-otp` | ارسال OTP |
| GET | `/api/rmto/current-date` | تاریخ سرور |
| POST | `/api/rmto/inquiry/real-person` | استعلام کد ملی |
| POST | `/api/rmto/inquiry/postal-code` | استعلام کد پستی |

## 💡 نکات مهم

1. **محیط تست**: همیشه ابتدا در محیط تست کار کنید
2. **کد رهگیری**: بعد از ثبت بارنامه، کد رهگیری را یادداشت کنید
3. **OTP**: قبل از ثبت بارنامه، OTP را به راننده ارسال کنید
4. **تاریخ**: اختلاف زمانی نباید بیش از 5 دقیقه باشد

## 🚀 شروع سریع

```bash
# 1. مطمئن شوید Laravel در حال اجرا است
php artisan serve

# 2. مرورگر را باز کنید
http://localhost:8000/rmto-admin-panel.html

# 3. توکن را تنظیم کنید (در Console مرورگر)
localStorage.setItem('admin_token', 'YOUR_ADMIN_TOKEN');

# 4. صفحه را Refresh کنید
# 5. از منو "تنظیمات RMTO" اطلاعات را وارد کنید
# 6. "تست اتصال" را کلیک کنید
# 7. شروع به تست کنید!
```

## 📞 پشتیبانی

برای مشکلات فنی یا سوالات:
- بررسی Console مرورگر برای خطاها
- بررسی Network tab برای پاسخ‌های API
- بررسی Laravel logs: `storage/logs/laravel.log`

---

**نکته:** این پنل صرفاً برای تست و دمو است. برای محیط عملیاتی، امنیت بیشتری اضافه کنید.
