# گزارشات سلامت و درمان (Reports_Health)

## انجام‌شده

### مایگریشن
- **`2026_02_20_170000_add_health_report_fields_to_reports_table.php`**
  - در جدول `reports`: `report_at`, `disease_name`, `diagnosis`, `expert_opinion`, `next_visit_at`, `total_cost`, `invoice_image`, `product_weight`
  - جدول **`report_consumables`**: `report_id`, `name`, `unit`, `quantity`, `sort_order`
  - جدول **`report_invoice_items`**: `report_id`, `title`, `amount`, `sort_order`

### مدل‌ها
- **Report**: ریلیشن‌های `consumables()`, `invoiceItems()`؛ ثابت‌های `HEALTH_TYPE_*` و متد `healthReportTypes()`
- **ReportConsumable**: مدل اقلام مصرفی
- **ReportInvoiceItem**: مدل آیتم‌های فاکتور

### ریسورس ادمین: گزارشات سلامت و درمان
- **HealthReportResource** (گزارشات سلامت و درمان)
  - فقط گزارش‌های با `type = TYPE_HEALTH`
  - مسیرها: لیست، ایجاد، مشاهده، ویرایش

### فرم ثبت گزارش جدید ادمین
- انتخاب **پروژه** (جستجو)، **تاریخ/زمان** (تقویم جلالی)، **خدمات‌دهنده** (تولیدکننده، جستجو)
- **نام بیماری**، **نوع گزارش** (درمان / شاخ‌سوزی / حذف محصول / سایر)
- **انتخاب محصول/محصولات** (Repeater با رابطه `items` و انتخاب محصول)
- **تشخیص**، **نظر کارشناسی**
- **اقلام مصرفی**: Repeater (نام، واحد: وزن/تعداد/حجم، مقدار) با افزودن/حذف
- **هزینه و فاکتور**: مبلغ کل، Repeater آیتم‌های فاکتور (عنوان، مبلغ)، آپلود تصویر فاکتور
- **گزارش مکتوب**، یادداشت، **تصاویر/ویدئو**، **سایر اسناد**
- **تاریخ مراجعه بعدی**؛ **وزن محصول (kg)** فقط وقتی نوع گزارش = حذف محصول
- **ذخیره پیش‌نویس** و **ثبت نهایی**
- در ایجاد، مقدار `type = TYPE_HEALTH` و در صورت نیاز `date` از `report_at` ست می‌شود

### لیست گزارشات سلامت
- ستون‌ها: عنوان، پروژه، خدمات‌دهنده، نام بیماری، نوع گزارش، تعداد محصول، مبلغ کل، وضعیت رسیدگی، تاریخ/زمان، وضعیت
- فیلترها: پروژه، خدمات‌دهنده، نوع گزارش، **محصول (کد/نام دام)**، وضعیت رسیدگی، بازه زمانی
- اکشن‌های سطر: مشاهده، **تایید**، **رد** (با دلیل)، **ویرایش** (نیاز به ویرایش + دلیل)، ویرایش

### صفحه مشاهده گزارش سلامت
- اطلاعات اصلی، محصولات، تشخیص و نظر کارشناسی، اقلام مصرفی، هزینه و فاکتور، گزارش و پیوست‌ها

---

## برای مرحله بعد (اختیاری)

- **لیست محصولات تحت درمان ادمین**: صفحه/فیلتر جدا با تمرکز روی «محصولات دارای گزارش درمان» و امکان ثبت دارو/درمان جدید برای همان محصول
- **حذف محصول (نوع گزارش = حذف محصول)**: همان فرم با پر شدن فیلدهای مخصوص حذف (تشخیص علت حذف، وزن، تصاویر و …)
- **محصولات تحت نظر**: لیست با فیلتر پروژه/نوع دام/تاریخ/کد دام و لینک به ادامه درمان یا تاریخچه
- **پنل تولیدکننده**: ثبت گزارش سلامت فقط برای پروژه‌های خود، لیست محصولات تحت نظر، حذف محصول، تاریخچه گزارش‌های سلامت
- **پنل کارفرما**: آخرین گزارش، تاریخچه درمان، محصولات تحت درمان با جزئیات فاکتور و اقلام مصرفی
- **واکسیناسیون**: جدول/مدل جدا برای لیست واکسیناسیون (تاریخ، نام واکسن، خدمات‌دهنده) در تاریخچه دستور/محصول تحت نظر

برای اعمال مایگریشن در محیطی که دیتابیس در دسترس است:
```bash
php artisan migrate
```
