#!/usr/bin/env python # -*- coding: utf-8 -*- """ نظام واهبي للذكاء الاصطناعي لتحليل العقود والمناقصات تطبيق Streamlit الرئيسي الذي يجمع جميع الوحدات والمكونات """ import os import sys import streamlit as st import pandas as pd import numpy as np # إعداد إعدادات الصفحة st.set_page_config( page_title="نظام WAHBi للذكاء الاصطناعي | التعاقدات والمناقصات", page_icon="📊", layout="wide", initial_sidebar_state="expanded" ) # إضافة CSS المخصص st.markdown(""" """, unsafe_allow_html=True) # استيراد المكونات والوحدات from utils.components.sidebar import render_sidebar from utils.helpers import create_directory_if_not_exists, get_data_folder # استيراد وحدات التطبيق from modules.pricing.pricing_app import PricingApp from modules.projects.projects_app import ProjectsApp from modules.resources.resources_app import ResourcesApp from modules.risk_assessment.risk_assessment_app import RiskAssessmentApp from modules.project_tracker.tracker_app import TrackerApp from modules.maps.maps_app import MapsApp from modules.notifications.notifications_app import NotificationsApp from modules.voice_narration.voice_narration_app import VoiceNarrationApp from modules.achievements.achievements_app import AchievementsApp from modules.ai_finetuning.finetuning_app import FinetuningApp from modules.document_comparison.comparison_app import DocumentComparisonApp # إنشاء مجلدات البيانات الضرورية create_directory_if_not_exists(get_data_folder()) create_directory_if_not_exists(os.path.join(get_data_folder(), "projects")) create_directory_if_not_exists(os.path.join(get_data_folder(), "documents")) create_directory_if_not_exists(os.path.join(get_data_folder(), "analysis")) def main(): """الدالة الرئيسية للتطبيق""" # تقديم الشريط الجانبي وتلقي الوحدة المختارة selected_module = render_sidebar() # إذا كان المستخدم غير مصرح له، قم بإظهار شاشة تسجيل الدخول if "is_authenticated" in st.session_state and not st.session_state.is_authenticated: render_login_screen() return # إظهار الوحدة المختارة if selected_module == "الرئيسية": render_homepage() elif selected_module == "إدارة المشاريع": projects_app = ProjectsApp() projects_app.render() elif selected_module == "التسعير المتكاملة": pricing_app = PricingApp() pricing_app.render() elif selected_module == "الموارد والتكاليف": resources_app = ResourcesApp() resources_app.render() elif selected_module == "تحليل المستندات": # تقديم واجهة تحليل المستندات render_document_analysis() elif selected_module == "مقارنة المستندات": # تقديم واجهة مقارنة المستندات comparison_app = DocumentComparisonApp() comparison_app.render() elif selected_module == "تقييم مخاطر العقود": risk_app = RiskAssessmentApp() risk_app.render() elif selected_module == "التقارير والتحليلات": # تقديم واجهة التقارير والتحليلات render_reports_and_analytics() elif selected_module == "متتبع حالة المشروع": tracker_app = TrackerApp() tracker_app.render() elif selected_module == "خريطة المشاريع": maps_app = MapsApp() maps_app.render() elif selected_module == "نظام الإشعارات": notifications_app = NotificationsApp() notifications_app.render() elif selected_module == "الترجمة الصوتية": voice_app = VoiceNarrationApp() voice_app.render() elif selected_module == "نظام الإنجازات": achievements_app = AchievementsApp() achievements_app.render() elif selected_module == "المساعد الذكي": # تقديم واجهة المساعد الذكي render_ai_assistant() elif selected_module == "ضبط نماذج الذكاء الاصطناعي": finetuning_app = FinetuningApp() finetuning_app.render() else: st.error("الوحدة المطلوبة غير موجودة") def render_login_screen(): """عرض شاشة تسجيل الدخول""" st.markdown("

نظام WAHBi للذكاء الاصطناعي

", unsafe_allow_html=True) st.markdown("""

تسجيل الدخول

يرجى إدخال بيانات الاعتماد الخاصة بك للوصول إلى النظام.

