Spaces:
Paused
Paused
""" | |
خدمة حساب المحتوى المحلي | |
""" | |
import pandas as pd | |
import numpy as np | |
from datetime import datetime | |
import os | |
import config | |
class LocalContentCalculator: | |
"""خدمة حساب وتحسين المحتوى المحلي""" | |
def __init__(self): | |
"""تهيئة خدمة حساب المحتوى المحلي""" | |
# تحميل بيانات المواد المحلية ونسب المحتوى المحلي | |
self.local_products = self._load_local_products() | |
self.local_services = self._load_local_services() | |
self.local_labor = self._load_local_labor() | |
# تحديد الأوزان النسبية لمكونات المحتوى المحلي | |
self.component_weights = { | |
'القوى العاملة': 0.3, # 30% من وزن المحتوى المحلي | |
'المنتجات': 0.5, # 50% من وزن المحتوى المحلي | |
'الخدمات': 0.2 # 20% من وزن المحتوى المحلي | |
} | |
# تحديد المستهدفات (متطلبات المحتوى المحلي) | |
self.targets = { | |
'القوى العاملة': 0.8, # 80% محتوى محلي للقوى العاملة | |
'المنتجات': 0.7, # 70% محتوى محلي للمنتجات | |
'الخدمات': 0.6 # 60% محتوى محلي للخدمات | |
} | |
def _load_local_products(self): | |
"""تحميل بيانات المنتجات المحلية ونسب المحتوى المحلي""" | |
# محاكاة تحميل البيانات من مصدر بيانات | |
local_products = { | |
'خرسانة': { | |
'نسبة_المحتوى_المحلي': 0.95, # 95% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي', | |
'ملاحظات': 'منتج محلي بالكامل' | |
}, | |
'حديد تسليح': { | |
'نسبة_المحتوى_المحلي': 0.70, # 70% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي/مستورد', | |
'ملاحظات': 'متوفر من مصانع محلية ومستورد' | |
}, | |
'عزل مائي': { | |
'نسبة_المحتوى_المحلي': 0.60, # 60% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي/مستورد', | |
'ملاحظات': 'منتج محلي متوفر بجودة معقولة' | |
}, | |
'بلوك خرساني': { | |
'نسبة_المحتوى_المحلي': 0.98, # 98% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي', | |
'ملاحظات': 'منتج محلي بالكامل' | |
}, | |
'رخام': { | |
'نسبة_المحتوى_المحلي': 0.80, # 80% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي', | |
'ملاحظات': 'متوفر من محاجر محلية' | |
}, | |
'أثاث مكتبي': { | |
'نسبة_المحتوى_المحلي': 0.75, # 75% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي', | |
'ملاحظات': 'يُصنع محليًا ويستخدم بعض المكونات المستوردة' | |
}, | |
'أجهزة تكييف': { | |
'نسبة_المحتوى_المحلي': 0.40, # 40% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي/مستورد', | |
'ملاحظات': 'تجميع محلي مع مكونات مستوردة' | |
}, | |
'أنظمة إضاءة': { | |
'نسبة_المحتوى_المحلي': 0.55, # 55% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي/مستورد', | |
'ملاحظات': 'متوفر محليًا وبجودة متفاوتة' | |
}, | |
'زجاج': { | |
'نسبة_المحتوى_المحلي': 0.65, # 65% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي/مستورد', | |
'ملاحظات': 'إنتاج محلي بمواصفات جيدة' | |
}, | |
'أسلاك كهربائية': { | |
'نسبة_المحتوى_المحلي': 0.85, # 85% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي', | |
'ملاحظات': 'تصنيع محلي بجودة عالية' | |
} | |
} | |
# محاولة تحميل البيانات من ملف إذا كان متاحًا | |
try: | |
file_path = os.path.join(config.DATA_DIR, 'local_products.csv') | |
if os.path.exists(file_path): | |
df = pd.read_csv(file_path, encoding='utf-8') | |
local_products = {} | |
for _, row in df.iterrows(): | |
local_products[row['اسم_المنتج']] = { | |
'نسبة_المحتوى_المحلي': row['نسبة_المحتوى_المحلي'], | |
'بديل_محلي': row['بديل_محلي'], | |
'مصدر': row['مصدر'], | |
'ملاحظات': row['ملاحظات'] | |
} | |
except Exception as e: | |
print(f"خطأ في تحميل بيانات المنتجات المحلية: {str(e)}") | |
return local_products | |
def _load_local_services(self): | |
"""تحميل بيانات الخدمات المحلية ونسب المحتوى المحلي""" | |
# محاكاة تحميل البيانات من مصدر بيانات | |
local_services = { | |
'تصميم معماري': { | |
'نسبة_المحتوى_المحلي': 0.90, # 90% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي', | |
'ملاحظات': 'متوفرة من مكاتب استشارية محلية' | |
}, | |
'إشراف هندسي': { | |
'نسبة_المحتوى_المحلي': 0.85, # 85% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي', | |
'ملاحظات': 'متوفر من شركات محلية' | |
}, | |
'خدمات تنسيق المواقع': { | |
'نسبة_المحتوى_المحلي': 0.80, # 80% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي', | |
'ملاحظات': 'شركات محلية متخصصة' | |
}, | |
'خدمات أمن وسلامة': { | |
'نسبة_المحتوى_المحلي': 0.95, # 95% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي', | |
'ملاحظات': 'شركات محلية متخصصة' | |
}, | |
'استشارات بيئية': { | |
'نسبة_المحتوى_المحلي': 0.65, # 65% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي/دولي', | |
'ملاحظات': 'متوفرة محليًا مع بعض الخبرات الأجنبية' | |
}, | |
'دراسات جدوى': { | |
'نسبة_المحتوى_المحلي': 0.70, # 70% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي/دولي', | |
'ملاحظات': 'متوفرة من مكاتب استشارية محلية' | |
}, | |
'خدمات نقل': { | |
'نسبة_المحتوى_المحلي': 0.90, # 90% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي', | |
'ملاحظات': 'شركات نقل محلية متعددة' | |
}, | |
'صيانة ونظافة': { | |
'نسبة_المحتوى_المحلي': 0.95, # 95% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي', | |
'ملاحظات': 'شركات محلية متخصصة' | |
} | |
} | |
# محاولة تحميل البيانات من ملف إذا كان متاحًا | |
try: | |
file_path = os.path.join(config.DATA_DIR, 'local_services.csv') | |
if os.path.exists(file_path): | |
df = pd.read_csv(file_path, encoding='utf-8') | |
local_services = {} | |
for _, row in df.iterrows(): | |
local_services[row['اسم_الخدمة']] = { | |
'نسبة_المحتوى_المحلي': row['نسبة_المحتوى_المحلي'], | |
'بديل_محلي': row['بديل_محلي'], | |
'مصدر': row['مصدر'], | |
'ملاحظات': row['ملاحظات'] | |
} | |
except Exception as e: | |
print(f"خطأ في تحميل بيانات الخدمات المحلية: {str(e)}") | |
return local_services | |
def _load_local_labor(self): | |
"""تحميل بيانات القوى العاملة المحلية ونسب المحتوى المحلي""" | |
# محاكاة تحميل البيانات من مصدر بيانات | |
local_labor = { | |
'عمال بناء': { | |
'نسبة_المحتوى_المحلي': 0.60, # 60% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي/أجنبي', | |
'ملاحظات': 'متوفر محليًا مع نسبة من العمالة الأجنبية' | |
}, | |
'مهندسون': { | |
'نسبة_المحتوى_المحلي': 0.75, # 75% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي/أجنبي', | |
'ملاحظات': 'كفاءات محلية متوفرة' | |
}, | |
'فنيون': { | |
'نسبة_المحتوى_المحلي': 0.65, # 65% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي/أجنبي', | |
'ملاحظات': 'متوفر محليًا بنسب متفاوتة' | |
}, | |
'إداريون': { | |
'نسبة_المحتوى_المحلي': 0.90, # 90% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي', | |
'ملاحظات': 'معظمهم من الكوادر المحلية' | |
}, | |
'مشرفون': { | |
'نسبة_المحتوى_المحلي': 0.80, # 80% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي', | |
'ملاحظات': 'معظمهم من الكوادر المحلية' | |
}, | |
'مصممون': { | |
'نسبة_المحتوى_المحلي': 0.70, # 70% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي/أجنبي', | |
'ملاحظات': 'كفاءات محلية مع بعض الخبرات الأجنبية' | |
}, | |
'عمال مهرة': { | |
'نسبة_المحتوى_المحلي': 0.55, # 55% محتوى محلي | |
'بديل_محلي': True, | |
'مصدر': 'محلي/أجنبي', | |
'ملاحظات': 'نسبة من العمالة الأجنبية ذات الخبرة' | |
} | |
} | |
# محاولة تحميل البيانات من ملف إذا كان متاحًا | |
try: | |
file_path = os.path.join(config.DATA_DIR, 'local_labor.csv') | |
if os.path.exists(file_path): | |
df = pd.read_csv(file_path, encoding='utf-8') | |
local_labor = {} | |
for _, row in df.iterrows(): | |
local_labor[row['فئة_العمالة']] = { | |
'نسبة_المحتوى_المحلي': row['نسبة_المحتوى_المحلي'], | |
'بديل_محلي': row['بديل_محلي'], | |
'مصدر': row['مصدر'], | |
'ملاحظات': row['ملاحظات'] | |
} | |
except Exception as e: | |
print(f"خطأ في تحميل بيانات القوى العاملة المحلية: {str(e)}") | |
return local_labor | |
def calculate_project_local_content(self, project_data): | |
""" | |
حساب نسبة المحتوى المحلي للمشروع | |
المعلمات: | |
project_data: بيانات المشروع، تتضمن مكونات المنتجات والخدمات والقوى العاملة | |
إرجاع: | |
نسبة المحتوى المحلي الإجمالية، وتفاصيل حسب كل مكون | |
""" | |
# تهيئة نتائج الحساب | |
results = { | |
'نسبة_المحتوى_المحلي_الإجمالية': 0, | |
'تفاصيل_المكونات': { | |
'المنتجات': {'نسبة': 0, 'تفاصيل': {}}, | |
'الخدمات': {'نسبة': 0, 'تفاصيل': {}}, | |
'القوى العاملة': {'نسبة': 0, 'تفاصيل': {}} | |
}, | |
'ملخص_المحتوى_المحلي': {}, | |
'توصيات_التحسين': [] | |
} | |
# حساب نسبة المحتوى المحلي للمنتجات | |
if 'المنتجات' in project_data: | |
products_local_content = self._calculate_products_local_content(project_data['المنتجات']) | |
results['تفاصيل_المكونات']['المنتجات'] = products_local_content | |
# حساب نسبة المحتوى المحلي للخدمات | |
if 'الخدمات' in project_data: | |
services_local_content = self._calculate_services_local_content(project_data['الخدمات']) | |
results['تفاصيل_المكونات']['الخدمات'] = services_local_content | |
# حساب نسبة المحتوى المحلي للقوى العاملة | |
if 'القوى العاملة' in project_data: | |
labor_local_content = self._calculate_labor_local_content(project_data['القوى العاملة']) | |
results['تفاصيل_المكونات']['القوى العاملة'] = labor_local_content | |
# حساب النسبة الإجمالية للمحتوى المحلي بناءً على الأوزان النسبية | |
total_local_content = 0 | |
for component, weight in self.component_weights.items(): | |
if component in results['تفاصيل_المكونات']: | |
component_percentage = results['تفاصيل_المكونات'][component]['نسبة'] | |
total_local_content += component_percentage * weight | |
results['نسبة_المحتوى_المحلي_الإجمالية'] = total_local_content | |
# تحديد ملخص المحتوى المحلي ومقارنته بالمستهدف | |
for component, target in self.targets.items(): | |
if component in results['تفاصيل_المكونات']: | |
actual = results['تفاصيل_المكونات'][component]['نسبة'] | |
status = 'مطابق' if actual >= target else 'غير مطابق' | |
gap = round((target - actual) * 100, 2) if actual < target else 0 | |
results['ملخص_المحتوى_المحلي'][component] = { | |
'المستهدف': target * 100, | |
'الفعلي': round(actual * 100, 2), | |
'الحالة': status, | |
'الفجوة (%)': gap | |
} | |
# توليد توصيات لتحسين نسبة المحتوى المحلي | |
results['توصيات_التحسين'] = self._generate_improvement_recommendations(results) | |
return results | |
def _calculate_products_local_content(self, products_data): | |
""" | |
حساب نسبة المحتوى المحلي للمنتجات | |
المعلمات: | |
products_data: بيانات المنتجات المستخدمة في المشروع | |
إرجاع: | |
تفاصيل نسبة المحتوى المحلي للمنتجات | |
""" | |
total_cost = 0 | |
local_content_value = 0 | |
details = {} | |
for product_name, product_info in products_data.items(): | |
quantity = product_info.get('الكمية', 0) | |
unit_price = product_info.get('سعر_الوحدة', 0) | |
total_product_cost = quantity * unit_price | |
# البحث عن نسبة المحتوى المحلي للمنتج | |
local_content_percentage = 0 | |
if product_name in self.local_products: | |
local_content_percentage = self.local_products[product_name]['نسبة_المحتوى_المحلي'] | |
# حساب قيمة المحتوى المحلي للمنتج | |
product_local_content_value = total_product_cost * local_content_percentage | |
# تحديث الإجماليات | |
total_cost += total_product_cost | |
local_content_value += product_local_content_value | |
# تسجيل التفاصيل | |
details[product_name] = { | |
'الكمية': quantity, | |
'سعر_الوحدة': unit_price, | |
'التكلفة_الإجمالية': total_product_cost, | |
'نسبة_المحتوى_المحلي': local_content_percentage, | |
'قيمة_المحتوى_المحلي': product_local_content_value, | |
'مصدر': self.local_products.get(product_name, {}).get('مصدر', 'غير معروف'), | |
'ملاحظات': self.local_products.get(product_name, {}).get('ملاحظات', '') | |
} | |
# حساب النسبة الإجمالية للمحتوى المحلي للمنتجات | |
local_content_percentage = local_content_value / total_cost if total_cost > 0 else 0 | |
return { | |
'نسبة': local_content_percentage, | |
'إجمالي_التكلفة': total_cost, | |
'قيمة_المحتوى_المحلي': local_content_value, | |
'تفاصيل': details | |
} | |
def _calculate_services_local_content(self, services_data): | |
""" | |
حساب نسبة المحتوى المحلي للخدمات | |
المعلمات: | |
services_data: بيانات الخدمات المستخدمة في المشروع | |
إرجاع: | |
تفاصيل نسبة المحتوى المحلي للخدمات | |
""" | |
total_cost = 0 | |
local_content_value = 0 | |
details = {} | |
for service_name, service_info in services_data.items(): | |
cost = service_info.get('التكلفة', 0) | |
# البحث عن نسبة المحتوى المحلي للخدمة | |
local_content_percentage = 0 | |
if service_name in self.local_services: | |
local_content_percentage = self.local_services[service_name]['نسبة_المحتوى_المحلي'] | |
# حساب قيمة المحتوى المحلي للخدمة | |
service_local_content_value = cost * local_content_percentage | |
# تحديث الإجماليات | |
total_cost += cost | |
local_content_value += service_local_content_value | |
# تسجيل التفاصيل | |
details[service_name] = { | |
'التكلفة': cost, | |
'نسبة_المحتوى_المحلي': local_content_percentage, | |
'قيمة_المحتوى_المحلي': service_local_content_value, | |
'مصدر': self.local_services.get(service_name, {}).get('مصدر', 'غير معروف'), | |
'ملاحظات': self.local_services.get(service_name, {}).get('ملاحظات', '') | |
} | |
# حساب النسبة الإجمالية للمحتوى المحلي للخدمات | |
local_content_percentage = local_content_value / total_cost if total_cost > 0 else 0 | |
return { | |
'نسبة': local_content_percentage, | |
'إجمالي_التكلفة': total_cost, | |
'قيمة_المحتوى_المحلي': local_content_value, | |
'تفاصيل': details | |
} | |
def _calculate_labor_local_content(self, labor_data): | |
""" | |
حساب نسبة المحتوى المحلي للقوى العاملة | |
المعلمات: | |
labor_data: بيانات القوى العاملة المستخدمة في المشروع | |
إرجاع: | |
تفاصيل نسبة المحتوى المحلي للقوى العاملة | |
""" | |
total_cost = 0 | |
local_content_value = 0 | |
details = {} | |
for labor_type, labor_info in labor_data.items(): | |
count = labor_info.get('العدد', 0) | |
monthly_salary = labor_info.get('الراتب_الشهري', 0) | |
duration_months = labor_info.get('المدة_بالأشهر', 0) | |
total_labor_cost = count * monthly_salary * duration_months | |
# البحث عن نسبة المحتوى المحلي للقوى العاملة | |
local_content_percentage = 0 | |
if labor_type in self.local_labor: | |
local_content_percentage = self.local_labor[labor_type]['نسبة_المحتوى_المحلي'] | |
# حساب قيمة المحتوى المحلي للقوى العاملة | |
labor_local_content_value = total_labor_cost * local_content_percentage | |
# تحديث الإجماليات | |
total_cost += total_labor_cost | |
local_content_value += labor_local_content_value | |
# تسجيل التفاصيل | |
details[labor_type] = { | |
'العدد': count, | |
'الراتب_الشهري': monthly_salary, | |
'المدة_بالأشهر': duration_months, | |
'التكلفة_الإجمالية': total_labor_cost, | |
'نسبة_المحتوى_المحلي': local_content_percentage, | |
'قيمة_المحتوى_المحلي': labor_local_content_value, | |
'مصدر': self.local_labor.get(labor_type, {}).get('مصدر', 'غير معروف'), | |
'ملاحظات': self.local_labor.get(labor_type, {}).get('ملاحظات', '') | |
} | |
# حساب النسبة الإجمالية للمحتوى المحلي للقوى العاملة | |
local_content_percentage = local_content_value / total_cost if total_cost > 0 else 0 | |
return { | |
'نسبة': local_content_percentage, | |
'إجمالي_التكلفة': total_cost, | |
'قيمة_المحتوى_المحلي': local_content_value, | |
'تفاصيل': details | |
} | |
def _generate_improvement_recommendations(self, results): | |
""" | |
توليد توصيات لتحسين نسبة المحتوى المحلي | |
المعلمات: | |
results: نتائج حساب المحتوى المحلي | |
إرجاع: | |
قائمة بالتوصيات لتحسين نسبة المحتوى المحلي | |
""" | |
recommendations = [] | |
# تحليل المكونات التي تحتاج إلى تحسين | |
for component, summary in results['ملخص_المحتوى_المحلي'].items(): | |
if summary['الحالة'] == 'غير مطابق': | |
if component == 'المنتجات': | |
# تحديد المنتجات ذات المحتوى المحلي المنخفض | |
low_content_products = [] | |
for product, details in results['تفاصيل_المكونات']['المنتجات']['تفاصيل'].items(): | |
if details['نسبة_المحتوى_المحلي'] < 0.5: # أقل من 50% | |
low_content_products.append({ | |
'اسم': product, | |
'نسبة_المحتوى_المحلي': details['نسبة_المحتوى_المحلي'], | |
'التكلفة_الإجمالية': details['التكلفة_الإجمالية'] | |
}) | |
elif component == 'الخدمات': | |
# تحديد البنود ذات المحتوى المحلي المنخفض | |
low_content_services = [] | |
for service, details in results['تفاصيل_المكونات']['الخدمات']['تفاصيل'].items(): | |
if details['نسبة_المحتوى_المحلي'] < 0.5: # أقل من 50% | |
low_content_services.append({ | |
'اسم': service, | |
'نسبة_المحتوى_المحلي': details['نسبة_المحتوى_المحلي'], | |
'التكلفة': details['التكلفة'] | |
}) | |
elif component == 'القوى العاملة': | |
# تحديد فئات العمالة ذات المحتوى المحلي المنخفض | |
low_content_labor = [] | |
for labor_type, details in results['تفاصيل_المكونات']['القوى العاملة']['تفاصيل'].items(): | |
if details['نسبة_المحتوى_المحلي'] < 0.5: # أقل من 50% | |
low_content_labor.append({ | |
'اسم': labor_type, | |
'نسبة_المحتوى_المحلي': details['نسبة_المحتوى_المحلي'], | |
'التكلفة_الإجمالية': details['التكلفة_الإجمالية'] | |
}) | |
# إنشاء توصيات لتحسين المحتوى المحلي | |
# توصيات للمنتجات | |
if 'المنتجات' in results['ملخص_المحتوى_المحلي'] and results['ملخص_المحتوى_المحلي']['المنتجات']['الحالة'] == 'غير مطابق': | |
low_content_products = [] | |
for product, details in results['تفاصيل_المكونات']['المنتجات']['تفاصيل'].items(): | |
if details['نسبة_المحتوى_المحلي'] < 0.5: | |
low_content_products.append({ | |
'اسم': product, | |
'نسبة_المحتوى_المحلي': details['نسبة_المحتوى_المحلي'] | |
}) | |
if low_content_products: | |
recommendations.append(f"استبدال المنتجات ذات المحتوى المحلي المنخفض: {', '.join([p['اسم'] for p in low_content_products[:3]])}") | |
recommendations.append("البحث عن موردين محليين للمنتجات ذات الأولوية العالية") | |
# توصيات للخدمات | |
if 'الخدمات' in results['ملخص_المحتوى_المحلي'] and results['ملخص_المحتوى_المحلي']['الخدمات']['الحالة'] == 'غير مطابق': | |
low_content_services = [] | |
for service, details in results['تفاصيل_المكونات']['الخدمات']['تفاصيل'].items(): | |
if details['نسبة_المحتوى_المحلي'] < 0.5: | |
low_content_services.append({ | |
'اسم': service, | |
'نسبة_المحتوى_المحلي': details['نسبة_المحتوى_المحلي'] | |
}) | |
if low_content_services: | |
recommendations.append(f"تحسين نسبة المحتوى المحلي للخدمات: {', '.join([s['اسم'] for s in low_content_services[:3]])}") | |
recommendations.append("التعاقد مع شركات خدمية محلية") | |
# توصيات للقوى العاملة | |
if 'القوى العاملة' in results['ملخص_المحتوى_المحلي'] and results['ملخص_المحتوى_المحلي']['القوى العاملة']['الحالة'] == 'غير مطابق': | |
low_content_labor = [] | |
for labor_type, details in results['تفاصيل_المكونات']['القوى العاملة']['تفاصيل'].items(): | |
if details['نسبة_المحتوى_المحلي'] < 0.5: | |
low_content_labor.append({ | |
'اسم': labor_type, | |
'نسبة_المحتوى_المحلي': details['نسبة_المحتوى_المحلي'] | |
}) | |
if low_content_labor: | |
recommendations.append(f"زيادة توظيف العمالة المحلية في الفئات: {', '.join([l['اسم'] for l in low_content_labor[:3]])}") | |
recommendations.append("الاستثمار في برامج تدريب وتأهيل الكوادر المحلية") | |
# توصيات عامة | |
if 'المنتجات' in results['ملخص_المحتوى_المحلي'] and results['ملخص_المحتوى_المحلي']['المنتجات'].get('الفجوة (%)', 0) > 10: | |
recommendations.append(f"خطة تطوير المحتوى المحلي للمنتجات لتقليل الفجوة البالغة {results['ملخص_المحتوى_المحلي']['المنتجات']['الفجوة (%)']}%") | |
if 'الخدمات' in results['ملخص_المحتوى_المحلي'] and results['ملخص_المحتوى_المحلي']['الخدمات'].get('الفجوة (%)', 0) > 10: | |
recommendations.append(f"خطة تطوير المحتوى المحلي للخدمات لتقليل الفجوة البالغة {results['ملخص_المحتوى_المحلي']['الخدمات']['الفجوة (%)']}%") | |
if 'القوى العاملة' in results['ملخص_المحتوى_المحلي'] and results['ملخص_المحتوى_المحلي']['القوى العاملة'].get('الفجوة (%)', 0) > 10: | |
recommendations.append(f"خطة تطوير المحتوى المحلي للقوى العاملة لتقليل الفجوة البالغة {results['ملخص_المحتوى_المحلي']['القوى العاملة']['الفجوة (%)']}%") | |
return recommendations |