95 lines
11 KiB
Markdown
95 lines
11 KiB
Markdown
# 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)** จะต้องให้ระบุประเภท:
|
|
1. **ซื้อขาด (Perpetual License):**
|
|
- ไม่มีการสร้างข้อมูลติดตามการต่ออายุ (ไม่มีแจ้งเตือนหมดอายุรายปี)
|
|
- กำหนดวันรับประกัน (Warranty) ได้
|
|
- บันทึกค่าบำรุงรักษา (Maintenance Agreement - MA) แยกได้ และผูก MA กับ License ในภายหลังได้
|
|
2. **เช่าใช้/ต่ออายุ (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) เหล่านี้ควบคู่ไปด้วย:
|
|
1. **โครงสร้างฐานข้อมูล (Database Schema) & SQL Scripts**
|
|
2. **Data Dictionary**
|
|
3. **ER Diagram**
|
|
4. **Use Case Diagram**
|
|
5. **Sequence Diagram**
|
|
6. **Flowchart** (โดยเฉพาะ Flow ของการจัดการ Subscription License)
|
|
7. **Context Diagram**
|
|
8. **คู่มือติดตั้ง (Installation Manual) และ คู่มือการใช้งาน (User Manual)**
|
|
|
|
---
|
|
|
|
## 5. UI/UX และการใช้งาน
|
|
- การออกแบบ UI/UX ต้องสวยงาม ใช้งานง่าย รองรับการแสดงผลทุกหน้าจอระดับ Production (Responsive 2026)
|
|
- มีระบบ Dark/Light Mode
|
|
- โครงสร้างเมนูที่จัดกลุ่มชัดเจน ไม่ซับซ้อน
|
|
|
|
> **เป้าหมาย (Objective):** ระบบนี้ไม่เพียงแค่จัดการแผนจัดซื้อ แต่ต้องเป็น Enterprise Asset & Lifecycle Management เต็มรูปแบบที่สามารถบริหารความเสี่ยงเรื่องซอฟต์แวร์หมดอายุ และมีการตรวจสอบย้อนหลังทาง Audit Log ได้สมบูรณ์ 100%
|