""", unsafe_allow_html=True) col1, col2, col3 = st.columns([1, 2, 1]) with col2: username = st.text_input("اسم المستخدم") password = st.text_input("كلمة المرور", type="password") if st.button("تسجيل الدخول"): # تنفيذ منطق المصادقة if username == "admin" and password == "admin": # بيانات اعتماد مؤقتة للتطوير st.session_state.is_authenticated = True st.session_state.user_info = { "id": 1, "username": "admin", "full_name": "مدير النظام", "email": "admin@example.com", "role": "مدير", "department": "الإدارة", "last_login": "2023-01-01 09:00:00" } st.rerun() else: st.error("اسم المستخدم أو كلمة المرور غير صحيحة") st.markdown("""

نظام WAHBi للذكاء الاصطناعي © 2025 شركة شبه الجزيرة للمقاولات

جميع الحقوق محفوظة

""", unsafe_allow_html=True) def render_homepage(): """عرض الصفحة الرئيسية للتطبيق""" st.markdown("

نظام WAHBi للذكاء الاصطناعي

", unsafe_allow_html=True) st.markdown("
نظام متكامل لتحليل العقود والمناقصات باستخدام تقنيات الذكاء الاصطناعي المتقدمة
", unsafe_allow_html=True) # عرض مؤشرات الأداء الرئيسية col1, col2, col3, col4 = st.columns(4) with col1: st.markdown("""
24
المناقصات النشطة
""", unsafe_allow_html=True) with col2: st.markdown("""
8
مشاريع قيد التنفيذ
""", unsafe_allow_html=True) with col3: st.markdown("""
12
مستندات قيد التحليل
""", unsafe_allow_html=True) with col4: st.markdown("""
5
تنبيهات تتطلب الاهتمام
""", unsafe_allow_html=True) # عرض المشاريع الأخيرة والوصول السريع col1, col2 = st.columns([2, 1]) with col1: st.markdown("### المناقصات الأخيرة") st.markdown("""
إنشاء طريق سريع بمنطقة الرياض
رقم المناقصة: TR-2025-134
الجهة المالكة: وزارة النقل
تاريخ الإغلاق: 15 أبريل 2025
85%
نسبة الإنجاز
متوسطة
المخاطر
مرتفعة
الأولوية
تطوير شبكة الصرف الصحي بالمنطقة الشرقية
رقم المناقصة: WS-2025-089
الجهة المالكة: وزارة المياه
تاريخ الإغلاق: 22 أبريل 2025
62%
نسبة الإنجاز
مرتفعة
المخاطر
مرتفعة
الأولوية
بناء 3 مدارس بمنطقة مكة المكرمة
رقم المناقصة: ED-2025-112
الجهة المالكة: وزارة التعليم
تاريخ الإغلاق: 5 مايو 2025
38%
نسبة الإنجاز
منخفضة
المخاطر
متوسطة
الأولوية
""", unsafe_allow_html=True) with col2: st.markdown("### الوصول السريع") st.markdown("""
""", unsafe_allow_html=True) st.markdown("### آخر التنبيهات") st.markdown("""
انتهاء موعد تقديم المناقصة
مشروع إنشاء الطريق السريع - متبقي 3 أيام
تغيير في شروط المناقصة
تم تحديث مستندات مشروع شبكة الصرف الصحي
إكمال تحليل المستند
اكتمل تحليل عقد بناء المدارس بنجاح
""", unsafe_allow_html=True) # معلومات حول النظام st.markdown("---") st.markdown("""

حول النظام

نظام WAHBi للذكاء الاصطناعي هو نظام متكامل لتحليل العقود والمناقصات وإدارة المشاريع، مصمم خصيصاً لشركات المقاولات والبناء. يستخدم النظام تقنيات الذكاء الاصطناعي المتقدمة لتحليل المستندات واستخراج المعلومات المهمة وتقييم المخاطر ودعم اتخاذ القرار.

""", unsafe_allow_html=True) # معلومات الشركة st.markdown("""

هذا النظام يعمل لشركة شبه الجزيرة للمقاولات

جميع الحقوق محفوظة 2025

