From c5664064b03b5af09fb1359b9d77bf3a1536e7bd Mon Sep 17 00:00:00 2001 From: Mohamed Eltayar <152964073+maltayyar2@users.noreply.github.com> Date: Sat, 8 Nov 2025 14:51:44 +0300 Subject: [PATCH] Revert "Add MODULE_REVIEW.md files for odex_benefit and odex_takaful modules" --- .../odex_benefit/MODULE_REVIEW.md | 637 ------------------ .../odex_takaful/MODULE_REVIEW.md | 354 ---------- 2 files changed, 991 deletions(-) delete mode 100644 odex25_ensan/odex25_ensan/odex_benefit/MODULE_REVIEW.md delete mode 100644 odex25_ensan/odex25_ensan/odex_takaful/MODULE_REVIEW.md diff --git a/odex25_ensan/odex25_ensan/odex_benefit/MODULE_REVIEW.md b/odex25_ensan/odex25_ensan/odex_benefit/MODULE_REVIEW.md deleted file mode 100644 index 213d7d660..000000000 --- a/odex25_ensan/odex25_ensan/odex_benefit/MODULE_REVIEW.md +++ /dev/null @@ -1,637 +0,0 @@ -# 📋 مراجعة شاملة لموديول Odex Benefit - -## 🎯 نظرة عامة - -**اسم الموديول:** `odex_benefit` -**الإصدار:** 1.0 -**الفئة:** Grant Management -**الشركة المطورة:** Expert Ltd -**الموقع:** http://exp-sa.com -**الترخيص:** GPL-3 - -### الوصف -موديول شامل لإدارة المنح والمساعدات لمشروع التكافل، يوفر نظام متكامل لإدارة الأسر المستفيدة، أعضاء الأسرة، الخدمات المقدمة، الزيارات، والمصروفات. - ---- - -## 📦 الاعتمادات (Dependencies) - -الموديول يعتمد على: -- `base` - الأساسيات -- `survey` - الاستبيانات -- `takaful_core` - نواة التكافل -- `website` - الموقع الإلكتروني -- `account` - المحاسبة -- `report_xlsx` - التقارير -- `sale` - المبيعات -- `product` - المنتجات -- `stock` - المخزون -- `hr` - الموارد البشرية -- `purchase` - المشتريات -- `web_google_maps` - خرائط جوجل -- `odex25_account_payment_fix` - إصلاحات الدفع -- `otp_sms_auth_custom` - المصادقة عبر OTP - -### المكتبات الخارجية -- `num2words` - تحويل الأرقام إلى كلمات - ---- - -## 🏗️ البنية الهيكلية للموديول - -### 1. النماذج الرئيسية (Models) - -#### 1.1 `grant.benefit` - الملف الرئيسي للأسرة المستفيدة -**الوصف:** النموذج الأساسي الذي يمثل الأسرة المستفيدة من المنح - -**الحقول الرئيسية:** -- **المعلومات الأساسية:** - - `code`: رقم الملف (تسلسلي) - - `name`: اسم الأسرة - - `partner_id`: ربط مع شريك (res.partner) - - `benefit_type`: نوع الاستفادة (benefit/orphan/widow) - - `benefit_category_id`: فئة الاستفادة - - `state`: حالة الملف (draft/new/complete_info/waiting_approve/first_approve/second_approve/refused/suspended_second_approve/exception_second_approve/black_list) - -- **معلومات الأب:** - - `father_id_number`: رقم هوية الأب - - `father_birth_date`: تاريخ ميلاد الأب - - `father_age`: عمر الأب (محسوب) - - `father_marital`: الحالة الاجتماعية للأب - - `father_job_id`: الوظيفة - - `father_dead_date`: تاريخ الوفاة - - `father_dead_reason_id`: سبب الوفاة - -- **معلومات الأم:** - - `mother_name`: اسم الأم - - `mother_id_number`: رقم هوية الأم - - `mother_birth_date`: تاريخ ميلاد الأم - - `mother_age`: عمر الأم (محسوب) - - `mother_marital_conf`: الحالة الاجتماعية للأم - - `mother_income`: دخل الأم - - `is_mother_work`: هل تعمل الأم؟ - - `mother_has_disabilities`: هل لديها إعاقة؟ - - `add_replacement_mother`: إضافة أم بديلة - -- **معلومات السكن:** - - `housing_type`: نوع السكن (apartment/villa/popular_house/tent) - - `property_type`: نوع الملكية (ownership/rent/charitable/ownership_shared/rent_shared) - - `rent_amount`: مبلغ الإيجار - - `contract_num`: رقم عقد الإيجار - - `rent_start_date`: تاريخ بداية الإيجار - - `rent_end_date`: تاريخ نهاية الإيجار - - `payment_type`: نوع الدفع (Yearly/Half-yearly/Quarterly/Monthly) - - `lat`, `lon`: الإحداثيات الجغرافية - -- **المعلومات المالية:** - - `total_income`: إجمالي الدخل - - `total_expenses`: إجمالي المصروفات - - `benefit_needs_percent`: نسبة الحاجة - - `family_monthly_income`: الدخل الشهري للأسرة - - `family_monthly_meals`: الوجبات الشهرية - - `family_monthly_clotting`: الملابس الشهرية - -- **معلومات الأعضاء:** - - `member_ids`: قائمة أعضاء الأسرة (One2many) - - `benefit_member_count`: عدد الأعضاء المستفيدين (محسوب) - - `non_member_count`: عدد غير المستفيدين - -- **معلومات الفرع:** - - `branch_custom_id`: الفرع - - `district_id`: الحي - - `meal_card`: بطاقة الوجبات - - `researcher_id`: الباحث المسؤول - -- **الحالات الخاصة:** - - `is_excluded_suspension`: مستثنى من الإيقاف - - `suspend_reason`: سبب الإيقاف - - `exception_reason`: سبب الاستثناء - - `exception_type`: نوع الاستثناء (temporarily/permanent) - -**الوظائف الرئيسية:** -- `check_mother_status()`: التحقق من حالة الأم -- `check_replacement_mother_status()`: التحقق من حالة الأم البديلة -- `get_members_count()`: حساب عدد الأعضاء -- `get_total_income()`: حساب إجمالي الدخل -- `get_total_expenses()`: حساب إجمالي المصروفات -- `create_scheduled_visit()`: إنشاء زيارات مجدولة تلقائياً -- `send_expiry_date_notification()`: إرسال إشعارات انتهاء المرفقات -- `update_data_automatically()`: تحديث البيانات تلقائياً -- `action_auto_exception()`: التحقق من الاستثناءات المؤقتة - -#### 1.2 `family.member` - أعضاء الأسرة -**الوصف:** يمثل كل فرد من أفراد الأسرة - -**الحقول الرئيسية:** -- **المعلومات الشخصية:** - - `member_first_name`: الاسم الأول - - `member_second_name`: الاسم الثاني (مرتبط بالأب) - - `member_third_name`: الاسم الثالث - - `member_family_name`: اسم العائلة - - `member_id_number`: رقم الهوية - - `gender`: الجنس (male/female) - - `birth_date`: تاريخ الميلاد - - `age`: العمر (محسوب) - - `age_status`: حالة العمر (minor/non_minor) - - `relationn`: صلة القرابة (son/daughter/mother/replacement_mother) - -- **معلومات الأم (إذا كانت العضو):** - - `mother_first_name`: الاسم الأول للأم - - `mother_marital_conf`: الحالة الاجتماعية - - `mother_location`: موقع الأم - - `is_mother_work`: هل تعمل؟ - -- **معلومات العمل:** - - `is_work`: هل يعمل؟ - - `member_income`: الدخل - - `salary_certificate`: شهادة الراتب - -- **معلومات التعليم:** - - `education_status`: حالة التعليم (educated/illiterate/under_study_age) - - `case_study`: حالة الدراسة (continuous/intermittent/graduate) - - `education_levels`: المستوى التعليمي - - `specialization_ids`: التخصص - - `is_scientific_specialty`: تخصص علمي؟ - - `is_medical_specialty`: تخصص طبي؟ - - `member_education_status_ids`: سجل الحالة التعليمية - -- **معلومات الصحة:** - - `diseases_ids`: الأمراض - - `disabilities_ids`: الإعاقات - - `hobbies_ids`: الهوايات - -- **الحالة:** - - `state`: حالة العضو (draft/new/complete_info/waiting_approve/first_approve/second_approve/refused/suspended_second_approve/exception_second_approve/black_list) - - `member_status`: حالة الاستفادة (benefit/non_benefit) - - `non_benefit_reason`: سبب عدم الاستفادة - - `is_excluded_suspension`: مستثنى من الإيقاف - -**الوظائف الرئيسية:** -- `check_member_status()`: التحقق من حالة الاستفادة للعضو -- `_compute_get_age_date()`: حساب العمر -- `_compute_get_age_status()`: حساب حالة العمر -- `_compute_minor_siblings()`: حساب وجود أشقاء قاصرين - -#### 1.3 `service.request` - طلبات الخدمات -**الوصف:** يمثل طلب خدمة من الأسرة أو العضو - -**الحقول الرئيسية:** -- **المعلومات الأساسية:** - - `name`: رقم الطلب (تسلسلي) - - `date`: تاريخ الطلب - - `benefit_type`: نوع الاستفادة (family/member) - - `family_id`: الأسرة - - `member_id`: العضو (إذا كان للعضو) - - `service_cat`: فئة الخدمة - - `service_type`: نوع الخدمة (rent/home_restoration/electrical_devices/marriage/etc.) - -- **معلومات الخدمة:** - - `requested_service_amount`: المبلغ المطلوب - - `service_max_amount`: الحد الأقصى المسموح - - `description`: الوصف - - `need_status`: حالة الحاجة (urgent/not_urgent) - -- **معلومات الإيجار (للخدمات المتعلقة بالإيجار):** - - `rent_contract_number`: رقم عقد الإيجار - - `rent_start_date`: تاريخ بداية الإيجار - - `rent_end_date`: تاريخ نهاية الإيجار - - `rent_amount`: مبلغ الإيجار - - `payment_type`: نوع الدفع - - `estimated_rent_amount`: المبلغ المقدر للإيجار - - `new_rent_contract`: عقد إيجار جديد؟ - -- **الحالة:** - - `state`: حالة الطلب (draft/researcher/waiting_approve/first_approve/family_services_manager/legal_department/projects_department/gm_assistant/accounting_approve/approval_of_beneficiary_services/send_request_to_supplier/family_received_device/refused) - - `payment_order_id`: أمر الدفع المرتبط - - `payment_order_state`: حالة أمر الدفع - -- **المرفقات:** - - `attachment_lines`: قائمة المرفقات المطلوبة - - `service_attach`: مرفقات الخدمة - -**الوظائف الرئيسية:** -- `_get_estimated_rent_amount()`: حساب المبلغ المقدر للإيجار -- `_get_aid_amount()`: حساب مبلغ المساعدة -- `_compute_attachment_lines()`: حساب المرفقات المطلوبة -- `action_create_payment_order()`: إنشاء أمر دفع -- `create_vendor_bill()`: إنشاء فاتورة مورد - -#### 1.4 `visit.location` - الزيارات -**الوصف:** يمثل زيارة للأسرة - -**الحقول الرئيسية:** -- **المعلومات الأساسية:** - - `name`: رقم الزيارة (تسلسلي) - - `benefit_id`: الأسرة المستفيدة - - `visit_date`: تاريخ الزيارة - - `visit_types`: نوع الزيارة - - `visit_objective`: هدف الزيارة (inform_visit/objective_visit) - - `researcher_ids`: الباحثون - -- **الحالة:** - - `state`: حالة الزيارة (draft/contact/schedule_a_visit/pending/done/close/cancel) - -- **المصادقة:** - - `otp_code`: رمز OTP - - `otp_generated_at`: وقت إنشاء OTP - - `response_id`: استجابة الاستبيان - -**الوظائف الرئيسية:** -- `generateOTP()`: إنشاء رمز OTP -- `action_send_survey()`: إرسال استبيان التقييم -- `action_done()`: إتمام الزيارة - -#### 1.5 `confirm.benefit.expense` - تأكيد مصروفات الأسرة -**الوصف:** تأكيد ودفع المصروفات الشهرية للأسرة - -**الحقول الرئيسية:** -- **المعلومات الأساسية:** - - `family_expense_seq`: رقم المصروف (تسلسلي) - - `date`: التاريخ - - `start_date`: تاريخ البداية - - `end_date`: تاريخ النهاية - - `expense_type`: نوع المصروف (family_expense/family_invoice) - - `family_ids`: الأسر المختارة - -- **المصروفات:** - - `cash_expense`: تضمين المصروف النقدي؟ - - `meal_expense`: تضمين مصروف الوجبات؟ - - `cloth_expense`: تضمين مصروف الملابس؟ - - `family_monthly_income`: إجمالي الدخل الشهري - - `family_monthly_meals`: إجمالي الوجبات الشهرية - - `family_monthly_clotting`: إجمالي الملابس الشهرية - -- **الحالة:** - - `state`: الحالة (draft/calculated/assistant_general_manager/depart_manager/account_manager/cancel/confirm) - -**الوظائف الرئيسية:** -- `action_calculate()`: حساب المصروفات -- `action_confirm_selected()`: تأكيد المصروفات وإنشاء قيود محاسبية -- `_update_benefit_expense_lines()`: تحديث بنود المصروفات - -#### 1.6 `payment.orders` - أوامر الدفع -**الوصف:** يمثل أمر دفع لخدمات متعددة - -**الحقول الرئيسية:** -- **المعلومات الأساسية:** - - `name`: رقم أمر الدفع (تسلسلي) - - `payment_order_date`: تاريخ أمر الدفع - - `accountant_id`: المحاسب المسؤول - - `service_requests_ids`: طلبات الخدمات المرتبطة - - `journal_id`: دفتر اليومية - -- **الحالة:** - - `state`: الحالة (draft/waiting_head/waiting_finance/waiting_gm/done/refused) - -**الوظائف الرئيسية:** -- `get_lines()`: إنشاء بنود القيد المحاسبي -- `action_manager_approval()`: موافقة المدير -- `action_finance_approval()`: موافقة المالية وإنشاء القيد - -#### 1.7 `services.settings` - إعدادات الخدمات -**الوصف:** إعدادات وتكوين الخدمات المتاحة - -**الحقول الرئيسية:** -- **المعلومات الأساسية:** - - `service_name`: اسم الخدمة - - `service_type`: نوع الخدمة (rent/home_restoration/electrical_devices/etc.) - - `benefit_type`: نوع الاستفادة (family/member) - - `service_category`: فئة الخدمة (emergency/permanent/exceptional/seasonal) - - `is_seasonal_service`: خدمة موسمية؟ - -- **الحدود والقيود:** - - `max_amount`: الحد الأقصى للمبلغ - - `max_age`: الحد الأقصى للعمر - - `allowed_recurrence`: السماح بالتكرار (once/periodic/unlimited) - - `recurrence_period`: فترة التكرار (months/years) - - `recurrence_interval`: فترة التكرار - - `max_limit_type`: نوع الحد الأقصى (none/fixed/category/amount_person/etc.) - - `max_limit_period`: فترة الحد الأقصى (request/individual/month/year/recurrence_period) - -- **الموافقات:** - - `needs_beneficiary_manager_approval`: يحتاج موافقة مدير المستفيدين؟ - - `needs_services_head_approval`: يحتاج موافقة رئيس الخدمات؟ - - `needs_legal_approval`: يحتاج موافقة قانونية؟ - - `needs_project_management_approval`: يحتاج موافقة إدارة المشاريع؟ - -- **البيانات المرتبطة:** - - `rent_lines`: بنود الإيجار (حسب الفئة وعدد الأعضاء) - - `electrical_devices_lines`: بنود الأجهزة الكهربائية - - `home_furnishing_lines`: بنود تأثيث المنزل - - `category_amount_lines`: بنود المبالغ حسب الفئة - - `bill_lines`: بنود الفواتير - - `limit_person_line_ids`: حدود حسب عدد الأشخاص - -#### 1.8 نماذج أخرى مهمة - -**`benefit.category`** - فئات الاستفادة -- `name`: اسم الفئة -- `gender`: الجنس (male/female/both) -- `age_from`, `age_to`: نطاق العمر -- `mini_income_amount`, `max_income_amount`: نطاق الدخل - -**`family.expense`** - مصروفات الأسرة -- `name`: اسم المصروف -- `expenses_type`: نوع المصروف (governmental/medical/transportation/etc.) -- `amount`: المبلغ -- `state`: الحالة (waiting/accepted/refused) - -**`family.expense.line`** - بنود مصروفات الأسرة -- `expenses_type_custom`: نوع المصروف -- `amount`: المبلغ -- `state`: الحالة -- `deduct_from_family_income`: خصم من دخل الأسرة؟ - -**`visit.survey`** - استبيانات الزيارات -- ربط الزيارات مع استبيانات التقييم - -**`seasonal.service`** - الخدمات الموسمية -- خدمات موسمية مثل رمضان، العيد، الشتاء - -**`payment`** - المدفوعات -- إدارة المدفوعات للخدمات - ---- - -## 🔐 الأمان والصلاحيات - -### مجموعات المستخدمين: -1. **`group_benefit_researcher`** - الباحثون -2. **`group_benefit_woman_commitee`** - لجنة النساء -3. **`group_benefit_branch_manager`** - مديرو الفروع -4. **`group_benefit_manager`** - المديرون -5. **`group_benefit_edit`** - المحررون -6. **`group_benefit_info`** - المعلومات -7. **`group_benefit_payment_accountant_accept`** - المحاسبون - -### ملفات الأمان: -- `security/security_view.xml`: تعريف مجموعات المستخدمين -- `security/ir.model.access.csv`: صلاحيات الوصول للنماذج - ---- - -## ⚙️ الإعدادات والتكوين - -### 1. `family.validation.setting` - إعدادات التحقق من الأسرة -- `female_benefit_age`: سن الاستفادة للإناث -- `male_benefit_age`: سن الاستفادة للذكور -- `exceptional_age_scientific_specialty`: سن استثنائي للتخصص العلمي -- `exceptional_age_medical_specialty`: سن استثنائي للتخصص الطبي -- `exceptional_age_has_disabilities`: سن استثنائي للإعاقة -- `minor_siblings_age`: سن الأشقاء القاصرين -- `max_income_for_benefit`: الحد الأقصى للدخل للاستفادة - -### 2. `branch.settings` - إعدادات الفروع -- `branch`: الفرع (hr.department) -- `branch_type`: نوع الفرع (branches/governorates) -- `city_id`: المدينة - -### 3. `relation.settings` - إعدادات صلة القرابة -- `relation_type`: نوع الصلة (son/daughter/mother/replacement_mother/other relation) -- `age_difference`: الفرق في العمر - -### 4. `location.settings` - إعدادات الموقع -- `location_type`: نوع الموقع (member/mother_location) -- `is_benefit`: هل يستفيد؟ -- `is_far_from_family`: بعيد عن الأسرة؟ - -### 5. `attachments.settings` - إعدادات المرفقات -- `attach_type`: نوع المرفق (family_attach/member_attach/income_attach/etc.) -- `is_required`: مطلوب؟ -- `is_default`: افتراضي؟ -- `show_in_portal`: عرض في البوابة؟ - -### 6. `education.settings` - إعدادات التعليم -- إعدادات المستويات التعليمية، الفصول، النتائج، التخصصات - -### 7. `job.settings` - إعدادات الوظائف -- قائمة الوظائف المتاحة - -### 8. `death.reason.settings` - إعدادات أسباب الوفاة -- قائمة أسباب الوفاة - ---- - -## 🔄 العمليات المجدولة (Scheduled Actions) - -### 1. **Recurrence Visit Workflow Scheduler** -- **التردد:** يومي -- **الوظيفة:** `create_scheduled_visit()` -- **الوصف:** إنشاء زيارات مجدولة تلقائياً حسب إعدادات أنواع الزيارات - -### 2. **Notification: Expiry date Attachment** -- **التردد:** يومي -- **الوظيفة:** `send_expiry_date_notification()` -- **الوصف:** إرسال إشعارات للمرفقات المنتهية الصلاحية - -### 3. **Update Data Auto (Daily)** -- **التردد:** يومي -- **الوظيفة:** `update_data_automatically()` -- **الوصف:** تحديث البيانات تلقائياً (مثل الأعمار، الحالات) - -### 4. **Check Temporarily Exception** -- **التردد:** يومي -- **الوظيفة:** `action_auto_exception()` -- **الوصف:** التحقق من الاستثناءات المؤقتة المنتهية - -### 5. **Check Member Temporarily Exception** -- **التردد:** يومي -- **الوظيفة:** `action_auto_exception()` (للأعضاء) -- **الوصف:** التحقق من استثناءات الأعضاء المؤقتة - -### 6. **Send Expiring Salary Attachments Notifications** -- **التردد:** يومي -- **الوظيفة:** `action_send_attachment_expiry_email()` -- **الوصف:** إرسال إشعارات لشهادات الراتب المنتهية الصلاحية - ---- - -## 📊 التقارير - -### 1. **Benefit Report** (`benefit_report.py`) -- تقرير شامل عن الأسرة المستفيدة - -### 2. **Family Bank Report** (`family_bank_report.py`) -- تقرير عن الحسابات البنكية للأسر - ---- - -## 🎨 الواجهات (Views) - -### النماذج الرئيسية: -- `benefit_view.xml`: واجهة ملف الأسرة -- `family_members.xml`: واجهة أعضاء الأسرة -- `service_request.xml`: واجهة طلبات الخدمات -- `visit.xml`: واجهة الزيارات -- `payment_order.xml`: واجهة أوامر الدفع -- `family_expense_view.xml`: واجهة مصروفات الأسرة -- `generate_reports.xml`: واجهة التقارير - -### الإعدادات: -- `benefit_config_view.xml`: إعدادات الاستفادة -- `services_settings.xml`: إعدادات الخدمات -- `education_settings.xml`: إعدادات التعليم -- `family_validation_setting.xml`: إعدادات التحقق - ---- - -## 🧙‍♂️ المعالجات (Wizards) - -### 1. **Researcher Wizard** (`researcher_wizard.py`) -- تعيين باحث للأسرة أو العضو - -### 2. **Suspend Reason Wizard** (`suspend_reason_wizard.py`) -- إدخال سبب الإيقاف - -### 3. **Exception Wizard** (`exception_wizard.py`) -- إدخال معلومات الاستثناء - -### 4. **Exchange Order Wizard** (`exchange_order_wizard.py`) -- إنشاء أمر صرف لطلبات متعددة - -### 5. **Entity Refused Wizard** (`entity_refused_wizard.py`) -- إدخال سبب الرفض - -### 6. **Entity Black List Wizard** (`entity_black_list_wizard.py`) -- إضافة للقائمة السوداء - -### 7. **Visit Location OTP Wizard** (`visit_location_otp_wizard.py`) -- التحقق من OTP للزيارة - -### 8. **Visit Location Refused Wizard** (`visit_location_refused_wizard.py`) -- إدخال سبب رفض الزيارة - -### 9. **Family Bank Report Wizard** (`family_bank_report_wizard.py`) -- معالج تقرير الحسابات البنكية - -### 10. **Service Refuse Reason Wizard** (`service_refuse_reason_wizard.py`) -- إدخال سبب رفض الخدمة - -### 11. **Reason For Return Wizard** (`reason_for_return_wizard.py`) -- إدخال سبب الإرجاع - ---- - -## 📧 القوالب البريدية - -### 1. **Benefit Email Templates** -- قوالب إرسال الإشعارات للأسر - -### 2. **Benefit Services Email Templates** -- قوالب إشعارات الخدمات - -### 3. **Visit Email Templates** -- قوالب إشعارات الزيارات - ---- - -## 🔗 التكاملات - -### 1. **مع المحاسبة (Account)** -- إنشاء قيود محاسبية للمصروفات -- ربط أوامر الدفع بدفاتر اليومية -- تتبع المدفوعات - -### 2. **مع المبيعات (Sale)** -- ربط الخدمات بطلبات المبيعات - -### 3. **مع المشتريات (Purchase)** -- ربط الخدمات بطلبات الشراء - -### 4. **مع الموارد البشرية (HR)** -- ربط الباحثين بالموظفين -- ربط الفروع بالأقسام - -### 5. **مع الاستبيانات (Survey)** -- ربط الزيارات باستبيانات التقييم - -### 6. **مع الموقع (Website)** -- بوابة المستفيدين -- عرض الخدمات المتاحة - ---- - -## 📈 إحصائيات البيانات - -بناءً على فحص البيانات في النظام: - -- **عدد الأسر المستفيدة:** 18 -- **عدد أعضاء الأسر:** 40 -- **عدد طلبات الخدمات:** 23 -- **عدد الزيارات:** 18 -- **عدد تأكيدات المصروفات:** 8 - ---- - -## 🎯 الميزات الرئيسية - -### 1. **إدارة شاملة للأسر المستفيدة** -- تسجيل كامل لمعلومات الأب والأم والأعضاء -- تتبع الحالات الاجتماعية والتعليمية والصحية -- حساب تلقائي للأعمار والحالات - -### 2. **نظام ذكي لتحديد الاستفادة** -- حساب تلقائي لحالة الاستفادة لكل عضو -- قواعد معقدة تعتمد على العمر، الجنس، التعليم، العمل، الدخل -- دعم الاستثناءات المؤقتة والدائمة - -### 3. **إدارة متقدمة للخدمات** -- أنواع خدمات متعددة (إيجار، أجهزة، زواج، إلخ) -- حدود وقيود مرنة حسب الفئة وعدد الأعضاء -- نظام موافقات متعدد المستويات - -### 4. **نظام زيارات متطور** -- زيارات يدوية وتلقائية -- مصادقة OTP للزيارات -- استبيانات تقييم مرتبطة - -### 5. **إدارة مالية متكاملة** -- حساب المصروفات الشهرية (نقدي، وجبات، ملابس) -- أوامر دفع متعددة الخدمات -- تكامل كامل مع المحاسبة - -### 6. **تقارير وتحليلات** -- تقارير شاملة عن الأسر -- تقارير الحسابات البنكية -- إحصائيات متعددة - -### 7. **بوابة المستفيدين** -- واجهة للمستفيدين لتقديم الطلبات -- متابعة حالة الطلبات -- رفع المرفقات - ---- - -## 🔧 الصيانة والتطوير - -### نقاط القوة: -✅ نظام شامل ومتكامل -✅ قواعد عمل معقدة ومرنة -✅ تكامل جيد مع موديولات Odoo الأخرى -✅ واجهات مستخدم منظمة -✅ نظام أمان قوي - -### نقاط التحسين المحتملة: -⚠️ بعض الكود المعلق (commented code) يحتاج تنظيف -⚠️ بعض الحقول المكررة يمكن توحيدها -⚠️ يمكن تحسين الأداء في بعض الاستعلامات المعقدة - ---- - -## 📝 الخلاصة - -موديول `odex_benefit` هو نظام شامل ومتطور لإدارة المنح والمساعدات، يوفر: -- إدارة كاملة للأسر المستفيدة وأعضائها -- نظام ذكي لتحديد الاستفادة -- إدارة متقدمة للخدمات والطلبات -- نظام زيارات متطور -- إدارة مالية متكاملة -- تقارير وتحليلات شاملة - -النظام مصمم بشكل احترافي ويوفر مرونة عالية في التكوين والإعدادات. - ---- - -**تاريخ المراجعة:** 2025-01-08 -**المراجع:** AI Assistant -**الإصدار:** 1.0 diff --git a/odex25_ensan/odex25_ensan/odex_takaful/MODULE_REVIEW.md b/odex25_ensan/odex25_ensan/odex_takaful/MODULE_REVIEW.md deleted file mode 100644 index 2be8ff5cb..000000000 --- a/odex25_ensan/odex25_ensan/odex_takaful/MODULE_REVIEW.md +++ /dev/null @@ -1,354 +0,0 @@ -# مراجعة شاملة لموديول Odex Takaful System - -## نظرة عامة - -**اسم الموديول:** Odex Takaful System -**الإصدار:** 11.0 -**الفئة:** Odex25-Takaful/Odex25-Takaful -**المؤلف:** Expert Co. Ltd. -**الموقع:** http://www.exp-sa.com -**الملخص:** موديول لإدارة نظام التكافل (الكفالة والمساهمات والتبرعات) - -## الاعتماديات (Dependencies) - -- `base` -- `takaful_core` -- `odex_takaful_base` -- `odex_benefit` -- `account` -- `phone_validation` - -## الهيكل العام للموديول - -### 1. النماذج (Models) - 26 ملف - -#### النماذج الرئيسية: - -1. **`takaful.sponsorship`** - نموذج الكفالة الرئيسي - - إدارة الكفالات (أيتام/أرامل) - - أنواع الكفالة: فردية/جماعية، مؤقتة/دائمة - - حالات الكفالة: draft, confirmed, wait_pay, paid, canceled, closed, etc. - - إدارة المدفوعات والاسترداد - - ربط مع الحسابات المالية - -2. **`donations.details.lines`** - تفاصيل التبرعات والكفالات - - إدارة بنود التبرعات والكفالات - - دعم التبرعات المباشرة (Direct Debit) - - جدولة المدفوعات الشهرية - - إدارة الاستبدال والتمديد - -3. **`payment.details.lines`** - تفاصيل المدفوعات - - تسجيل المدفوعات - - ربط مع الحسابات المالية - - دعم طرق الدفع المختلفة (نقد، تحويل بنكي، سحب مباشر) - -4. **`sponsorship.scheduling.line`** - جدولة المدفوعات - - جدولة المدفوعات الشهرية - - معالجة المدفوعات التلقائية - - تتبع حالة كل دفعة - -5. **`month.payment`** - المدفوعات الشهرية للمستفيدين - - تجميع المدفوعات الشهرية - - إنشاء قيود مالية للمستفيدين - -6. **`takaful.sponsor.operation`** - عمليات الكافل - - تتبع عمليات الكافل (كفالة، مساهمة، هدية) - -7. **`sponsorship.payment`** - مدفوعات الكفالة - - إدارة مدفوعات الكفالة - - ربط مع الفواتير - -8. **`sponsorship.cancellation`** - إلغاء الكفالة - - إدارة عمليات الإلغاء - - حساب المتأخرات - -9. **`replacement.process`** - عملية الاستبدال - - استبدال المستفيدين - - تتبع عمليات الاستبدال - -10. **`takaful.contribution`** - المساهمات المالية - - إدارة المساهمات المالية - - ربط مع الحاجات - -11. **`takaful.grant.benefit`** - تمديد نموذج المستفيدين - - حساب قيمة الكفالة - - تتبع الكفالات النشطة - -12. **`takaful.push.notification`** - الإشعارات - - إرسال الإشعارات (SMS, Email, WhatsApp) - -13. **`takaful.notification`** - إعدادات الإشعارات - - أنواع الإشعارات المختلفة - - ربط مع حالات الكفالة - -14. **`takaful.payment.method`** - طرق الدفع - - إدارة طرق الدفع المختلفة - -15. **`donation.extension.history`** - سجل التمديدات - - تتبع تمديدات التبرعات - -16. **`donation.replacement.log`** - سجل الاستبدالات - - تتبع استبدالات المستفيدين - -17. **`refund.details.lines`** - تفاصيل الاسترداد - - إدارة عمليات الاسترداد - -18. **`sponsorship.benefit.arrears`** - المتأخرات - - حساب المتأخرات للمستفيدين - -#### النماذج المساعدة: - -- `replacement.reasons` - أسباب الاستبدال -- `sponsorship.reason.stop` - أسباب إيقاف الكفالة -- `refund.reasons` - أسباب الاسترداد -- `sponsorship.states` - حالات الكفالة -- `preferred.communication` - طرق التواصل المفضلة -- `takaful.conf` - إعدادات التكافل -- `donations.items` - عناصر التبرعات -- `points.of.sale.custom` - نقاط البيع - -### 2. الويزاردات (Wizards) - 10 ملفات - -1. **`account.payment.register`** - تسجيل المدفوعات -2. **`add.details.wiz`** - إضافة التفاصيل -3. **`benefit.month.payment.wiz`** - مدفوعات المستفيدين الشهرية -4. **`donation.extension.wizard`** - تمديد التبرعات -5. **`orphan.replacement.wizard`** - استبدال الأيتام -6. **`refund.wiz`** - استرداد المدفوعات -7. **`replace.sponsor.wizard`** - استبدال الكافل -8. **`takaful.reports.wizards`** - تقارير التكافل -9. **`transfer.deduction.wizard`** - تحويل الخصومات - -### 3. التقارير (Reports) - 7 ملفات - -1. **`month_payment_report.py`** - تقرير المدفوعات الشهرية -2. **`payment_details_lines_reports.xml`** - تقارير تفاصيل المدفوعات -3. **`takaful_reports.py`** - تقارير التكافل العامة -4. **`transfer_deduction_report.xml`** - تقرير تحويل الخصومات - -### 4. البيانات (Data) - 7 ملفات - -1. **`sequence_data.xml`** - التسلسلات -2. **`scheduled_actions.xml`** - الإجراءات المجدولة -3. **`takaful_notification_mail_template.xml`** - قوالب البريد الإلكتروني -4. **`sponsorship_states_data.xml`** - حالات الكفالة -5. **`sponsorship_notification_data.xml`** - إعدادات الإشعارات -6. **`message_template_data.xml`** - قوالب الرسائل -7. **`server_actions.xml`** - إجراءات الخادم - -### 5. الأمان (Security) - -- **`security_data.xml`** - مجموعات الأمان -- **`ir.model.access.csv`** - صلاحيات الوصول - -### 6. الواجهات (Views) - 33 ملف - -- واجهات الكفالات -- واجهات المدفوعات -- واجهات التبرعات -- واجهات التقارير -- واجهات الإشعارات - -### 7. الإجراءات المجدولة (Scheduled Actions) - -1. **فحص تاريخ انتهاء الكفالة وإرسال رسائل WhatsApp** - - التكرار: يومي - - الوقت: 04:00 - -2. **إدارة سير عمل الكفالة يومياً** - - التكرار: يومي - - الوقت: 04:00 - -3. **إنشاء فواتير الكفالات شهرياً** - - التكرار: شهري - - الوقت: 02:00 في اليوم الأول من الشهر - -4. **معالجة المدفوعات المجدولة يومياً** - - التكرار: يومي - - الوقت: 03:00 - -5. **إرسال تذكيرات SMS لانتهاء السحب المباشر** - - التكرار: يومي - - الوقت: 05:00 - -## الوظائف الرئيسية - -### 1. إدارة الكفالات - -#### إنشاء كفالة جديدة: -- اختيار الكافل (مسجل، جديد، غير معروف) -- اختيار المستفيد (فردي/جماعي) -- اختيار نوع المستفيد (أيتام/أرامل) -- تحديد مدة الكفالة (مؤقتة/دائمة) -- إضافة بنود التبرعات/الكفالات -- تحديد طريقة الدفع - -#### حالات الكفالة: -- **draft**: مسودة -- **confirmed**: مؤكدة -- **wait_pay**: انتظار الدفع -- **paid**: مدفوعة -- **partial_refund**: استرداد جزئي -- **fully_refund**: استرداد كامل -- **approve_refund**: موافقة على الاسترداد -- **under_refund**: تحت إجراءات الاسترداد -- **under_replacement**: تحت الاستبدال -- **replacement_done**: تم الاستبدال -- **canceled**: ملغاة -- **closed**: مغلقة - -### 2. إدارة المدفوعات - -#### أنواع المدفوعات: -- نقد (Cash) -- بطاقة (Card) -- شيك (Check) -- تحويل بنكي (Bank Transfer) -- سحب مباشر (Direct Debit) - -#### تسجيل المدفوعات: -- ربط مع الفواتير -- إنشاء قيود مالية تلقائياً -- تتبع حالة الدفع - -### 3. جدولة المدفوعات - -- جدولة المدفوعات الشهرية للكفالات المؤقتة -- معالجة تلقائية للمدفوعات المجدولة -- تتبع حالة كل دفعة - -### 4. الاستبدال - -- استبدال المستفيدين -- تتبع عمليات الاستبدال -- إرسال إشعارات للكافل - -### 5. التمديد - -- تمديد التبرعات/الكفالات -- تتبع تاريخ التمديدات -- إرسال تذكيرات قبل الانتهاء - -### 6. الاسترداد - -- استرداد كامل أو جزئي -- إنشاء فواتير استرداد -- تتبع عمليات الاسترداد - -### 7. الإشعارات - -#### أنواع الإشعارات: -- إنشاء كفالة -- قبل انتهاء الكفالة -- بعد انتهاء الكفالة -- إلغاء الكفالة -- استرداد كامل/جزئي -- استبدال يتيم/أرملة -- دفع كامل/جزئي -- قبل الإلغاء - -#### قنوات الإشعارات: -- SMS -- Email -- WhatsApp (عبر Twilio) -- Push Notifications - -### 8. التقارير - -- تقارير المدفوعات الشهرية -- تقارير تفاصيل المدفوعات -- تقارير التكافل العامة -- تقارير تحويل الخصومات - -## التكامل مع الموديولات الأخرى - -### 1. odex_benefit -- ربط مع المستفيدين (family.member) -- ربط مع العائلات (grant.benefit) -- استخدام حالات المستفيدين - -### 2. account -- إنشاء الفواتير تلقائياً -- إنشاء قيود المدفوعات -- ربط مع الحسابات المالية - -### 3. takaful_core -- استخدام الإعدادات الأساسية -- استخدام الحسابات المالية - -### 4. odex_takaful_base -- استخدام الإعدادات الأساسية -- استخدام الإشعارات - -## البيانات في النظام - -بناءً على فحص البيانات في Odoo: -- **الكفالات (takaful.sponsorship):** 0 سجل -- **تفاصيل التبرعات (donations.details.lines):** 0 سجل -- **تفاصيل المدفوعات (payment.details.lines):** 197 سجل -- **المدفوعات الشهرية (month.payment):** 0 سجل -- **جدولة المدفوعات (sponsorship.scheduling.line):** 0 سجل - -## الميزات المتقدمة - -### 1. السحب المباشر (Direct Debit) -- جدولة المدفوعات الشهرية تلقائياً -- معالجة المدفوعات في التاريخ المحدد -- إرسال تذكيرات قبل الانتهاء - -### 2. آلية التبرع -- **مع شروط (With Conditions):** ربط مع مستفيدين محددين -- **بدون شروط (Without Conditions):** تبرع عام - -### 3. حساب المتأخرات -- حساب المتأخرات تلقائياً -- إرسال إشعارات للمتأخرات -- إلغاء تلقائي بعد فترة محددة - -### 4. الاستبدال التلقائي -- استبدال تلقائي عند تغيير حالة المستفيد -- إرسال إشعارات للكافل - -### 5. التكامل مع Twilio -- إرسال رسائل WhatsApp -- إرسال SMS -- استخدام قوالب الرسائل - -## الأمان والصلاحيات - -### مجموعات الأمان: -- `group_kufula_user` - مستخدم التكافل -- `group_donations_coordinator` - منسق التبرعات -- `group_sponsorship_coordinator` - منسق الكفالات -- `group_orphan_replacement` - استبدال الأيتام -- `group_replace_sponsor` - استبدال الكافل -- `donation_officer_group` - موظف التبرعات -- `sponsorship_officer_group` - موظف الكفالات - -## نقاط القوة - -1. **شمولية النظام:** يغطي جميع جوانب إدارة الكفالات والتبرعات -2. **التكامل الجيد:** تكامل ممتاز مع الموديولات الأخرى -3. **الإشعارات المتقدمة:** دعم قنوات إشعارات متعددة -4. **الأتمتة:** معالجة تلقائية للعديد من العمليات -5. **المرونة:** دعم أنواع مختلفة من الكفالات والتبرعات -6. **التقارير:** تقارير شاملة للعمليات - -## نقاط التحسين المحتملة - -1. **الأداء:** قد يحتاج تحسين للأداء مع كمية كبيرة من البيانات -2. **التوثيق:** يمكن تحسين التوثيق الداخلي للكود -3. **الاختبارات:** إضافة المزيد من الاختبارات الآلية -4. **التعليقات:** بعض الأكواد تحتاج تعليقات أوضح -5. **معالجة الأخطاء:** تحسين معالجة الأخطاء في بعض الأماكن - -## الخلاصة - -موديول **Odex Takaful System** هو نظام شامل ومتكامل لإدارة الكفالات والتبرعات. يوفر ميزات متقدمة مثل السحب المباشر، الاستبدال التلقائي، والإشعارات المتعددة القنوات. النظام متكامل جيداً مع الموديولات الأخرى ويوفر واجهات سهلة الاستخدام. - -النظام جاهز للاستخدام في بيئة الإنتاج مع بعض التحسينات المحتملة للأداء والتوثيق. - ---- - -**تاريخ المراجعة:** 2025-01-27 -**المراجع:** AI Assistant