# PO Enterprise v5 — Final Installable Edition

نظام مستقل للمشتريات والتزويد والـAI Advisor يتكامل مع Dynamics NAV/BC14 عبر APIs منفصلة لكل Domain.

## التثبيت
1. اجعل DocumentRoot يشير إلى مجلد `public`.
2. المتطلبات: PHP 8.2+ مع `pdo_mysql`, `curl`, `json` و MySQL 8.x أو MariaDB حديث.
3. افتح `/install.php`.
4. أدخل بيانات MySQL، اسم قاعدة البيانات، وحساب Admin.
5. الـInstaller ينشئ قاعدة البيانات ويطبق كل ملفات `database/migrations` ويكتب `.env`.
6. افتح `/` وسجّل الدخول.

## الوحدات
- Manual PO مستقل عن الـAI.
- Replenishment & Product Advice مع 7/15/30/custom days، stockout correction، seasonal/hijri factors، multi-location stock، open PO، transfers، MOQ/pack.
- Auto Draft / Full Auto PO حسب Vendor Policy.
- Vendor 360 Portal: Items, stock, daily sales, movements, open/overdue PO, supplier performance.
- Vendor acknowledgement + ASN backend.
- ERP Integration endpoints منفصلة: Items, Vendors, Vendor Items, Locations, Inventory, Inventory Movements, Sales, Purchase History, Open PO, Purchase Receipts, Transfers, Offers, Create PO, Create Transfer.
- Data Quality, Anomaly Detection, What-If Simulation, Control Tower.
- Audit-ready user model and supplier scoped access.

## ملاحظة مهمة للـERP
النظام جاهز من جهة الـAPI contract والـsync client، لكن يجب على فريق Dynamics نشر الـWeb Services الفعلية وفق `docs/ERP_API_CONTRACT.md` ثم تعديل Base URL/Path من شاشة ERP Integration.

## Cron مقترح
- `cron/sync_15min.php` كل 15 دقيقة.
- `cron/sync_master.php` كل ساعة.
- `cron/nightly_replenishment.php` بعد Final Sync المسائي.
- `cron/process_outbound.php` كل دقيقة/5 دقائق حسب السياسة.

كل الجداول تبدأ بـ `PO_`.

## تحديث v6 — Database Config + System Health + UI/UX

- بيانات MySQL الموصى بها أصبحت في `config/database.local.php` بدل خلطها مع إعدادات التطبيق.
- يوجد نموذج آمن في `config/database.example.php` وشرح في `docs/DATABASE_CREDENTIALS_AR.md`.
- Installer يكتب ملف قاعدة البيانات المنفصل تلقائيًا.
- قسم **System Health** داخل لوحة الإدارة يعرض حالة Database وPHP Runtime وERP endpoints وآخر Sync والـOutbound Queue بدون كشف كلمة مرور قاعدة البيانات.
- تم تحديث UI/UX للوحة الداخلية وبوابة الموردين: Sidebar حديث، KPI cards، responsive tables، status badges، forms وfocus states موحدة، وتصميم مناسب للشاشات المكتبية والموبايل.
- حالة ERP لا تعتبر `CONNECTED` لمجرد وجود URL؛ تظهر Connected فقط عندما توجد مزامنة ناجحة حديثة حسب interval الخاص بالـendpoint.