""", unsafe_allow_html=True) def render_document_analysis(): """عرض واجهة تحليل المستندات""" st.markdown("

تحليل المستندات

", unsafe_allow_html=True) st.markdown("""

استخدم هذه الوحدة لتحليل مستندات العقود والمناقصات باستخدام تقنيات الذكاء الاصطناعي المتقدمة. يمكنك تحميل المستندات بتنسيقات PDF أو Word وسيقوم النظام بتحليلها واستخراج المعلومات المهمة مثل الشروط والتكاليف والمخاطر والتزاماتك كمقاول.

""", unsafe_allow_html=True) # أدوات التحليل st.markdown("### أدوات التحليل") col1, col2, col3 = st.columns(3) with col1: st.markdown("""
تحليل العقد الشامل

تحليل شامل للعقد باستخدام Claude AI لاستخراج جميع البنود والشروط والالتزامات والمواعيد النهائية.

""", unsafe_allow_html=True) with col2: st.markdown("""
تحليل جداول الكميات

تحليل متخصص لجداول الكميات (BOQ) لاستخراج قوائم المواد والكميات والأسعار والتكاليف الإجمالية.

""", unsafe_allow_html=True) with col3: st.markdown("""
تحليل الشروط والأحكام

تحليل متخصص للشروط والأحكام في العقد لتحديد الشروط الغير عادية أو المقيدة والمخاطر القانونية.

""", unsafe_allow_html=True) # التحليلات الأخيرة st.markdown("### التحليلات الأخيرة") st.markdown("""
اسم المستند نوع التحليل تاريخ التحليل الحالة الإجراءات
عقد إنشاء طريق سريع.pdf تحليل شامل 2023-03-25 مكتمل
جداول كميات مشروع صرف صحي.xlsx تحليل جداول الكميات 2023-03-23 مكتمل
شروط وأحكام عقد بناء مدارس.pdf تحليل الشروط والأحكام 2023-03-20 مكتمل
ملحق عقد مشروع كباري.pdf تحليل شامل 2023-03-18 قيد المعالجة
""", unsafe_allow_html=True) # إحصائيات التحليل st.markdown("### إحصائيات التحليل") col1, col2 = st.columns(2) with col1: st.markdown("""

توزيع أنواع المستندات

عقود ومناقصات 45%
جداول كميات 30%
شروط وأحكام 15%
مستندات أخرى 10%
""", unsafe_allow_html=True) with col2: st.markdown("""

إحصائيات التحليل الشهرية

42
مستند تم تحليله
38
تحليل ناجح
4
تحليل غير مكتمل

متوسط وقت المعالجة

تحليل شامل:
2:30
جداول الكميات:
1:45
الشروط والأحكام:
2:00
""", unsafe_allow_html=True) def render_reports_and_analytics(): """عرض واجهة التقارير والتحليلات""" st.markdown("

التقارير والتحليلات

", unsafe_allow_html=True) st.markdown("""

استخدم هذه الوحدة لإنشاء تقارير تحليلية متقدمة عن المشاريع والمناقصات والأداء العام. يوفر النظام رؤى وتحليلات متعمقة تساعدك على فهم أداء مشاريعك وتحسين عمليات صنع القرار.

""", unsafe_allow_html=True) # أنواع التقارير st.markdown("### أنواع التقارير") col1, col2, col3 = st.columns(3) with col1: st.markdown("""
تقارير المشاريع

تقارير تفصيلية عن حالة المشاريع وتقدمها ومؤشرات الأداء الرئيسية والمشكلات المحتملة.

""", unsafe_allow_html=True) with col2: st.markdown("""
تقارير الأداء المالي

تحليل مالي للمشاريع يتضمن الإيرادات والتكاليف والأرباح والتدفقات النقدية والانحرافات عن الميزانية.

""", unsafe_allow_html=True) with col3: st.markdown("""
تقارير المناقصات

تحليل شامل للمناقصات النشطة والمنتهية ونسب الفوز والمنافسين ومقارنة الأسعار.

