Maximo Project คือโปรแกรมตรวจสอบและจัดทำข้อมูลงานบำรุงรักษาแบบหยุดตามวาระในรูปแบบใหม่ โดยผสานระบบบริหารจัดการงานบำรุงรักษาด้วยคอมพิวเตอร์ (CMMS) เพื่อให้กระบวนการจัดทำข้อมูลมีความถูกต้อง โปร่งใส และรวดเร็ว
- Maximo Project
- ⚙️ เกริ่นนำ
- 🌟 ฟีเจอร์หลัก
- 📋 สิ่งที่ต้องเตรียม
- 🔧 การติดตั้ง
- 🚀 การใช้งาน
- 🗂️ โครงสร้างโปรเจกต์
- 🤝 การมีส่วนร่วม
- 📜 License
- 📚 เอกสารอ้างอิง
โปรเจกต์นี้ออกแบบมาเพื่อแก้ปัญหาความซับซ้อนและข้อผิดพลาดในกระบวนการจัดทำ:
- Job Plan Task (ใบงานงาน)
- Job Plan Labor (ใบงานค่าแรง)
- PM Plan (แผนบำรุงรักษาตามวาระ)
โดยข้อมูลจะถูกจัดทำเป็นไฟล์ Excel Macro-Enabled Workbook ที่สามารถใช้งานร่วมกับ MxLoader (v8.4.2) ได้อย่างมีประสิทธิภาพ ซึ่งช่วยสนับสนุนการดำเนินงานในโรงไฟฟ้าให้มีความปลอดภัยและพร้อมจ่ายไฟฟ้าได้รวดเร็ว
-
Data Validation
ตรวจสอบและกลั่นกรองข้อมูลก่อนสร้างใบงาน ลดข้อผิดพลาดและเพิ่มความถูกต้อง -
MxLoader Template Generation
สร้างไฟล์ Excel Macro-Enabled สำหรับนำเข้าข้อมูลสู่ระบบ Maximo อย่างครบถ้วน -
Job Plan & PM Plan Management
จัดกลุ่มใบงาน (Job Plan Task, Job Plan Labor) และสร้าง PM Plan ด้วยวิธีที่มีประสิทธิภาพ -
Responsive UI Development
พัฒนา Frontend ทันสมัยด้วย Tailwind CSS, Flowbite และ jQuery -
Robust Backend
ใช้ Django 5.1 ผสานกับ Pandas, NumPy, OpenPyXL เพื่อประมวลผลข้อมูล Excel และจัดการไฟล์ -
Background Task Processing
รันงาน background (เช่น การลบไฟล์เก่า)
-
Node.js (เวอร์ชัน LTS)
ดาวน์โหลด Node.js -
Python (เวอร์ชัน 3.10 ขึ้นไป)
ดาวน์โหลด Python
git clone https://github.com/naravid19/maximo_project.git
cd maximo_projectpip install -r requirements.txtnpm install-
คอมไพล์ครั้งเดียว
npm run build
-
คอมไพล์แบบเรียลไทม์
npm run watch
หมายเหตุ: สำหรับ production ควรรันคำสั่ง
python manage.py collectstatic --noinputเพื่อรวบรวมไฟล์ static ไว้ในโฟลเดอร์ที่กำหนด
python manage.py runserverเปิดเว็บแอปที่ http://localhost:8000
เพื่อให้ task ทำงาน (เช่น ลบไฟล์เก่า) ต้องรันคำสั่ง:
python manage.py process_tasksใน production คุณสามารถใช้ process manager (เช่น Supervisor หรือ systemd) เพื่อให้คำสั่งนี้ทำงานตลอดเวลา
maximo_project/
│
├── manage.py
├── requirements.txt
│
├── maximo_app/
│ ├── models.py # โครงสร้างฐานข้อมูล
│ ├── views.py # ฟังก์ชันจัดการและประมวลผลข้อมูล
│ ├── forms.py # ฟอร์มรับข้อมูลผู้ใช้
│ ├── urls.py # URL และ API สำหรับ AJAX
│ ├── tasks.py # งาน background (เช่น ลบไฟล์เก่า)
│ └── templates/
│ └── maximo_app/
│ └── upload_form.html
│
├── static/
│ ├── js/ # ไฟล์ JavaScript (all-code.js, ajax-*.js, grouping.js, upload-loading.js, etc.)
│ └── src/ # Tailwind CSS input/output
│
├── package.json # การตั้งค่า Node.js และ Tailwind CSS
├── tailwind.config.js # กำหนดค่า Tailwind CSS
└── README.md
นักพัฒนาที่สนใจสามารถ:
- Fork โปรเจกต์นี้และส่ง Pull Request เพื่อเพิ่มฟีเจอร์หรือแก้ไขบั๊ก
- เปิด Issue หากพบปัญหาหรือมีข้อเสนอแนะ
โปรเจกต์นี้ใช้ MIT License ดูรายละเอียดเพิ่มเติมในไฟล์ LICENSE
- Django Documentation: https://docs.djangoproject.com/
- Tailwind CSS Documentation: https://tailwindcss.com/docs
- Flowbite Documentation: https://flowbite.com/docs
- Pandas Documentation: https://pandas.pydata.org/docs/
