Files
2026-09-16 23:20:08 +07:00

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) จะต้องให้ระบุประเภท:

  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%