11 KiB
MASTER_PROMPT.md - Enterprise Procurement, Asset & Software Lifecycle Management System (Version 3.0)
1. บทนำ (Introduction)
ระบบนี้คือ Enterprise Procurement, Asset & Software Lifecycle Management System สำหรับโรงพยาบาลและองค์กรขนาดใหญ่ ครอบคลุมการวางแผนงบประมาณ การจัดซื้อวัสดุ-ครุภัณฑ์ การบริหารซอฟต์แวร์แบบครบวงจร การบริหารสัญญาบำรุงรักษา (MA) และการติดตามสถานะ รวมถึง Audit Log ระดับฟิลด์ ระบบนี้จะต้องถูกพัฒนาในรูปแบบ Modern Web Application (PWA) และรองรับการขยายตัวเพื่อเชื่อมต่อกับ HIS, ERP, และ e-GP ในอนาคต
2. ข้อมูลทางเทคนิค (Tech Stack & Architecture)
- Backend: PHP 8.1+ (ใช้โครงสร้าง MVC หรือ Framework เช่น Laravel)
- Frontend: Bootstrap 5.3, HTML5, CSS3, JavaScript (ES6+), PWA
- Database: MySQL 8.0+
- Architecture: MVC (Model-View-Controller) รองรับ REST API
3. สารบัญโมดูลหลัก (Core Modules)
3.1. ระบบปีงบประมาณ (Budget Year System)
- รองรับการตั้งค่าปีงบประมาณและรอบการจัดซื้อ
- สามารถ คัดลอกแผนจัดซื้อจากปีงบประมาณเดิมไปยังปีใหม่ ได้อย่างสมบูรณ์ เพื่อลดภาระการคีย์ข้อมูลซ้ำ
3.2. ระบบแผนจัดซื้อวัสดุและครุภัณฑ์ (Procurement Planning)
- แบ่งแยกประเภทวัสดุ ครุภัณฑ์ และซอฟต์แวร์ ได้อย่างชัดเจน
- รองรับ Multi-Hospital หรือหลายหน่วยงานในระบบเดียว
3.3. ระบบ Workflow ที่กำหนดเองได้ (Customizable Workflow)
- ผู้ดูแลระบบสามารถตั้งค่า Status Workflow สำหรับการขออนุมัติ การสั่งซื้อ การรับของ ได้ตามรูปแบบองค์กร
- มี Status Timeline และ History เพื่อติดตามความคืบหน้าของแต่ละคำขอ
3.4. ระบบบริหารวงจรชีวิตซอฟต์แวร์ (Software License Management)
เมื่อเลือกประเภทการจัดซื้อเป็น ซอฟต์แวร์ (Software) จะต้องให้ระบุประเภท:
- ซื้อขาด (Perpetual License):
- ไม่มีการสร้างข้อมูลติดตามการต่ออายุ (ไม่มีแจ้งเตือนหมดอายุรายปี)
- กำหนดวันรับประกัน (Warranty) ได้
- บันทึกค่าบำรุงรักษา (Maintenance Agreement - MA) แยกได้ และผูก MA กับ License ในภายหลังได้
- เช่าใช้/ต่ออายุ (Subscription / Annual License):
- ระบบดึงข้อมูลอัตโนมัติ: เมื่อตั้งสถานะจัดซื้อสำเร็จ ข้อมูลจะถูกนำเข้าสู่โมดูล License อัตโนมัติ (ไม่ต้องคีย์ซ้ำ)
- ข้อมูลที่บันทึก ได้แก่ รหัส, ชื่อซอฟต์แวร์, Vendor, Version, License Type, หน่วยงาน, ผู้รับผิดชอบ, ราคา, วันที่ซื้อ, วันเริ่มใช้งาน, วันหมดอายุ, จำนวน License
- รูปแบบการต่ออายุ (Renewal Cycle): เลือกได้ว่าจะต่อ 1 ปี, 2 ปี, 3 ปี, 4 ปี, 5 ปี หรือกำหนดเอง (Custom)
- การเปลี่ยนรอบการต่ออายุ: สามารถเปลี่ยนรอบในอนาคตได้ (เช่น จาก 1 ปีเปลี่ยนเป็น 3 ปี) ระบบต้องคำนวณวันหมดอายุใหม่ตามรอบล่าสุดอัตโนมัติ
- ประวัติการต่ออายุ (Renewal History): เก็บประวัติทุกครั้งที่เกิดการต่ออายุหรือเปลี่ยนแปลงรอบ พร้อมทั้ง Audit Log เก็บค่าเก่า (Old Value) / ค่าใหม่ (New Value)
- ระบบต่ออายุอัตโนมัติ (Auto-renewal log): กดต่ออายุเพียงคลิกเดียว ระบบจะคำนวณวันหมดอายุใหม่ ตั้งรอบแจ้งเตือน อัปเดต Dashboard และบันทึกประวัติทันที
3.5. Dashboard และ Analytics
- แดชบอร์ดแสดงสรุปแผนการจัดซื้อ, วัสดุ, ครุภัณฑ์
- Software Dashboard: แยกกราฟสถิติ License ซื้อขาด vs. Subscription, สถานะการต่ออายุ (ใกล้หมดอายุ, หมดอายุแล้ว, ต่ออายุแล้ว) จัดกลุ่มตามรอบระยะเวลาการต่ออายุ (1-5 ปี)
3.6. ระบบแจ้งเตือน (Notifications)
- ดึงข้อมูลอ้างอิงจาก วันหมดอายุล่าสุด + รอบการต่ออายุปัจจุบัน
- ส่งการแจ้งเตือนล่วงหน้าได้ตามตั้งค่า (เช่น 90 วัน, 60 วัน, 30 วัน)
- รองรับหลายช่องทาง: ในระบบ (In-App), Email, LINE Notify, Telegram
3.7. Audit Log และ Change History แบบละเอียด (Field-level)
- บันทึก ทุกการกระทำ ที่เกิดขึ้นในระบบ (เช่น สร้างรายการ, แก้ไข, เปลี่ยนรอบต่ออายุ, แนบไฟล์, ส่งอนุมัติ)
- ต้องเก็บข้อมูลอย่างน้อย:
- วันที่และเวลา, ผู้ใช้งาน, โมดูล, รหัสอ้างอิง, ฟิลด์ที่เปลี่ยน, ค่าเดิม (Old Value), ค่าใหม่ (New Value), เหตุผล, IP Address, Browser, Session ID
- Version History & Diff View: มีหน้า Audit Viewer สำหรับเปรียบเทียบข้อมูลเวอร์ชันก่อนหน้าและหลังแก้ไข
- รองรับ Soft Delete และสามารถกู้คืนข้อมูล (Restore) ได้
3.8. ระบบสิทธิ์ผู้ใช้งาน (Role-Based Access Control - RBAC)
- กำหนดสิทธิ์แบบละเอียด (View, Create, Edit, Delete, Approve, Export)
- สามารถกำหนดตามสาขา/แผนก หรือ Role พื้นฐาน เช่น Admin, Manager, User
3.9. ระบบ Vendor Management และการจัดการเอกสาร
- ฐานข้อมูลผู้จัดจำหน่าย (Vendor)
- รองรับระบบสัญญาบำรุงรักษา (MA) และประกัน (Warranty Management)
- ระบบแนบไฟล์ (File Attachments): อัปโหลด ลบ หรือแก้ไขไฟล์แนบในทุกๆ รายการ (พร้อมบันทึก Audit Log)
3.10. ระบบนำเข้า/ส่งออกข้อมูลและ API (Data & API)
- รองรับการ Import ข้อมูลจาก Excel/CSV
- ส่งออกรายงาน (Export) เป็น Excel, PDF, CSV
- สร้าง REST API Endpoint เพื่อเตรียมพร้อมเชื่อมต่อกับระบบ HIS, ERP, e-GP และระบบคลังพัสดุในอนาคต
4. แผนภาพและโครงสร้างที่ต้องการเพิ่มเติม (Documentation & Architecture Diagrams)
เมื่อเริ่มพัฒนาระบบ ให้เตรียมข้อมูลเอกสาร (System Design) เหล่านี้ควบคู่ไปด้วย:
- โครงสร้างฐานข้อมูล (Database Schema) & SQL Scripts
- Data Dictionary
- ER Diagram
- Use Case Diagram
- Sequence Diagram
- Flowchart (โดยเฉพาะ Flow ของการจัดการ Subscription License)
- Context Diagram
- คู่มือติดตั้ง (Installation Manual) และ คู่มือการใช้งาน (User Manual)
5. UI/UX และการใช้งาน
- การออกแบบ UI/UX ต้องสวยงาม ใช้งานง่าย รองรับการแสดงผลทุกหน้าจอระดับ Production (Responsive 2026)
- มีระบบ Dark/Light Mode
- โครงสร้างเมนูที่จัดกลุ่มชัดเจน ไม่ซับซ้อน
เป้าหมาย (Objective): ระบบนี้ไม่เพียงแค่จัดการแผนจัดซื้อ แต่ต้องเป็น Enterprise Asset & Lifecycle Management เต็มรูปแบบที่สามารถบริหารความเสี่ยงเรื่องซอฟต์แวร์หมดอายุ และมีการตรวจสอบย้อนหลังทาง Audit Log ได้สมบูรณ์ 100%