- معرفی سیستم
- ویژگیهای اصلی
- پیشنیازها
- نصب و راهاندازی
- ساختار پروژه
- راهنمای کاربری
- نقشهای کاربری
- عیبیابی
CMMS یک سیستم جامع مدیریت نگهداری و تعمیرات است که با Flask و PostgreSQL ساخته شده و برای محیطهای صنعتی طراحی شده است. این سیستم کل چرخه عمر تجهیزات را از برنامهریزی تا اجرا و تأیید پوشش میدهد.
| آیتم | تعداد |
|---|---|
| جداول دیتابیس | ۱۰+ |
| مسیرهای API | ۲۰+ |
| قالبهای HTML | ۸۰+ |
| فرمهای PDF | ۶۸ |
| قالبهای چکلیست PM | ۶۷ |
| تجهیزات ثبتشده | ۴۳ |
| آیتمهای چکلیست | ۴۳۲ |
- ۶۷ قالب آماده استفاده
- ۲۸ قالب سرویس برقی
- ۳۹ قالب سرویس مکانیکی
- گردش کار کامل: تخصیص ← اجرا ← تأیید
- امضای دیجیتال و آپلود فایل
- ردیابی نقصها و ایجاد دستور کار
- صدور PDF و Excel
- برنامهریزی و اولویتبندی وظایف
- تخصیص به کاربران با تاریخ مهلت
- نمای تقویمی (شمسی)
- رابط تخصیص کار
- ایجاد، پیگیری و بستن دستورات کار
- اولویتبندی و دستهبندی
- گزارشگیری کامل
- پیگیری قبوض برق و گاز
- گزارشهای مصرف ماهانه
- تحلیل روند
- سیستم دسترسی چندسطحی
- مدیریت گروههای کاری
- گزارش عملکرد کارکنان
- ثبت هزینههای جاری
- پیگیری قطعات و موجودی
- گزارش هزینهها
- قابل نصب روی موبایل
- اعلانهای Push
- رابط کاربری واکنشگرا (RTL فارسی)
| نرمافزار | نسخه حداقل | لینک دانلود |
|---|---|---|
| Python | 3.10+ | python.org |
| PostgreSQL | 15+ | postgresql.org |
توجه: هنگام نصب Python، گزینه "Add Python to PATH" را فعال کنید.
مرحله ۱ — Python و PostgreSQL را نصب کنید
مرحله ۲ — اسکریپت نصب خودکار را اجرا کنید:
SETUP.batمرحله ۳ — برنامه را اجرا کنید:
RUN.batمرحله ۴ — در مرورگر باز کنید:
http://127.0.0.1:5000
python -m venv venv
venv\Scripts\activate # Windows
source venv/bin/activate # Linux/Mac
pip install -r requirements.txtفایل config.py را باز کرده و مقادیر زیر را تنظیم کنید:
POSTGRESQL_CONFIG = {
'host': '127.0.0.1',
'port': '5432',
'database': 'cmms_db',
'user': 'postgres',
'password': 'YOUR_PASSWORD', # رمز عبور PostgreSQL خود را وارد کنید
}python main1.py db init
python main1.py db migrate
python main1.py db upgradepython import_pm_checklists.py # قالبهای چکلیست
python add_sample_data.py # دادههای نمونه (اختیاری)python main1.pyبرای انتقال پروژه به سیستم دیگر، فایلهای زیر الزامی هستند:
├── main1.py # فایل اصلی برنامه
├── config.py # تنظیمات دیتابیس
├── requirements.txt # لیست پکیجها
├── templates/ # قالبهای HTML
├── static/ # فایلهای استاتیک
└── backups/ # بکاپ دیتابیس
پوشه
venvوinstanceرا منتقل نکنید — روی سیستم جدید ایجاد خواهند شد.
برای وارد کردن دیتابیس:
python import_database.pycmms/
├── main1.py # فایل اصلی Flask — همه Route ها
├── config.py # تنظیمات دیتابیس و برنامه
├── requirements.txt # وابستگیهای Python
│
├── templates/ # قالبهای Jinja2
│ ├── base.html # قالب پایه (RTL، فارسی)
│ ├── dashboard.html # داشبورد اصلی
│ ├── work_orders/ # دستور کار
│ ├── pm/ # نگهداری پیشگیرانه
│ ├── equipment/ # تجهیزات
│ ├── scheduling/ # برنامهریزی
│ └── ...
│
├── static/ # فایلهای استاتیک
│ ├── css/ # استایلها
│ ├── js/ # JavaScript
│ ├── fonts/ # فونتهای فارسی (Vazir, IRANSans)
│ └── icons/ # آیکونهای PWA
│
├── 108-چک لیست سرویس برقی/ # فرمهای PDF برق
├── 119-چک لیست سرویس مکانیکی/ # فرمهای PDF مکانیک
├── 125-126-چک لیست لیفتراک/ # فرمهای PDF لیفتراک
│
├── backups/ # بکاپهای دیتابیس
├── deploy/ # تنظیمات استقرار
│
├── SETUP.bat # نصب خودکار (Windows)
├── RUN.bat # اجرای برنامه (Windows)
└── CHANGE_DB_PASSWORD.bat # تغییر رمز دیتابیس
پس از اجرا، مرورگر را به آدرس زیر بروید:
http://localhost:5000
| بخش | آدرس | توضیح |
|---|---|---|
| داشبورد | / |
نمای کلی سیستم |
| چکلیست PM | /pm/checklists |
نگهداری پیشگیرانه |
| دستور کار | /work-orders |
مدیریت دستورات |
| تجهیزات | /equipment |
لیست تجهیزات |
| برنامهریزی | /task-scheduling |
زمانبندی وظایف |
| تقویم | /schedule-work |
نمای تقویمی |
| انرژی | /energy-bills |
قبوض انرژی |
| کاربران | /users |
مدیریت کاربران |
| گزارشها | /reports |
گزارشگیری |
| نقش | دسترسی |
|---|---|
| Admin | دسترسی کامل به همه بخشها |
| userpro (برنامهریز) | تخصیص چکلیست، برنامهریزی وظایف |
| userspe (سرپرست) | تأیید/رد چکلیستهای اجراشده |
| Technician (تکنسین) | اجرای چکلیستهای تخصیصیافته |
برنامهریز (userpro)
↓ تخصیص چکلیست
تکنسین
↓ اجرا و امضا
سرپرست (userspe)
↓ بررسی
تأیید ✓ یا رد ✗
PostgreSQL User: postgres
PostgreSQL Password: CmmsSecure2024
مهم: پس از اولین نصب، رمز عبور را تغییر دهید.
برای تغییر:CHANGE_DB_PASSWORD.batرا اجرا کنید.
# بررسی صحت نصب
python verify_pm_installation.py
# ایجاد مجدد جداول PM
python create_pm_checklist_tables.py
# وارد کردن مجدد قالبهای PM
python import_pm_checklists.py
# ایجاد جداول زمانبندی
python create_scheduling_tables.py→ Python را از python.org نصب کنید
→ گزینه "Add Python to PATH" را فعال کنید
→ PostgreSQL را نصب کنید
→ سرویس PostgreSQL باید در حال اجرا باشد
→ آیا سرویس PostgreSQL در حال اجراست؟
→ آیا رمز عبور صحیح است؟ (CHANGE_DB_PASSWORD.bat)
→ فایل config.py را بررسی کنید
pip install -r requirements.txt# در config.py تغییر دهید:
PORT = 5001| پکیج | نسخه | کاربرد |
|---|---|---|
| Flask | 3.1.2 | فریمورک وب |
| Flask-SQLAlchemy | 3.1.1 | ORM دیتابیس |
| Flask-Login | 0.6.3 | احراز هویت |
| psycopg2-binary | 2.9+ | درایور PostgreSQL |
| pandas | 2.0+ | پردازش داده |
| openpyxl | 3.1+ | Excel |
| persiantools | 4.0+ | تاریخ شمسی |
| pywebpush | 1.14+ | اعلانهای Push |
pip install gunicorn gevent
gunicorn -w 4 -b 0.0.0.0:5000 main1:appdocker build -t cmms .
docker run -p 5000:5000 --env-file .env cmmsپوشه deploy/ شامل فایلهای پیکربندی Nginx، systemd service و Docker است.
| فایل | محتوا |
|---|---|
INSTALLATION_GUIDE.md |
راهنمای نصب تفصیلی |
PM_USER_GUIDE.md |
راهنمای کامل سیستم PM |
PM_QUICK_START.md |
شروع سریع PM |
CHARTS_GUIDE.md |
راهنمای نمودارها |
ADMIN_LOGIN_GUIDE.md |
راهنمای مدیر سیستم |
EQUIPMENT_SERVICE_WORKFLOW.md |
گردش کار سرویس تجهیزات |
MICROSERVICES_MIGRATION_GUIDE.md |
راهنمای مهاجرت |
PWA_GUIDE.md |
راهنمای PWA |
ساخته شده با ❤️ برای صنایع ایران
Version 63 | نسخه ۶۳ | آخرین بهروزرسانی: ۱۴۰۴