""", unsafe_allow_html=True) # لوحة البيانات st.markdown("### لوحة البيانات التنفيذية") col1, col2 = st.columns([2, 1]) with col1: st.markdown("""

أداء المشاريع حسب القطاع

""", unsafe_allow_html=True) with col2: st.markdown("""

المؤشرات الرئيسية

نسبة المشاريع المتأخرة 15%
متوسط هامش الربح 22%
معدل نجاح المناقصات 35%
""", unsafe_allow_html=True) # تقارير الأداء st.markdown("### تقارير الأداء الأخيرة") st.markdown("""

التقرير الشهري لمشاريع الربع الأول 2025

تقرير شامل يوضح أداء جميع المشاريع النشطة خلال الربع الأول من عام 2025، بما في ذلك تحليل التكاليف والجدول الزمني والمخاطر.

تاريخ الإنشاء: 15 مارس 2025

تحليل أداء المناقصات 2024-2025

تحليل مقارن لنتائج المناقصات بين عامي 2024 و 2025، يوضح التحسن في معدلات النجاح وتحليل أسباب الخسارة وفرص التحسين.

تاريخ الإنشاء: 28 فبراير 2025

تقرير المخاطر المالية للمشاريع الجارية

تقرير تفصيلي حول المخاطر المالية للمشاريع الجارية، بما في ذلك تحليل التدفقات النقدية والمستحقات المتأخرة والمطالبات المحتملة.

تاريخ الإنشاء: 10 فبراير 2025
""", unsafe_allow_html=True) def render_ai_assistant(): """عرض واجهة المساعد الذكي""" st.markdown("

المساعد الذكي

", unsafe_allow_html=True) st.markdown("""

المساعد الذكي هو واجهة تفاعلية مدعومة بتقنيات الذكاء الاصطناعي لمساعدتك في جميع أنشطة إدارة المشاريع والعقود. يمكنك طرح أسئلة بلغتك الطبيعية والحصول على إجابات فورية، أو طلب مساعدة في مهام محددة مثل تحليل بنود العقد أو تقدير التكاليف.

""", unsafe_allow_html=True) # واجهة المحادثة st.markdown("### تحدث مع المساعد الذكي") st.markdown("""
W
مساعد WAHBi
مرحباً! أنا المساعد الذكي الخاص بنظام WAHBi. كيف يمكنني مساعدتك اليوم؟
أنت
كيف يمكنني تحليل شروط الدفع في عقد جديد؟
أ
W
مساعد WAHBi
لتحليل شروط الدفع في عقد جديد، يمكنك اتباع الخطوات التالية:
  1. انتقل إلى وحدة "تحليل المستندات" من القائمة الجانبية
  2. اختر "تحليل العقد الشامل" أو "تحليل الشروط والأحكام"
  3. قم بتحميل ملف العقد بتنسيق PDF أو Word
  4. حدد خيار "شروط الدفع" في إعدادات التحليل
  5. انقر على زر "تحليل" وانتظر النتائج
سيقوم النظام باستخراج جميع شروط الدفع من العقد، بما في ذلك المبالغ والمواعيد وشروط الاستحقاق والضمانات المطلوبة. هل ترغب في البدء في هذا التحليل الآن؟
""", unsafe_allow_html=True) # إدخال أسئلة جديدة st.markdown("""
""", unsafe_allow_html=True) # اقتراحات المساعد الذكي st.markdown("### اقتراحات المساعد الذكي") col1, col2, col3 = st.columns(3) with col1: st.markdown("""
تحليل عقد جديد

تحليل شامل لمستند عقد جديد لاستخراج البنود والشروط الهامة والمخاطر المحتملة

""", unsafe_allow_html=True) with col2: st.markdown("""
تقدير تكاليف مشروع

الحصول على مساعدة في تقدير تكاليف مشروع جديد بناءً على بيانات المشاريع السابقة

""", unsafe_allow_html=True) with col3: st.markdown("""
تحليل المخاطر

تحليل المخاطر المحتملة في مشروع أو عقد وتقديم توصيات للتخفيف منها

""", unsafe_allow_html=True) # تشغيل التطبيق عند تنفيذ الملف مباشرة if __name__ == "__main__": main()