บันทึกการอัปเดตระบบ

ติดตามการเปลี่ยนแปลง ฟีเจอร์ใหม่ และการปรับปรุงประสิทธิภาพของ Sakura Medical

V. 1.6.6 01 Jul 2026

Announcement Bell, Discord Publish Tools, Emoji Server, and Syntax Fixes

LATEST
IMPROVEMENT
  • ประกาศอัปเดตหมอ – แจ้งเตือนกระดิ่ง Header: เมื่อมีการสร้างประกาศใหม่ ระบบจะส่งการแจ้งเตือนไปยังผู้ใช้ทุกคนผ่านกระดิ่ง (Bell) ใน Header อัตโนมัติ พร้อม Badge สีแดงและกดเพื่อเข้าหน้าประกาศได้ทันที
  • ประกาศอัปเดตหมอ – ซ่อนเมนูแถบซ้าย: นำเมนูประกาศอัปเดตหมอออกจากแถบนำทางด้านซ้าย เนื่องจากมีปุ่มกระดิ่งลอย (Floating Bell) และกระดิ่ง Header ให้เข้าถึงได้อยู่แล้ว เพื่อลดความซ้ำซ้อนของเมนู
  • ประกาศอัปเดตหมอ – ส่งประกาศไป Discord: เพิ่มปุ่มประกาศ Discord ให้แต่ละการ์ด พร้อมรองรับ Webhook ผ่านค่า DISCORD_CASE_WEBHOOK_ANNOUCE และส่งเป็นข้อความเต็มแบบ Plain Text ไม่ใช่ Embed Card
  • ประกาศอัปเดตหมอ – ข้อความสำหรับ Discord เท่านั้น: เพิ่มช่องข้อความแท็กดิสคอร์ดและแท็ก <hideweb>...</hideweb> เพื่อซ่อนข้อความบนหน้าเว็บ แต่ยังส่งไป Discord ได้ตามปกติ
  • ประกาศอัปเดตหมอ – อัปโหลดรูปและเส้นประกาศ: รองรับการอัปโหลดรูปประกาศลง Storage ของเว็บ, เลือกเส้นเปิดด้านบนและเส้นปิดท้ายด้านล่าง พร้อมหน้าจอพรีวิวรูปเส้นหลังเลือกชื่อ
  • ประกาศอัปเดตหมอ – รูปแบบส่ง Discord 3 ส่วน: ตอนกดประกาศจะส่งเส้นเปิดเป็นข้อความแรก, รายละเอียดประกาศพร้อมข้อความแท็ก Discord เป็นข้อความกลาง และเส้นปิดท้ายเป็นข้อความสุดท้ายเสมอ แม้เนื้อหาจะเกิน 2,000 ตัวอักษรและต้องแบ่งข้อความ
  • ประกาศอัปเดตหมอ – Emoji Server สำหรับเว็บ: เพิ่มระบบอัปโหลดอีโมจิสำหรับแสดงบนเว็บ โดยจับคู่รูปภาพกับข้อความ Discord รองรับการเพิ่ม แก้ไข ลบ และแสดงรายการอีโมจิเป็นแถวละ 4 รายการ
  • ประกาศอัปเดตหมอ – แสดง Emoji ในตัวแก้ไขและการ์ด: ตัวแก้ไขประกาศ ป๊อปอัป และการ์ดประกาศสามารถแสดงอีโมจิจาก Discord/Emoji Server เป็นรูปภาพบนเว็บ ขณะบันทึกและส่ง Discord ยังใช้ข้อความอีโมจิเดิม
  • ประกาศอัปเดตหมอ – ตรวจจำนวนตัวอักษร Discord: เพิ่มตัวนับจำนวนตัวอักษรในรายละเอียดประกาศและแจ้งเตือนก่อนส่งเมื่อข้อความมีโอกาสเกินลิมิต 2,000 ตัวอักษรของ Discord
  • MedBot Chatbot – ตั้งค่าหมวดหมู่ที่ไม่แสดงในแชทบอท: เพิ่มการตั้งค่าในหน้า System Settings ให้ Admin สามารถเลือกหมวดหมู่ประกาศ (ประกาศ / ทั่วไป / อัปเดตการทำงาน / กิจกรรม / กฎและข้อปฏิบัติ / การสอบ) ที่ไม่ต้องการให้บอทนำข้อมูลมาตอบในแชท
  • ระบบแจ้งเตือน (Notifications) – ฟังก์ชัน sendAllUsersNotification: เพิ่มฟังก์ชันหลังบ้านสำหรับส่งการแจ้งเตือนหาผู้ใช้ทุกคนในระบบ (ประเภท announcement) แยกจากการส่งเฉพาะ Admin/Director/Assistant เดิม
  • แก้ไข JavaScript Syntax Error: แก้ปัญหา Uncaught SyntaxError จากโค้ด Event Listener ของเมนูด้านข้าง (Sidebar) ใน index.php ที่มีบล็อกซ้ำซ้อนและวงเล็บปีกกาปิดไม่ตรงคู่
  • เวอร์ชันแคชของระบบ (Cache Version): อัปเดตเวอร์ชันของแอปพลิเคชันเป็น 1.6.6 เพื่อบังคับให้เบราว์เซอร์ดาวน์โหลดไฟล์หน้าบ้านล่าสุด
V. 1.6.5 30 Jun 2026

MedCenter Map Version Workbench, Default Map Version, Duplicate Workflow, and Doctor Manual UI Improvements

IMPROVEMENT
  • MedCenter – เมนูจัดการแผนที่ด้านขวา: เพิ่มชุดเครื่องมือสำหรับ Admin, Director และ Assistant ในหน้าแผนที่คู่มือแพทย์ แยกการทำงานเป็นพื้นที่แก้ไข Live/Draft, บันทึกงาน, เผยแพร่ Version และจัดการ Version เพื่อให้ลำดับการใช้งานชัดเจนขึ้น
  • MedCenter – Draft Workflow: เพิ่มระบบบันทึก Draft สำหรับข้อมูลที่กำลังแก้ไข โดยการแก้ไข Draft จะไม่กระทบข้อมูลแผนที่ที่ผู้ใช้ทั่วไปเห็นจนกว่าจะเลือก Version ที่ต้องการเผยแพร่จริง
  • MedCenter – Default Version: เพิ่ม Default Version จากไฟล์ต้นฉบับ 629 blip เป็น Version ตั้งต้นของระบบ สามารถเลือกใช้งาน กู้คืน หรือเซฟทับได้ แต่ไม่สามารถลบได้ เพื่อป้องกันข้อมูลแผนที่หลักสูญหาย
  • MedCenter – Duplicate Version: เพิ่มปุ่ม Duplicate เป็น Version ใหม่ ให้เลือก Version ต้นทางแล้วสร้างสำเนาใหม่พร้อมโหลดเข้า Draft อัตโนมัติ เพื่อแก้ไขต่อโดยไม่กระทบ Version เดิม
  • MedCenter – ลบ Version: เปลี่ยนปุ่มในเมนูจัดการจากลบ blip เป็นลบ Version โดยเลือก Version ที่ต้องการลบจากรายการได้โดยตรง และบล็อกการลบ Default Version ทั้งฝั่งหน้าเว็บและ API
  • MedCenter – UI เลือก Version: ปรับหน้าต่างเลือก Version จาก dropdown เดิมที่อ่านยากเป็นรายการแบบการ์ด แสดงชื่อ Version, ป้าย Default/ลบไม่ได้, จำนวนจุด, เวลา และชื่อไฟล์ พร้อมปรับสีและขนาดตัวอักษรให้ชัดขึ้นใน Dark Mode
  • MedCenter – Save Version: ปรับการเซฟ Version ให้ระบุชื่อเองได้ หากไม่กรอกจะใช้วันที่และเวลาอัตโนมัติ พร้อมแสดงจำนวนจุดที่เซฟ และเพิ่มสิทธิ์ลบ Save สำหรับ Admin/Director/Assistant
  • Doctor Manual Search: ปรับระบบค้นหาให้เลื่อนไปยังจุดที่ highlight หลังค้นหา, คลิกเพื่อลบ highlight ได้ในครั้งเดียว, และแก้ปัญหาข้อความ HTML เพี้ยนหลังลบ highlight
  • MedBot Chatbot: ปรับการตอบของบอทคู่มือแพทย์ให้ดึงข้อมูลคู่มือจากหน้าเดียวกันได้ถูกต้องทั้งหน้า Index และ MedCenter, เอาภาษาจีนด้านหน้าแชทออก, เพิ่มคำใกล้เคียงสำหรับคำถามที่พบบ่อย และปรับข้อความเมื่อไม่พบคำตอบให้สั้นพร้อมลิงก์ไปหน้าคู่มือแพทย์
  • MedBot – หัวข้อแนะนำด่วน: เพิ่มคำตอบตรงสำหรับหัวข้ออัตราค่ารักษาพยาบาล, กฎการใช้โรงพยาบาล และขั้นตอนการทำงานของแพทย์ พร้อมลิงก์อ่านต่อไปยังโซนคู่มือที่เกี่ยวข้องโดยตรง
  • MedBot – ประกาศอัปเดตหมอ: เพิ่มการดึงข้อมูลจากประกาศอัปเดตหมอให้บอทนำมาตอบได้ ค้นหาจากหัวข้อ หมวดหมู่ และรายละเอียดประกาศ พร้อมเลือกข้อมูลล่าสุดจากวันที่เผยแพร่เมื่อพบเนื้อหาซ้ำ
  • Camp Injection: ปรับหน้าตั้งค่าคิวฉีดยาแคมป์ให้เหมือนหน้าเปิดรอบ Run Case มากขึ้น เปิดรอบด้วยวันที่วันนี้อัตโนมัติ แสดงเงินได้ต่อนาทีและจำนวนหมอที่เข้าคิว โดยไม่จำกัดจำนวนคนและไม่ให้แพทย์ออกคิวเองหลังลงคิว
  • Camp Injection – ปิดรอบและส่งโบนัสอัตโนมัติ: เมื่อปิดรอบฉีดยาแคมป์ ระบบจะบันทึกเวลาของแพทย์ที่ยังค้างคิว สรุปยอดนาทีแบบปัดขึ้น และสร้างหรืออัปเดตรายการโบนัสแคมป์ใน Budget Management อัตโนมัติ
  • Budget Management: เพิ่มช่องโบนัสแคมป์ให้ทำงานเหมือนโบนัสรันเคส เพื่อรองรับการรวมรายได้จากงานแคมป์ในรอบเงินเดือน และรองรับรายการโบนัสที่สร้างจากการปิดรอบฉีดยาแคมป์โดยตรง
  • Salary Management: เพิ่มการแสดงยอดโบนัสแคมป์แยกในกล่องสรุป ตารางเงินเดือน รายละเอียดรายบุคคล และ Export โดยยังนำยอดไปรวมในเงินเดือนอัตโนมัติ
  • เวอร์ชันแคชของระบบ (Cache Version): อัปเดตเวอร์ชันของแอปพลิเคชันเป็น 1.6.5 เพื่อบังคับให้เบราว์เซอร์ดาวน์โหลดไฟล์หน้าบ้านและปลั๊กอินล่าสุด
V. 1.6.4 29 Jun 2026

Camp Injection Queue Controls and MapDocter URL Alias

IMPROVEMENT
  • บอทช่วยค้นหาคู่มือแพทย์ (MedBot): กู้คืนการเข้ารหัสภาษาไทยและแผนผังคำพ้องความหมาย (Synonyms) ของบอทช่วยสืบค้นเสร็จสมบูรณ์, แก้ไขบั๊กของ JavaScript Template Literal ที่แสดงเป็น `${text}` และ `${content}` บนกล่องข้อความ, และเปลี่ยนการเรียกค้นหาข้อมูลคู่มือให้ผ่าน API ตรงจากระบบหลังบ้าน แทนการเรียกจาก locations.json
  • ปุ่มเปิด/ปิดแชทบอทในหน้าตั้งค่า: เพิ่มสวิตช์เปิด/ปิด (สีชมพู) ในหน้าตั้งค่าระบบทั่วไป (System Settings) เพื่อเปิด/ปิดการแสดงผลของบอทลอยได้ทั่วทั้งระบบในทุกหน้าเพจ
  • คิวฉีดยาที่แคมป์: แพทย์จะไม่สามารถกดออกจากคิวฉีดยาที่แคมป์ได้ด้วยตนเองหลังจากเข้าร่วมแล้ว โดยสิทธิ์การจัดการคิวยังคงเป็นของแอดมิน/สต๊าฟ และการกดออกเวร (Clock-out) จะลบรายชื่อแพทย์ออกจากคิวแคมป์พร้อมกับบันทึกเวลาสะสมลงในประวัติการเข้าเวรโดยอัตโนมัติ
  • ลิงก์นำทาง MapDocter URL: เพิ่มเส้นทางนำทางใหม่ผ่าน URL `/MapDocter` สำหรับเข้าสู่หน้าแผนที่คู่มือแพทย์โดยตรง โดยยังคงรักษาให้สินทรัพย์และ API ของปลั๊กอิน `doc_manual` เดิมสามารถทำงานได้ปกติจากทั้งสอง URL
  • เวอร์ชันแคชของระบบ (Cache Version): อัปเดตเวอร์ชันของแอปพลิเคชันเป็น 1.6.4 เพื่อบังคับให้เบราว์เซอร์ดาวน์โหลดและเรียกใช้งานไฟล์หน้าบ้านล่าสุดทันที
V. 1.6.3 29 Jun 2026

Doctor Manual Plugin, Interactive GTA GPS Map, Custom Blips Upload, and UI Contrast Optimizations

FEATURE
  • คู่มือหมอ – ลบ Blip จากจุดบนแผนที่: เพิ่มปุ่ม Delete Blip ใน popup ของจุดพิกัดสำหรับ Admin, Director และ Assistant พร้อมหน้าต่างยืนยันก่อนลบ และอัปเดตรายการ/marker บนแผนที่ทันทีหลังลบสำเร็จ
  • คู่มือหมอ – ปุ่มทางลัดบน Header: ปรับปุ่มคู่มือหมอให้แสดงเป็นไอคอนหนังสืออย่างเดียวตามดีไซน์เดิม และทำให้ปุ่มแสดงทันทีโดยไม่รอ tooltip หรือจังหวะโหลด permission ฝั่ง JavaScript
  • คู่มือหมอ – Light/Dark Mode และการอ่านตัวอักษร: เพิ่ม theme ให้ SweetAlert2 โดยตรง แก้ปัญหา dark mode พื้นขาวแต่ตัวอักษรอ่อน พร้อมปรับคลาสสี Tailwind ที่ไม่มาตรฐานให้เป็นสีที่ render แน่นอน
  • คู่มือหมอ – Pagination รายการจุดพิกัด: เปลี่ยนจากการแสดงเฉพาะ 60 รายการแรกเป็นระบบแบ่งหน้า แสดงหน้าละ 60 รายการ พร้อมปุ่ม <<, <, เลขหน้า, >, >> และ reset กลับหน้าแรกเมื่อค้นหา
  • คู่มือหมอ – ศูนย์คู่มือปฏิบัติงานแพทย์ (Doctor Manual): เพิ่มการตั้งค่าสิทธิ์การมองเห็นหน้าศูนย์คู่มือแพทย์ในPermissions Management และเพิ่มปุ่มนำทางรูปหนังสือเปิดที่แถบเมนูด้านบนเพื่อนำทางไปยังหน้าคู่มือแพทย์
  • คู่มือหมอ – แผนที่แบบตอบโต้ (Interactive GPS Map): พัฒนาระบบแผนที่จากพิกัดเกม GTA รองรับการย่อขยาย ค้นหาสปอตตำแหน่ง คัดลอกพิกัดด่วน 634 จุด และคัดลอกคำสั่งวาร์ปด่วน (/tp) สำหรับผู้ดูแลระบบ
  • คู่มือหมอ – บันทึกเวอร์ชันแผนที่ (Save & Rollback): เพิ่มปุ่มเฉพาะสำหรับ Admin, Director และ Assistant ในการสั่งบันทึกสถานะจุดพิกัดปัจจุบัน (Save Version) และกู้คืนข้อมูลพิกัดย้อนกลับตามเวลาที่ต้องการ (Rollback)
  • คู่มือหมอ – คลิกขวาเพื่อเพิ่มจุดพิกัดใหม่: เพิ่มฟังก์ชันสำหรับแอดมินในการคลิกขวาจุดบนแผนที่เพื่อปักหมุดใหม่ กำหนดชื่อ เลือกรูปสัญลักษณ์ไอคอน และอัปโหลดไฟล์ไอคอนประเภท PNG ใหม่ขึ้นเซิร์ฟเวอร์โดยตรง
  • คู่มือหมอ – ปุ่มปรับปรุงข้อมูลพิน (Edit Blip): ปรับโฉมปุ่มแก้ไขหมุดเดิมเป็นเมนู "Edit Blip" ซึ่งจะเปิดหน้าต่างตั้งค่าเต็มรูปแบบเหมือนตอนสร้างใหม่ สามารถพิมพ์แก้ไขชื่อ เลือกไอคอน หรืออัปโหลดรูปภาพทดแทน และเปลี่ยนรูปหมุดบนแผนที่ทันทีแบบเรียลไทม์
  • คู่มือหมอ – ประสิทธิภาพการเลื่อนและซูมแผนที่: เพิ่มความลื่นไหลด้วย Canvas Rendering และระบบกรองวาดป้ายข้อความเฉพาะหมุดที่ปรากฏอยู่บนหน้าจอ (Dynamic Viewport Tooltip) ลดการทำงานของซีพียูลงกว่า 95%
  • คู่มือหมอ – การแสดงผลโหมดสว่างและโหมดมืด (Light/Dark Mode Contrast): ปรับสีตัวอักษรของแบนเนอร์หัวข้อ การ์ด Coming Soon แผงรายการแผนที่ สีป๊อปอัพพิกัด และป้ายคำอธิบายบน Leaflet รวมถึงหน้าต่างกรอกข้อมูลของ SweetAlert2 ให้คมชัดและอ่านง่ายในทุกสภาวะแสง
  • คู่มือหมอ – การคงสถานะการมองเห็นปุ่ม (AllowedPages Sync): ปรับปรุงระบบหลังบ้าน (Backend API) ให้เชื่อมโยงและคำนวณสิทธิ์ allowedPages ของผู้ใช้ร่วมกันในทุกเซสชันอัปเดตข้อมูลเบื้องหลัง แก้ปัญหาการสิทธิ์เปิดทับแล้วปุ่มนำทางซ่อนตัวเอง
V. 1.6.2 28 Jun 2026

Chief of Staff Command Updates, Favorite Actions, Popup Details, and Case Run Restore

FEATURE
  • Case Run – ย้ายสำรองรายชื่อเข้าฐานข้อมูลกลาง: เปลี่ยนจากการเก็บข้อมูลสำรองรายชื่อบอร์ดลง localStorage ของเบราว์เซอร์แต่ละเครื่อง ไปบันทึกในตารางฐานข้อมูลกลาง `case_run_board_backups` แทน เพื่อป้องกันปัญหาข้อมูลของแต่ละคนชนกันและเกิดการเขียนทับ (Rollback) รายชื่อแบบไม่ได้ตั้งใจเมื่อมีคนเปิดใช้งานบอร์ดพร้อมกันหลายคน
  • Case Run – เงื่อนไขการสำรองประวัติเฉพาะล่าสุด: ปรับปรุงระบบบันทึกสำรองให้เก็บข้อมูลบอร์ดชุดล่าสุดเพียงชุดเดียวต่อเซสชัน เพื่อความรวดเร็วและประหยัดพื้นที่ และล็อกเงื่อนไขว่าจะเขียนทับข้อมูลประวัติสำรองก็ต่อเมื่อบนบอร์ดมีรายชื่อแพทย์ลงทะเบียนอยู่อย่างน้อย 1 คนเท่านั้น เพื่อป้องกันไม่ให้บอร์ดที่ว่างเปล่าไปเซฟทับประวัติสำรองเดิม
  • Case Run – กู้คืนรายชื่อล่าสุด (Direct Restore): เพิ่มปุ่ม "กู้คืนรายชื่อล่าสุด" สีส้มในแถบ Header ด้านบนข้าง ๆ ปุ่ม "ปิดรอบและจ่ายโบนัส" เมื่อคลิกจะทำการยืนยันความต้องการกู้คืน และดึงรายชื่อแพทย์ชุดล่าสุดกลับมาคืนบอร์ดได้ทันทีในคลิกเดียวอย่างปลอดภัย
  • Chief of Staff – คำสั่งเวรตามช่วงเวลา: เพิ่มคำสั่ง "ขอรายชื่อหมอเวร 00:00 - 06:00" และ "ขอรายชื่อหมอเวรจริง 00:00 - 06:00" เพื่อดึงรายชื่อแพทย์ตามช่วงเวลาที่กรอก พร้อมตรวจว่าเข้าเวรครบ 3 ชั่วโมงในช่วงเวรของตัวเองหรือไม่
  • Chief of Staff – ชุดคำสั่งวิเคราะห์และเงินเดือน: เพิ่มคำสั่งดูรอบเงินเดือนทั้งหมด, ดูประวัติเงินเดือนเป็นรอบของแพทย์ที่แท็ก, เปลี่ยนสถานะเงินเดือนได้จากผลลัพธ์, ตรวจยอดค้างจ่าย/จำนวนหมอที่ยังไม่ได้รับเงิน และจัดอันดับ Top ขยันสุด จากข้อมูลย้อนหลัง 15 วัน
  • Chief of Staff – คำสั่งงานค้างและคิวรันเคส: เพิ่มคำสั่งตรวจงานรออนุมัติ, สรุปงานค้างทั้งหมด, เคสรอ/ค้างตรวจ, เคสเกินเวลาที่กำหนด, คิวรันเคส, ปิด/ซ่อนรอบคิวรันเคส และกดเสร็จคิวรันเคสทั้งหมดผ่าน preview/confirm
  • Chief of Staff – ปุ่มลัดแบบติดดาว: เพิ่มปุ่มดาวใน Action Registry ด้านขวา ให้ผู้ใช้เลือกคำสั่งที่ใช้บ่อยมาแสดงเหนือช่องพิมพ์แชทได้เอง โดยซ่อนปุ่มลัดค่าเริ่มต้นทั้งหมดและจำรายการที่ติดดาวไว้ในเครื่องผู้ใช้
  • Chief of Staff – Popup รายละเอียดคำสั่ง: เปลี่ยนไอคอน i ใน Action Registry จาก tooltip ธรรมดาเป็น popup ของระบบ แสดงชื่อคำสั่ง รายละเอียด ประเภท Read/Confirm และตัวอย่างคำสั่งที่กดเติมลงช่องพิมพ์แชทได้ทันที
  • Chief of Staff – ประสบการณ์ช่องพิมพ์แชท: ปรับช่องพิมพ์ให้เห็นข้อความระหว่างพิมพ์ชัดเจน แยกสีเฉพาะ mention/ชื่อและคำสำคัญ ลดปัญหาสีซ้อน และเพิ่มปุ่มเคลียร์แชทใกล้ปุ่มซ่อนแถบขวา
V. 1.6.1 27 Jun 2026

Chief of Staff Command Center, Camp Injection Queue, Salary Payment Status, and Case Workflow Updates

FEATURE
  • Chief of Staff – แชทสั่งงานในเว็บ: เพิ่มหน้า Chief of Staff สำหรับถามข้อมูล วิเคราะห์ภาพรวม และสร้าง action preview จากข้อความธรรมชาติ พร้อมระบบแชทที่ไม่ refresh หน้า มีสถานะกำลังพิมพ์แบบจุด 3 จุด และตอบกลับแบบหน่วงสั้นให้ใช้งานลื่นขึ้น
  • Chief of Staff – Action Registry และ Confirm / Approval: เพิ่ม Action Registry แบบซ่อนได้/เลื่อนได้ พร้อมคำอธิบายผ่านไอคอน i และระบบยืนยันก่อนทำงานจริง รวมถึงส่งคำขออนุมัติสำหรับ action ที่ต้องใช้สิทธิ์สูง
  • Chief of Staff – สิทธิ์รายบุคคล: เพิ่มแท็บ Chief of Staff ใน permissionsManagement เพื่อกำหนดผู้ใช้งานรายบุคคลนอกเหนือจาก Admin/Director/Assistant และปรับปุ่มลอยให้แสดงตามสิทธิ์ที่ได้รับ
  • Chief of Staff – คำสั่งวิเคราะห์ระบบ: เพิ่มคำสั่งวิเคราะห์ภาพรวมวันนี้, งานค้างทั้งหมด, เคสค้างตรวจ, เงินเดือนยังไม่จ่าย, สรุปเวรวันนี้, สรุปคิวรันเคส, ใคร ว.11 / ว.12 อยู่บ้าง, ใครรันเคสอยู่ และ Analytics ช่วงเวลาคนเข้าเวรมากสุด
  • Chief of Staff – สีสถานะผลตรวจ: ปรับผลการตรวจสอบให้แยกสีอัตโนมัติ โดยรายการที่เสร็จ/ปกติเป็นสีเขียว, รายการที่ยังต้องจัดการเป็นสีแดง และรายการที่กำลังดำเนินการอยู่เป็นสีส้ม
  • Chief of Staff – คำสั่งแพทย์ด้วย @Mention: เพิ่ม autocomplete เมื่อพิมพ์ @ เพื่อค้นชื่อแพทย์และแนะนำคำสั่งใกล้เคียง เช่น เข้าเวรวันนี้, การเข้าเวรล่าสุด, ประวัติทั้งหมด, ตารางเงินเดือนล่าสุด, เคสล่าสุด, แต้มล่าสุด, ประวัติ ว.11/ว.12, รันเคสล่าสุด และขายยาล่าสุด
  • Chief of Staff – คำสั่งจัดการผู้เล่น: เพิ่มคำสั่งปรับยศพร้อมแสดงยศเดิมและตัวเลือกยศ, เพิ่มใบขับขี่ฮอร์, ปรับเงินต่อนาทีรายคน, ปรับเงินทั้งยศ, ปรับสถานะ Active / Non-Active และตรวจสอบเข้าเวรครบ 3 ชั่วโมง
  • Chief of Staff – คำสั่งเงินเดือน: เพิ่มคำสั่งเปลี่ยนสถานะเงินเดือนของแพทย์ที่แท็ก เช่น รับเงินเดือนล่าสุดแล้ว, รอรับเงินเดือน และเปลี่ยนสถานะเงินเดือน พร้อมคำแนะนำ pattern อัตโนมัติระหว่างพิมพ์
  • Chief of Staff – คำสั่ง Points: เพิ่มคำสั่งเพิ่ม/ลบ Points แบบกรอกจำนวนเอง เช่น "เพิ่มพ้อย @name <จำนวน>", "@name เพิ่มพ้อยให้ <จำนวน> พ้อย", "ลบพ้อย @name <จำนวน>" หรือ "@name ลบพ้อย <จำนวน> พ้อย" โดยแสดงแต้มเดิม/แต้มใหม่และบันทึกประวัติ points_history หลังยืนยัน
  • Chief of Staff – Autocomplete คำสั่ง Points: ปรับคำแนะนำเพิ่ม/ลบพ้อยให้ใช้จำนวนที่กรอกเอง ไม่ fix 500 และเมื่อพิมพ์จำนวนแล้วจะไม่แสดง autofill ซ้ำ เพื่อให้กด Enter ส่งข้อความได้ทันที
  • Chief of Staff – Top Ranking: เพิ่มคำสั่ง Top 1-10 ตามจำนวนที่ขอ สำหรับเวลาเวร, ตั๋วเคส, เข้าครบเวลาเวร และเคส/เคสร่วม โดยเลือกช่วงเดือนนี้ สัปดาห์ที่ หรือวันที่ได้
  • Chief of Staff – Force / Queue Actions: เพิ่มคำสั่ง force out หมอทั้งหมด และกดเสร็จคิวรันเคสทั้งหมด พร้อม preview และ confirm ก่อนทำงานจริง
  • Salary Management – สถานะการรับเงินเดือน: เพิ่มสถานะรายคนในรายงานเงินเดือนหลัง Final ให้เลือก รอรับเงินเดือน / จ่ายเงินเดือนแล้ว และบันทึกได้จากหน้ารายละเอียดรายงาน
  • My Salary Report – สถานะเงินเดือน: เพิ่มการแสดงสถานะ รอรับเงินเดือน / ได้รับเงินเดือนแล้ว ในหน้ารายงานเงินเดือนของแพทย์ พร้อมสีสถานะส้ม/เขียวให้ดูง่าย
  • Salary Management – ปรับตารางให้พอดีจอ: ปรับความกว้างและการจัดวางคอลัมน์ในตารางเงินเดือนให้ใช้งานบนหน้าจอเดสก์ท็อปได้พอดีขึ้น โดยยังคงข้อมูลสำคัญครบถ้วน
  • Case Review – ตรวจและจัดการเคส: แก้ปัญหามีเคสค้างแต่ไม่แสดงให้ตรวจ เพิ่มเมนูแก้ไขสถานะสำหรับ Admin/Assistant และเพิ่มการบันทึกเวลา Run Operator / คนช่วย / คนประกาศแบบนาทีอัตโนมัติเมื่อปิดรอบรันเคสและจ่ายโบนัส
  • Case Run – จัดการคิวรับเคส: เพิ่มปุ่มกดเสร็จคิวรับเคสทั้งหมด เพื่อปิดรายการผู้ต่อคิวในรอบ active ได้เร็วขึ้น
  • Case Run – สำรองชื่อในตาราง: เพิ่มระบบเก็บ snapshot เฉพาะช่องชื่อแพทย์และชื่อคู่ในตารางรันเคสเป็นระยะ เพื่อกู้ชื่อกลับมาอัตโนมัติเมื่อข้อมูลหายจากการ refresh, อัปโหลดไฟล์ หรือการแก้ไขหน้าเว็บ โดยไม่ดึงช่องอื่นกลับ และยังเคารพการล้าง/ลบแถวที่ผู้ใช้ตั้งใจทำ
  • Shift Attendance Info: ปรับ shiftAttendanceInfo และ myShiftAttendanceInfo ให้ดึงข้อมูลเคสใหม่เสมอเพื่อให้ข้อมูลตั๋วเคสและเคส/เคสร่วมเป็นปัจจุบัน
  • ชื่อหัวข้อเคสร่วม: ปรับชื่อจาก เคสร่วม (เพื่อนแท็ก) [Approved] เป็น เคส/เคสร่วม ให้ตรงกับข้อมูลปัจจุบันและการคำนวณเงินเดือน
  • ปลั๊กอิน Social Event: แก้ปัญหา JavaScript redeclare ตัวแปร badge และปรับการโหลด resource เพื่อลดปัญหา request ยาวเกินจนเจอ HTTP 414
  • System Logs และ User Logs: เพิ่ม label log สำหรับ action จาก Chief of Staff เช่น ปรับยศ, เพิ่มใบขับขี่ฮอร์, ปรับเงินต่อนาที, เพิ่ม Points, ปรับสถานะ, ขออนุมัติ และอนุมัติ action
  • Camp Injection – เปิดคิวและจัดการรอบฉีดยา: เพิ่มหน้าตั้งค่าคิวฉีดยาแคมป์สำหรับผู้ดูแลระบบและแพทย์เฉพาะทางในการสร้าง คัดลอก แก้ไข และลบรอบคิวฉีดยา โดยรองรับการกำหนดอัตราค่าจ้าง (ต่อชั่วโมง/ต่อนาที) และกำหนดจำนวนแพทย์สูงสุดในแต่ละรอบ
  • Camp Injection – โควต้าลงทะเบียน: เพิ่มการตั้งค่าจำกัดรอบการลงทะเบียนคิวฉีดยาแคมป์ของแพทย์ต่อวัน (Daily Limit) เพื่อความยืดหยุ่นในการลงคิวของแพทย์
  • Camp Injection – ตรวจสอบผังและสิทธิ์ผู้ดูแล: เพิ่มหน้าต่างดูผังตำแหน่งแพทย์ที่ลงทะเบียนในแต่ละรอบย่อย พร้อมระบบช่วยเหลือให้ Admin/Staff สามารถกดเลือกแพทย์เพื่อลงทะเบียนหรือยกเลิกคิวจองแทนแพทย์รายบุคคลได้
  • Camp Injection – จองคิวแดชบอร์ดแพทย์: เพิ่มตารางจองคิวฉีดยาแคมป์บนแดชบอร์ดของแพทย์ ให้แพทย์สามารถลงทะเบียนจองรอบและยกเลิกรายการด้วยตนเองผ่าน UI ที่อัปเดตแบบเรียลไทม์
  • Camp Injection – คำนวณรายได้เงินเดือน: เชื่อมโยงข้อมูลการลงทะเบียนคิวฉีดยาแคมป์เข้าสู่ระบบคำนวณเงินเดือนอัตโนมัติ โดยคิดเรทสะสมตามจริง (ชั่วโมง/นาที) พร้อมรายงานประวัติรายรับและยอดเงินเคลมในหน้า slip เงินเดือนของแพทย์และรายงานหลักของผู้บริหาร
  • Camp Injection – การปรับปรุงเงื่อนไขเวลา (Update): นำระบบล็อกห้ามลงทะเบียนหรือยกเลิกคิวล่วงหน้า 2 ชั่วโมงออก เพื่อให้แพทย์จองคิวล่วงหน้าของพรุ่งนี้หรืออนาคตได้ทันที และบล็อกการยกเลิกคิวเฉพาะเมื่ออยู่ในช่วงเวลาให้บริการจริงของรอบนั้นๆ เท่านั้น
  • Camp Injection – ซ่อนรอบที่สิ้นสุดและสถานะรอประกาศ (Update): ปรับปรุงการแสดงผลให้ซ่อนรอบคิวฉีดยาที่สิ้นสุดเวลาให้บริการแล้วโดยอัตโนมัติ พร้อมทั้งแสดงสถานะ 'รอประกาศ' ด้วยเอฟเฟกต์แอนิมชันกระพริบเรียบง่ายเมื่อยังไม่มีรอบเปิดให้บริการ
V. 1.5.11 26 Jun 2026

Cross-Day Surge, Salary Recalculation, and Client Info Logs

IMPROVEMENT
  • Event Settings – Surge Pricing / Happy Hour: รองรับการตั้งช่วงเวลาพิเศษแบบข้ามวัน เช่น 22:50 - 01:50 โดยระบบจะแยกช่วงปลายทางเป็นวันถัดไป แสดงป้ายข้ามวัน และนำรายการข้ามวันไปใช้กับการกรองวันที่ได้ถูกต้อง
  • Event Settings – แก้ไขรายการ Surge: เพิ่มปุ่มแก้ไขในรายการช่วง Surge Pricing / Happy Hour เพื่อโหลดข้อมูลเดิมกลับขึ้นฟอร์มและบันทึกปรับปรุงรายการเดิมได้
  • Dashboard Doctor – ช่วงเวลาพิเศษ: ปรับการแสดงผล Surge/Happy Hour ให้รองรับรอบข้ามวันหลังเที่ยงคืน พร้อมคำนวณเงินรางวัลรวมจากช่วงเวลาจริงได้ถูกต้อง
  • Salary Management – Update การคำนวณ: ปุ่ม Update การคำนวณจะดึงตั๋วเคสและเคส/เคสร่วมจากข้อมูลล่าสุดอีกครั้ง โดยตั๋วเคสมาจากเมนูแต้มตั๋วเคส ส่วนเคส/เคสร่วมมาจากเคสที่ส่งเองหรือถูกแท็กและผ่านการอนุมัติแล้ว
  • System Logs – Client Info: เพิ่มการเก็บข้อมูลหน้าใช้งาน, Board ID/ชื่อบอร์ด, ประเภทอุปกรณ์, Browser/OS, ขนาดหน้าจอ และแสดงเป็น popover สมูทที่ไอคอน i หลัง Details พร้อมแก้ปัญหา API header เมื่อข้อมูลมีภาษาไทย
  • Dashboard Admin และ User Management: เพิ่มเวลาเวรและเมนูเรียงลำดับในรายชื่อแพทย์ที่กำลังเข้าเวร พร้อมแยกยอดเคส/เคสร่วมและตั๋วเคสให้ดูชัดเจนขึ้น
V. 1.5.10 25 Jun 2026

Salary Surge Pricing and Special Time History

IMPROVEMENT
  • Salary Management – Surge Pricing / Happy Hour: ปรับการคำนวณโบนัสช่วงเวลาพิเศษจากรอบใน Event Settings ตามช่วงเวลาที่แพทย์เข้าเวรจริงแบบทับซ้อน (Overlap) และคิดเงินตามนาทีจริง เช่น ตั้ง 30,000/ชม. เข้า 10 นาที ได้ 5,000 บาท
  • Salary Management – ลืมลงเวลา: นำรายการลืมลงเวลาที่ได้รับอนุมัติแล้วเข้าคำนวณเงินเดือนเหมือนช่วงเข้าเวรจริง พร้อมตัดช่วงที่ทับกับเวรจริงออกเพื่อไม่ให้ชั่วโมงและเงินถูกบวกซ้ำ
  • Salary Management – ใบลา: ปรับให้ใบลาที่อนุมัติแล้วแสดงเป็นประวัติ/สรุปการลาเท่านั้น ไม่ถูกนำไปคิดเป็นชั่วโมงเงินเดือนหรือโบนัส Surge เพราะไม่ได้เป็นการเข้าเวรจริง
  • รายงานเงินเดือนแพทย์ (My Salary Report): เพิ่มส่วน ประวัติช่วงเวลาพิเศษ ในหน้ารายละเอียด แสดงรอบ Surge/Happy Hour, ช่วง Event, ช่วงที่เข้าเวรจริง, นาที, อัตรา/ชม. และเงินที่ได้รับ
  • รายงานเงินเดือน – รายละเอียดและ Export: แยกยอด Surge / Happy Hour ออกจากยอดตั๋วเคสและรวมเข้าโบนัสอัตโนมัติอย่างถูกต้อง พร้อมปรับ cache version ของโมดูลรายงานเงินเดือนให้โหลดไฟล์ล่าสุด
  • Dashboard Admin – Final Reports: ปรับกราฟสัดส่วนรายจ่ายและแนวโน้มการเงินให้ใช้ข้อมูลจริงจากรายงานเงินเดือน final แยกเป็นเงินเดือนปกติ, เงินช่วงเวลาพิเศษ, ค่าตั๋วเคส, ค่าเคสร่วม, เงินรันเคส, เงินอัดฉีด, เงินค่าตำแหน่ง, โบนัส Story และอื่นๆ
V. 1.5.9 24 Jun 2026

Multi-Board Case Run, Prioritized Queue Pool, and Enforcement Constraints

FEATURE
  • ระบบรันเคสหลายชุด (Multi-Board Case Run): ผู้ดูแลสามารถเปิดรอบการรันเคสได้หลายบอร์ดพร้อมกัน โดยกำหนดชื่อบอร์ด (เช่น นอกเมือง, ในเมือง) และแสดงผลในรูปแบบการ์ดบริหารจัดการแยกจากกัน
  • แดชบอร์ดแพทย์ – เลือกบอร์ดและระบบล็อกคิวป้องกันซ้ำซ้อน: เพิ่ม Dropdown ให้แพทย์เลือกดูข้อมูลและลงคิวในบอร์ดต่างๆ ได้ และระบบจะทำการล็อกปิดสิทธิ์การสลับบอร์ด/ซ่อนปุ่มลงทะเบียนทันทีหากแพทย์กำลังต่อคิวอยู่ในบอร์ดใดบอร์ดหนึ่ง เพื่อบังคับให้ลงคิวได้สูงสุดเพียง 1 บอร์ดพร้อมกัน
  • การจัดระเบียบรายชื่อผู้ต่อคิว (Queue Pool Prioritization): ดึงรายชื่อแพทย์ที่ยังไม่มีคิวในตารางหลักขึ้นไปอยู่บนสุดของรายชื่อผู้ต่อคิว พร้อมแสดงผลเป็นตัวอักษรสีเหลืองกระพริบและวงเล็บกำกับ (ยังไม่ได้ลงคิว) ส่วนแพทย์ที่มีคิวแล้วจะแสดงเป็นสีเขียวปกติ
  • ล้างช่องข้อมูลในลำดับตาราง (Clear Row Data): เพิ่มปุ่มล้างข้อมูลแถว (ไอคอนกากบาท) ในตารางรันเคส ช่วยให้สามารถล้างประวัติแพทย์คู่และฟิลด์เคสมีปัญหาในแถวนั้นๆ ให้ว่างเพื่อเตรียมจัดคิวใหม่ได้สะดวกยิ่งขึ้น
  • จัดระเบียบคิวหลังยกเลิก/บีบแถวว่าง (Queue Reordering): เพิ่มปุ่ม 'เรียงคิวใหม่' ช่วยให้ผู้ดูแลระบบยกคิวแพทย์จากแถวล่างขึ้นมาแทนที่แถวที่ว่างและรักษาลำดับคิวปัจจุบัน (Active Row Index) ให้อยู่กับตัวแพทย์คนเดิมอย่างถูกต้องอัตโนมัติ
  • ปรับสัดส่วนคอลัมน์เคสมีปัญหา: ปรับลดความกว้างของช่องเช็คบ็อกซ์แจ้งซัพ/ประกาศหา/เคลื่อนย้าย เพื่อขยายความกว้างช่องเบอร์โทรศัพท์ให้แสดงผลได้เต็มเบอร์และชัดเจนยิ่งขึ้น
  • บันทึกประวัติอัตโนมัติเมื่อออกเวร (Clock-out Auto History): เมื่อแพทย์กดออกเวร ระบบจะค้นหาและถอดรายชื่อแพทย์ออกจากคิวของทุก active sessions พร้อมกัน พร้อมคำนวณและบันทึกเวลาทำงานสะสมเข้าสู่ประวัติโดยอัตโนมัติ
V. 1.5.7 21 Jun 2026

Active Shift Duration Support & Leaderboard/Chart Boundary Splitting

IMPROVEMENT
  • การคำนวณเวลาเข้าเวร – รองรับเวรที่กำลังทำงาน (Active Shift): ระบบสามารถคำนวณและสะสมชั่วโมงงานสำหรับเวรที่กำลังทำงานอยู่ ณ ปัจจุบัน (ยังไม่ได้กดออกเวร) เข้าสู่ผลสรุปชั่วโมงทำงานวันนี้/สัปดาห์นี้/เดือนนี้ ได้แบบ Real-time
  • แดชบอร์ดแพทย์ – ปรับปรุงการตัดแบ่งชั่วโมงในชาร์ตและตารางผู้นำ: ปรับปรุงชาร์ตประวัติการทำงาน และตารางผู้นำ Top 10 แพทย์ที่เข้าเวร ให้แสดงผลโดยนำการตัดแบ่งเวลาเวรที่คาบเกี่ยวเที่ยงคืน (00:00) และเวลาของเวรที่กำลังทำงานอยู่มาคำนวณร่วมด้วยอย่างสมบูรณ์
  • อนุมัติคำขอ – ซ่อนการขายยาแก้ปวด: ซ่อนแท็บ 'ขาย Painkiller' ออกจากหน้าอนุมัติ และหักลบจำนวนรอตรวจสอบในเมนูด้านซ้ายออกโดยสมบูรณ์
  • แดชบอร์ดผู้ดูแล – ปรับปรุงกราฟประสิทธิภาพและผู้นำส่งเคส: เปลี่ยนการแสดงผล 'Top 10 ยอดขาย' เป็น 'Top 10 เคส แบบส่งเคส' และแทนที่ตัววัดยอดขายยาเป็นสถิติจำนวนเคสที่ส่งจริงในกราฟเรดาร์แสดงประสิทธิภาพแพทย์
  • เมนูหลัก – เพิ่มแจ้งเตือนรอบการสอบและตรวจเคส: แสดงตัวเลขแจ้งเตือน (Notification Badges) สีแดงในรายการเมนู 'สอบเลื่อนขั้น' และ 'ตรวจเคส' เพื่อระบุจำนวนรายการที่รอดำเนินการอย่างชัดเจน
  • จัดการเงินเดือน – อัตราค่าตั๋วเริ่มต้นและชื่อหัวข้อ: ปรับเปลี่ยนค่าตั้งต้นของตั๋วเคสพิเศษในรอบบิลนี้เป็น 0 บาท และเปลี่ยนชื่อหัวข้อ 'เคสร่วม' เป็น 'เคส/เคสร่วม' และ 'เงินเคสร่วม' เป็น 'เงินเคสรวม'
  • ประวัติการทำงาน – วันเข้าเวรและการลาสาย: ปรับปรุงการนับจำนวนวันเข้าเวร (≥3ชม) ให้นับเฉพาะชั่วโมงเวรปกติของตนเองโดยไม่รวม OT และเพิ่มชั่วโมงคำนวณเวรอีก 1 ชั่วโมงสำหรับวันที่ได้รับอนุมัติใบลาประเภทสาย 1 ชั่วโมง พร้อมปุ่มตัว i ระบุคำอธิบายชัดเจน
  • ประวัติเงินเดือน – การจัดเรียงรายการตามรหัสงวด (ID): ปรับปรุงการแสดงผลรายการประวัติเงินเดือนในหน้ารายงานแพทย์ให้จัดเรียงตามรหัสงวด (ID) ล่าสุดเป็นหลัก (งวดใหม่สุดอยู่บนสุด) โดยไม่มีการแสดงผลคอลัมน์รหัสงวดบนตารางให้รกสายตา
  • ตรวจเคส – เพิ่มการ์ดสถิติตัวกรอง (Bento Filter Cards) และปรับปรุงกรอบสัดส่วน: ปรับปรุงส่วนตัวกรองในหน้าตรวจเคส โดยเปลี่ยนเป็นตัวการ์ดสถิติจำนวนเคส ทั้งหมด / รอตรวจ / อนุมัติแล้ว (สไตล์ Bento Grid) แสดงตัวเลขจำนวนเคสเรียลไทม์ และระบบสลับตัวกรองที่ไฮไลท์ขอบและสีพื้นหลังการ์ด พร้อมเพิ่มกรอบกล่อง (Frame) จัดกลุ่มแผงควบคุมและรายการส่งเคสให้แยกส่วนอย่างสวยงามเป็นสัดส่วนชัดเจน
  • ตรวจเคส – ระบบแนะนำรายชื่อแพทย์อัตโนมัติ (Autocomplete) และสืบค้นผ่านการแท็ก: ปรับปรุงช่องค้นหาผู้ส่งในหน้าตรวจเคสให้รองรับการสืบค้นข้อมูลเพิ่มเติมจากรายชื่อแพทย์ร่วมที่ถูกแท็ก (Tagged Users) และเพิ่มกล่องแนะนำรายชื่อแพทย์แนะนำในระบบแบบเรียลไทม์ขณะกรอก (Autocomplete Dropdown) เพื่อความสะดวกในการกรองผลลัพธ์
  • สอบเลื่อนขั้น – เพิ่มหัวข้อย่อยในเกณฑ์การประเมิน (Evaluation Criteria): พัฒนาระบบเกณฑ์การประเมินในเมนูผู้ดูแลสอบ ให้หัวข้อหลักแต่ละข้อสามารถเพิ่ม แก้ไข และจัดการหัวข้อย่อย (Sub-criteria) ได้เพื่อการลงคะแนนและประเมินผลที่สะดวกรวดเร็วและละเอียดยิ่งขึ้น
  • แก้ไขบั๊ก – ปัญหา JavaScript Syntax ในหน้าสอบ: แก้ไขข้อผิดพลาด JavaScript Syntax Error ในส่วนตรวจประเมินข้อสอบและการจัดการข้อมูลของแพทย์ (ตรวจพบ Uncaught SyntaxError ใน plugins/exam/assets/js/examinationAdmin.js และ examinationUser.js) ให้กลับมาทำงานได้เป็นปกติ
  • แก้ไขบั๊ก – ปัญหา 500 Internal Server Error: แก้ไขข้อผิดพลาด Fatal Error ใน api/users.php และ plugins/exam/api.php เกี่ยวกับฟังก์ชัน array_map() เมื่อมีผู้คุมสอบหรือผู้รับผิดชอบเพียงคนเดียว (รับค่าแบบไม่ใช่ Array) ให้ระบบรองรับการแปลงค่าแบบยืดหยุ่นโดยไม่ล่ม
  • การตรวจข้อสอบ – กรองข้อมูลจัดส่งผลคะแนน: ปรับปรุงแบบฟอร์มการส่งคะแนนในหน้าผู้ดูแลสอบ (examinationAdmin.js) ให้ส่งข้อมูลเฉพาะข้อสอบชุดที่ผู้ตรวจเป็นผู้รับผิดชอบโดยตรง เพื่อป้องกันข้อผิดพลาดการปฏิเสธสิทธิ์จากฝั่งหลังบ้าน (Backend Security Validation)
V. 1.5.6 21 Jun 2026

Simplified Exam Grading Flow & Confirmation Timestamps

FEATURE
  • รอบสอบ – รายละเอียดและสถิติ: ปรับปรุงการ์ดเลือกรอบการสอบในเมนูผู้ดูแลให้ดึงสถิติจำนวนเคส 'รอตรวจ', 'ผ่าน', 'ไม่ผ่าน' และ 'รวมทั้งหมด' มาแสดงผลทันทีแบบ Real-time โดยไม่ต้องคลิกเลือกก่อน
  • การตรวจข้อสอบ – หน้าจอตรวจเรียงแถว: เปลี่ยนหน้าจอตรวจข้อสอบแบบ Tab ในหน้ารวม เป็นหน้าจอรายการคำถามคำตอบเรียงลงมาตามแนวตั้งแบบหน้าเดียว (Continuous Scroll) พร้อม Sticky Header ระบุชุดข้อสอบและคะแนนสะสม เพื่อความสะดวก รวดเร็ว และไม่ต้องสลับหน้าไปมา
  • การตรวจข้อสอบ – ซ่อนปุ่มประเมินรายชุดข้อสอบในหน้ารวม: เปลี่ยนการบันทึกสถานะของชุดข้อสอบให้ประมวลผลผ่าน/ไม่ผ่าน (เกณฑ์ 60%) อัตโนมัติในฐานข้อมูลเมื่อมีการบันทึกคะแนน และเก็บปุ่มประเมินรายชุดข้อสอบแบบดั้งเดิมไว้เฉพาะในโหมดตรวจแยกประเมินรายชุดข้อสอบ
  • ประวัติผู้สอบ – คอลัมน์วันที่ส่งผล: เพิ่มการตรวจคิวรีเวลาส่งผลการประเมินที่ได้รับการยืนยัน (Confirmed At) และแสดงผลเวลาที่ผู้คุมสอบกดยืนยันการตรวจ (ส่งผล) เคียงคู่กับวันเวลาส่งข้อสอบปกติในตารางตรวจข้อสอบ
  • แดชบอร์ดแพทย์ – สรุปชั่วโมงเวร วันนี้/สัปดาห์นี้/เดือนนี้: ปรับปรุงการ์ดสรุปผลชั่วโมงรวมเข้าเวรให้แสดงผลสถิติทั้ง 3 ช่วงเวลาพร้อมกันแบบทันที เพื่อให้แพทย์มองเห็นข้อมูลได้ครบถ้วนโดยไม่ต้องกดเลือกตัวกรองสลับไปมา
  • การคำนวณเวลาเข้าเวร – ตัดแบ่งรอบเวลาเที่ยงคืน (00:00): พัฒนาระบบคำนวณเวลาเข้าเวรแบบคาบเกี่ยววัน โดยระบบจะแบ่งชั่วโมงเข้าเวรตรงจุดตัดเวลาเที่ยงคืน (00:00) และนับจำนวนชั่วโมงให้กับวันหรือช่วงการประเมินนั้นๆ อย่างถูกต้อง ไม่เกิดการสูญเสียชั่วโมงทำงาน
V. 1.5.5 20 Jun 2026

Suppress Generic Loading Indicators

IMPROVEMENT
  • Loading Indicator: ยกเลิกการแสดงผลหลอดโหลดสำหรับการนำเข้าข้อมูลหรือเปลี่ยนหน้าจอทั่วไป เพื่อไม่ให้รบกวนผู้ใช้งานบ่อยเกินไป โดยจะแสดงหลอดโหลดเฉพาะตอนอัปโหลดรูปภาพของ caseSubmit และ ว.12 เท่านั้น
V. 1.5.4 20 Jun 2026

Real-time Image Upload Progress Indicator Bars

IMPROVEMENT
  • Case Submission – หลอดโหลดแสดงความคืบหน้า: เพิ่มหน้าต่างแสดงเปอร์เซ็นต์ความคืบหน้าการอัปโหลดไฟล์รูปภาพหลักฐานส่งเคส (Real-time Upload Progress Bar) พร้อมระบบปิดการกดส่งซ้ำซ้อน
  • ว.12 Break Status – หลอดโหลดแสดงความคืบหน้า: เพิ่มหน้าต่างแสดงเปอร์เซ็นต์ความคืบหน้าการอัปโหลดรูปหลักฐานการขอพักเวร ว.12 ในหน้าต่างแจ้งเตือนทันทีหลังจากกดยืนยัน
V. 1.5.3 20 Jun 2026

My Salary Report & Break Time Evidence Uploads

IMPROVEMENT
  • My Salary Report – โบนัสรันเคส: เพิ่มการแสดงผลตาราง 'ประวัติโบนัสรันเคส' ในหน้ารายละเอียดรายงานเงินเดือน เพื่อให้แพทย์สามารถตรวจสอบเวลาการรันเคสและจำนวนโบนัสเงินสะสมได้อย่างชัดเจน
  • ว.12 Break Status – อัปโหลดหลักฐาน: เพิ่มฟังก์ชันการอัปโหลดรูปภาพหลักฐานประกอบการขอพักเวร (ว.12) โดยรองรับการเลือกไฟล์ปกติ, Drag and Drop ลากไฟล์มาวาง, และการใช้ Clipboard Paste (Ctrl + V) วางภาพจากหน้าต่างอื่นได้ทันทีพร้อมระบบแสดงภาพตัวอย่างย่อ
  • ว.12 Break Status – Discord Hook integration: ดึงลิงก์รูปภาพที่อัปโหลดขึ้น Discord CDN Webhook กลับมาบันทึกเก็บในฐานข้อมูล เพื่อแก้ไขปัญหาลิมิตการโหลดรูปภาพข้ามเครือข่าย/เครื่อง (Cross-Device/Localhost)
  • Summary Report – คอลัมน์หลักฐาน ว.12: เพิ่มคอลัมน์และปุ่มเปิดแสดงหลักฐานรูปภาพประกอบ ว.12 (จากลิงก์ Discord CDN) ในตารางตรวจสอบประวัติการพักเวร
  • Case Submission – หน่วงเวลาการกดส่ง: เพิ่มระบบหน่วงเวลา 1.5 วินาทีหลังจากกดปุ่มส่งเคสสำเร็จเพื่อป้องกันปัญหาระบบอัปโหลดไฟล์ซ้ำหรือกดย้ำสองครั้งโดยไม่ตั้งใจ
V. 1.5.2 20 Jun 2026

Summary Report: Break Time Tab, Discord Hooks & Salary Card Refinements

IMPROVEMENT
  • Summary Report – ว.11/12 Tab: เพิ่มแท็บ 'ตรวจเวลา ว.11/12' ในหน้า summaryReport สำหรับ admin/director/assistant ให้ตรวจสอบประวัติการพักเวร (ว.11/ว.12) ของแพทย์ได้ โดยสามารถกรองตามชื่อ, ประเภท (ว.11/ว.12), และช่วงวันที่ พร้อม Summary Cards แสดงจำนวนรายการ, จำนวนแต่ละประเภท, และรายการที่กำลังใช้งานอยู่
  • Summary Report – ว.11/12 Tab: ตารางแสดงข้อมูลชื่อแพทย์, ประเภท (badge สี), เวลาเริ่ม, เวลาสิ้นสุด, เวลารวม และรองรับ Pagination 20 รายการ/หน้า รายการที่ยังไม่สิ้นสุดจะแสดง badge 'กำลังใช้งาน' สีส้ม
  • Dashboard Admin – Break Time Navigation: รายชื่อแพทย์ในกล่อง 'เวลารวมพักเวรวันนี้ (ว.11 / ว.12)' สามารถคลิกได้ เมื่อคลิกจะนำทางไปยังหน้า summaryReport แท็บ 'ตรวจเวลา ว.11/12' โดย filter ข้อมูลเฉพาะแพทย์ที่เลือกของวันนั้น (00:00 – 23:59) โดยอัตโนมัติ
  • Popup Notify: ปรับเปลี่ยน Toast Notification ให้เป็น Custom Component แบบ Premium โดยสีเขียวสำหรับสำเร็จ, สีแดงสำหรับไม่สำเร็จ, พร้อม Progress Bar นับถอยหลัง และสามารถกดปิดได้
  • Left Menu UI: ปรับ UI เมนูซ้ายให้ระยะห่างระหว่างช่องลดลง, เปลี่ยนการ Highlight รายการที่เลือกอยู่เป็นแท่งสีแนวตั้งด้านซ้าย (1.5px) ไล่สีจาก 40% ไป 0% ไม่มีขอบมนทั้งปุ่มและแท่ง
  • Sakura Town & Salary Report Card: ปรับขนาดกล่อง Sakura Town ให้เท่ากับกล่อง 'รายงานเงินเดือน' และคงขนาดคงที่ตลอดเวลาไม่ขยายตามเนื้อหา
  • Sidebar Fix: แก้ไขปัญหา Sidebar ขยายตัวดันเนื้อหาขึ้นเมื่อเมนูเปิดเต็ม ปัจจุบัน Layout คงที่ตลอดเวลาไม่ว่า Sidebar จะพับหรือขยาย
  • User Management – Mobile UI: ซ่อน Username (ID) และ Discord ID ในหน้าจัดการผู้ใช้บนหน้าจอมือถือ (ขนาดน้อยกว่า 640px) เพื่อให้ตารางอ่านง่ายและไม่แน่นเกินไป โดยข้อมูลยังคงแสดงบน Tablet และ Desktop ตามปกติ
  • Bug Fix – LANG Object Null Reference: แก้ไขข้อผิดพลาด Uncaught TypeError: Cannot read properties of null (reading 'menu_luckyspin_settings') และ 'menu_admin_dashboard' โดยการปรับปรุงการจ่ายค่า LANG ของระบบใน index.php ให้เปลี่ยนเป็น {} หากไม่มีข้อมูลหรือแปลงค่าล้มเหลว พร้อมเพิ่มการตรวจสอบตัวแปรแบบปลอดภัย (Defensive Check) ในปลั๊กอินวงล้อนำโชค (Lucky Spin)
  • Discord Webhooks: ปรับปรุงรูปแบบข้อความการสลับสถานะ ว.11 / ว.12 ให้ตรงรูปแบบอื่น และปรับ Footer ท้ายข้อความของทุก Discord Hook ให้แสดงรูปแบบ 'Sakura Hospital - [วันที่] • วันนี้ เวลา [ชั่วโมง:นาที]' โดยถอดการแสดงผลวินาทีออกตามเงื่อนไขความต้องการ
  • My Salary Report: ปรับปรุงระบบประวัติการเข้าเวรให้แสดงผลเป็น 'เวลารวม' ของการปฏิบัติงานทั้งหมด โดยไม่แยกแสดงเวรปกติและเวรโอทีออกจากกัน
  • My Salary Report: ปรับดีไซน์ส่วน 'ประวัติเคส (ในงวดนี้)' ให้แสดงเป็นกล่องสรุปแบบการ์ด 2 ฝั่ง (เคสส่งตรวจ/เคสร่วม) สวยงามแบบเดียวกับหน้า Salary Management ของผู้บริหาร
  • Database Mockup: ดำเนินการ Mockup ข้อมูลตอกเวร (Shifts) ของแพทย์ทั้งหมดในช่วงวันที่ 15-20 มิถุนายน 2026 เรียบร้อยรวม 127 รายการ เพื่อจำลองการแสดงผลสลิปเงินเดือนและประวัติอย่างสมบูรณ์
V. 1.5.1 17 Jun 2026

Bug Fixes & UI Enhancements for On-Duty and Status Controls

IMPROVEMENT
  • Database Connectivity: เพิ่มระบบตรวจสอบและสร้างตาราง `user_licenses` โดยอัตโนมัติหากไม่มีอยู่ในระบบ เพื่อแก้ไขและป้องกันข้อผิดพลาด 500 Internal Server Error
  • Doctor Dashboard: ปรับปรุงกล่อง 'จัดการสถานะ' (ว.11 / ว.12) ให้แสดงผลอยู่เสมอในรูปแบบเบลอ (Glassmorphism Blur) พร้อมป้ายเตือน 'กรุณาเข้าเวรก่อนจัดการสถานะ' แทนการซ่อนการ์ดเพื่อสัดส่วนหน้าเว็บที่สวยงามยิ่งขึ้น
  • Force Clock-out System: อัปเดตระบบบังคับออกเวรและระบบตารางตั้งเวลาออกเวร (Cron Job) ให้ทำการรีเซ็ตสถานะของแพทย์ที่กำลังพักเวรกลับเป็นสถานะปกติ (Active) และปิดบันทึกการพักเวรโดยอัตโนมัติเมื่อออกจากเวร
V. 1.4.18 16 Jun 2026

Doctor Announcements System & Editor Enhancements

FEATURE
  • Doctor Announcements: พัฒนาระบบประกาศข่าวสารอัปเดตแพทย์ โดยแยกการแสดงผลตามสิทธิ์และจัดเก็บประวัติลงฐานข้อมูลอย่างเป็นระบบ
  • Announcements UI: ปรับปรุงรูปแบบรายการประกาศเป็นแบบ Bento Grid การ์ดพรีเมียม 4 คอลัมน์ รองรับเอฟเฟกต์จุดตารางด้านหลัง และไอคอนสัญลักษณ์ Feather ตามประเภทหมวดหมู่ประกาศ
  • Detail Modal: ออกแบบหน้าต่างแสดงเนื้อหารายละเอียดของประกาศให้มีโครงสร้างสวยงามคล้ายหน้าหนังสือคู่มือ พร้อมระบบขยายรูปภาพสไลด์โชว์ และปุ่มกดย้อนกลับแยกต่างหาก
  • Emoji Picker: ติดตั้งระบบเลือกอิโมจิสไตล์ iPhone (iOS-Style Emoji Keyboard) แยกตามประเภท พร้อมระบบค้นหาอัจฉริยะในหน้าฟอร์มสร้าง/แก้ไขประกาศ
  • Highlight & Links Toolbar: เพิ่มแถบปุ่มสีไฮไลท์ข้อความ (เขียว, เหลือง, แดง, น้ำเงิน, เทา) และการผูกลิงก์ระบบจากบาร์โดยตรง รวมถึงปรับปรุงคลิกขวาเป็นกล่องโต้ตอบของ SweetAlert2 แทน Browser Prompts ทั้งหมด
  • Typography & Scrollbar: ปรับสเปซการเลื่อน Scrollbar ของโมดอลไม่ให้เบียดชนกับปุ่มปิด และเรียกคืนขนาดตัวอักษรของหัวข้อ H1-H6 ให้ถูกต้องเหมาะสมตามระดับลำดับความสำคัญ
  • Category Filter Popup: เพิ่มแถบตัวกรองหมวดหมู่ (Category Filter) บนป๊อปอัปประกาศข่าวสาร ช่วยให้แพทย์สามารถคลิกแยกดูเฉพาะเรื่องที่ต้องการได้ทันที
  • Multi-Image Upload & URLs: ปรับปรุงระบบเพิ่มรูปภาพประกาศให้สามารถแนบได้ทีละหลายๆ รูป ทั้งรูปแบบลิงก์ URL และการอัปโหลดไฟล์ภาพจากเครื่องพร้อมกัน
  • Rich Text Features: เพิ่มเครื่องมือปรับขนาด ฟอนต์ สีตัวอักษร และการแทรกรูปภาพเข้าไปในเนื้อความประกอบประกาศ ณ จุดที่ต้องการโดยตรง
  • Nested Highlights: แก้ไขและปรับปรุงตัวถอดรหัสโค้ดพิเศษ (Regex Parser) ให้ประมวลผลข้อความไฮไลท์แบบวงเล็บซ้อนกันเช่น #[[ ข้อความ ]](สี) ให้แสดงผลได้อย่างถูกต้องสมบูรณ์
V. 1.4.17 15 Jun 2026

Salary Management & Case Awards Integration

FEATURE
  • Salary Management: ปรับปรุงการคำนวณค่าตั๋วพิเศษ โดยคำนวณรวมจากทั้งประวัติส่งเคสและประวัติที่กรอกเพิ่มคะแนนเคส (Case Awards) ตลอดทั้งรอบบิลโดยไม่ต้องมีตัวกรองวันที่
  • Salary Management: ปรับปรุงตารางผลการคำนวณโดยนำช่องกรอกโบนัสค่าตั๋วเคส (ข้างชั่วโมงรวม) และซ่อนคอลัมน์ระบบกาชา (Auto/Manual/รวม) เพื่อความคล่องตัวในการดูข้อมูล
  • My Salary Report: เพิ่มการแสดงผลยอดเงินรายรับของตนเองในหน้ารายชื่อแพทย์ (มุมบนขวา) เพื่อให้ตรวจสอบรายได้งวดนั้นๆ ได้ทันที
  • My Salary Report: ซ่อนตัวเลือกช่วงวันที่สำหรับตั๋วพิเศษ ให้แสดงเฉพาะยอดเงินสะสมจากอัตราค่าตั๋วในรอบบิลนั้นๆ
  • User Management: แก้ไขและปรับปรุงส่วนแก้ไขข้อมูลแพทย์ให้เป็นไปตามสิทธิ์ และบันทึกสังกัดยศรองได้อย่างถูกต้อง
V. 1.4.16 13 Jun 2026

Case Run & Dashboard: UI Improvements & Fixes

FEATURE
  • Case Run Bonus: เพิ่มฟังก์ชันกำหนดอัตราเงินได้ต่อนาทีแยกกันสำหรับคนรันเคส/คนประกาศ (Operator) และคนรับเคสปกติ
  • Case Run Bonus: แก้ไขปัญหาการกดเพิ่มรายชื่อแพทย์ไม่ได้ในหน้าโบนัสรันเคส
  • Case Run Bonus: ปรับปรุงการคำนวณและแสดงผลเงินโบนัสคนรัน/คนประกาศในทุกจุดที่เกี่ยวข้อง
  • Case Run: รวม Input อัตราเงินได้ต่อนาทีแสดงเรียงบน-ล่างพร้อมเส้นคั่น รองรับทศนิยม 2 ตำแหน่ง (step=0.01)
  • Case Run: ปรับสัดส่วนตาราง 'เคสมีปัญหา' Padding กว้างขึ้น Checkbox ใหญ่ขึ้น (w-5 h-5) พร้อม Transition Hover
  • Case Run: แก้ไขข้อความ 'ค่าปรับบิลลอยให้แจ้งส่วนกลางก่อนปรับ', 'อย่าลืม OVERLAY !!' และ typo 'ติ๊ก'
  • Dashboard Doctor: ปรับปรุง UI ปุ่ม 'ลงคิวรับเคส' เป็น Gradient พร้อม Hover Glow และ Shimmer Effect
  • Dashboard Doctor: เปลี่ยนแสดงสถานะเป็น 'แถวที่ X ในตารางรันเคส' หากถูกจัดลงตารางแล้ว หรือ 'โปรดแจ้งผู้รันเคสให้ลงคิว' หากยังไม่มี
V. 1.4.15 06 Jun 2026

Lucky Spin Dynamic Weight Scaling

IMPROVEMENT
  • Lucky Spin: เพิ่มระบบปรับอัตราน้ำหนักแบบไดนามิก (Dynamic Weight Scaling) ในลักษณะเรียลไทม์ตามจำนวนตัวเลือกที่ลดลง (เช่น มี 10 รายการ ตั้งไว้ 2% เมื่อสุ่มออกไปจนเหลือ 5 รายการ อัตราจะเพิ่มขึ้นเป็น 4% โดยอัตโนมัติ)
  • System Core: ปรับปรุงความถูกต้องของอัลกอริทึมการสุ่มระหว่างส่วนการแสดงผลของวงล้อ (Frontend Canvas) และการคำนวณผลรางวัล (Backend luckySpin API) ให้สอดคล้องกัน 100%
  • System Core: อัปเดตเลขเวอร์ชันสคริปต์ (Cache Busting) เพื่อบังคับให้เบราว์เซอร์ดาวน์โหลดไฟล์ตั้งค่าและฟังก์ชันการสุ่มล่าสุดทันที
V. 1.4.14 06 Jun 2026

Lucky Spin Doctor Avatar Integration

FEATURE
  • Lucky Spin: รองรับการแสดงผลรูปภาพโปรไฟล์แพทย์ (Doctor Avatar) ในระบบวงล้อเสนอชื่อแพทย์ (auto_doctor_names)
  • Lucky Spin: ดึงรูปโปรไฟล์แพทย์มาวาดลงในช่องแบ่งของวงล้อสุ่ม (Canvas segments) พร้อมจัดวางข้อความเยื้องเข้าหาศูนย์กลางเพื่อไม่ให้ซ้อนทับกัน
  • Lucky Spin: เพิ่มการแสดงผลรูปโปรไฟล์ของแพทย์ผู้โชคดีลงในหน้าต่างป๊อปอัปประกาศผล (Result Modal) โดยจัดวางในกรอบรูปพรีเมียมตามระดับความพิเศษของรางวัลแทนที่ไอคอนแบบเก่า
V. 1.4.13 05 Jun 2026

Comprehensive Thai Quote Fix & Cache Busting

BUGFIX
  • Bug Fix: แก้ไขข้อผิดพลาด Syntax Error สำหรับภาษาไทยทั้งหมดในระบบโดยการแปลง Single Quotes เป็น Double Quotes ในสคริปต์หน้าต่างๆ
  • System Core: ปรับเพิ่มเวอร์ชันเพื่อทำลายแคชของเบราว์เซอร์ (Cache Busting) บังคับเบราว์เซอร์ดาวน์โหลดสคริปต์แก้ไขไวยากรณ์เวอร์ชันล่าสุด
  • Redeem Points: ปรับปรุงหน้าประวัติการแลกของรางวัลให้แสดงผลเป็นตารางที่อ่านง่ายขึ้น พร้อมระบุผู้ดำเนินรายการและเวลาที่อนุมัติสำเร็จ
  • Redeem Points: เพิ่มการแสดงผลสิทธิ์คงเหลือรายบุคคล (Max/User) ของผู้ใช้ในหน้าแลกรางวัล (เช่น 1/3 ครั้ง)
  • Profile Management: เพิ่มปุ่มข้อมูล (ไอคอน i) ที่กล่อง My Points เพื่อแสดงประวัติการได้รับและใช้งานพ้อยท์ส่วนตัวผ่าน Popup
  • Bug Fix: แก้ไขฟังก์ชันการอนุมัติคำขอแลกพ้อยท์ขัดข้องเนื่องจากการเรียกใช้ฟังก์ชันส่งพารามิเตอร์ไม่ครบถ้วน (ArgumentCountError)
  • Doctor Dashboard: ปรับปรุงการแสดงผล TOP 10 เวลาเข้าเวรของแพทย์ใหม่ โดยแสดงภาพโปรไฟล์ ชื่อ และระยะเวลาที่เข้าเวรในรูปแบบ วัน/ชั่วโมง/นาที พร้อมดีไซน์อันดับ 1-3 อย่างพรีเมียม
V. 1.4.12 05 Jun 2026

Thai Translation Quote & Encoding Fix

BUGFIX
  • Bug Fix: แก้ไขข้อผิดพลาด Syntax Error จากการใช้เครื่องหมายคำพูด (Quotes) สำหรับภาษาไทยในไฟล์สคริปต์ของระบบ เพื่อเสถียรภาพในการใช้งาน
V. 1.4.11 05 Jun 2026

Module Cache Busting & Syntax Correction

IMPROVEMENT
  • System Core: เพิ่มระบบ Cache Busting สำหรับโมดูล JavaScript เพื่อบังคับเบราว์เซอร์ให้โหลดโค้ดเวอร์ชันล่าสุดโดยอัตโนมัติ
  • System Core: เพิ่มการกำหนดค่า .htaccess เพื่อยกเลิกการแคชไฟล์สคริปต์ในเบราว์เซอร์ผู้ใช้ ป้องกันปัญหาไฟล์ค้าง
  • Bug Fix: แก้ไขข้อผิดพลาดทางไวยากรณ์ (SyntaxError) ของภาษาไทย 'คน' ใน dashboardAdmin.js และ 'เพิ่มของรางวัล' ใน redeemSettings.js ให้กลับมาทำงานได้เป็นปกติ
  • Plugin Manager: กู้คืนระบบการโหลดสคริปต์ของปลั๊กอินวงล้อนำโชค (Lucky Spin) ในหน้าแรกของระบบ
V. 1.4.10 04 Jun 2026

Lucky Spin Reset Board & Strict History Filtering

FEATURE
  • Lucky Spin: เพิ่มปุ่ม 'รีเซ็ตกระดาน' (Reset Board) เพื่อรีเซ็ตจำนวนคงเหลือของไอเท็มทั้งหมดในวงล้อปัจจุบันกลับเป็นค่าตั้งต้น
  • Lucky Spin: เพิ่มการบันทึกประวัติ (Logs) การรีเซ็ตกระดานลงในประวัติการหมุน พร้อมเก็บชื่อผู้ทำรายการและเวลา
  • Lucky Spin: ปรับปรุงการแสดงผลประวัติการรีเซ็ตกระดานในตารางให้เด่นชัดด้วยไอคอนย้อนกลับสีแดง (rotate-ccw)
  • Lucky Spin: ปรับปรุงระบบตัวกรองประวัติให้แสดงผลเฉพาะประวัติการหมุนของวงล้อที่เลือกอยู่เท่านั้น เพื่อป้องกันข้อมูลปะปนกัน
V. 1.4.9 03 Jun 2026

Salary Report Label & Summary Update

IMPROVEMENT
  • Salary Management: เปลี่ยนชื่อรายการ โบนัส (กรอกเอง) เป็น ค่าตั๋วเคส ในตาราง สรุปรายบุคคล และ Export
  • Salary Management: เพิ่มการ์ด ค่าตั๋วเคส รวม และให้อัปเดตยอดแบบทันทีเมื่อแก้ไขค่าในรายงานร่าง
  • Salary Management: ซ่อนสรุป Painkiller ที่ขายไปทั้งหมด และแทนพื้นที่สรุปกาชาด้วยยอดค่าตั๋วเคสตามที่ใช้งานจริง
  • My Salary Report: ปรับการแสดงผลโบนัส manual เป็น ค่าตั๋วเคส โดยยังใช้ข้อมูลเดิมเพื่อไม่กระทบรายงานเก่า
  • Language: อัปเดตคำแปล bonus_manual เป็น ค่าตั๋วเคส / Case Ticket Fee
  • Bug Fix: แก้ไขปัญหาโครงสร้างไฟล์หลัก (main.js) ทำงานผิดพลาด (Unexpected end of input) และกู้คืนเมนูที่หายไป
  • Bug Fix: แก้ไขการแสดงผลข้อความภาษาไทย (Mojibake) ในระบบการแจ้งเตือน (Notifications) และหน้าต่างยืนยัน
  • Dashboard Admin: เพิ่มปุ่ม 'บังคับออกเวรทั้งหมด' เพื่อจบเวรผู้ปฏิบัติงานทั้งหมดในครั้งเดียว
  • Profile Management: เปลี่ยนการแสดงผลช่อง 'ชั่วโมง OT' เป็น 'จำนวนรวมเคสทั้งหมด' ของตนเอง
  • Profile Management: เปลี่ยนการแสดงผล 'กาชารวม' เป็น 'เงินจากค่าตั๋วเคสรวม' ของตนเอง
  • Bug Fix: แก้ไขปัญหาปุ่ม Hamburger Menu บนเวอร์ชันมือถือกดแล้วเมนูไม่แสดง (แก้การทำงานซ้อนทับกัน)
  • Bug Fix: แก้ไขชื่อหน้า ตรวจเคส/ส่งเคส และข้อความเมนูต่างๆ ที่กลายเป็นภาษาแปลกๆ (Mojibake) ให้กลับมาเป็นภาษาไทยที่ถูกต้อง
  • System Logs: เพิ่มการบันทึกประวัติ (Logs) การตั้งค่า Surge Pricing อย่างละเอียด (บันทึกผู้เพิ่ม/ลบ/แก้ไข, ฟิลด์ที่เปลี่ยนแปลงเทียบค่าเก่า-ใหม่)
  • Event Settings: เพิ่มปุ่ม 'ดูประวัติ' (Logs) รายบุคคลในตาราง Surge Pricing เพื่อดูเวลาและผู้ทำรายการล่าสุดในรูปแบบ Popup
  • Redeem Settings: เพิ่มคอลัมน์แสดง 'ผู้สร้าง' ในตารางการจัดการของรางวัล
  • Redeem Settings: เพิ่มระบบบันทึก Logs จัดการของรางวัลแบบละเอียด (การสร้าง, ประวัติการแก้ไขแต่ละฟิลด์, และการลบ) และส่งข้อมูลไปยัง System Logs
  • Case Submit: ปรับสิทธิ์การแสดงผลตารางประวัติส่งเคส ให้ทุกคนมองเห็นเฉพาะเคสของตนเองเท่านั้น (รวมถึงระดับ Admin)
V. 1.4.8 03 Jun 2026

System Settings, Login Background & Dashboard Fixes

IMPROVEMENT
  • System Settings: เปลี่ยนชื่อโปรแกรมให้ดึงจาก systemSettings และแสดงผลกับ sidebar, footer และหน้า Login
  • Appearance: เพิ่มการตั้งค่าสีหลักของระบบให้ปรับจาก Web Setting และแสดงผลตาม CSS variables จริง
  • Login Background: เพิ่มอัปโหลดรูปพื้นหลังหน้า Login จาก systemSettings พร้อมขนาดแนะนำ 3840*2160 px และบันทึกลง system_settings.login_background_config
  • Plugins UI: ปรับกล่องจัดการระบบเสริม (Plugins) ให้ระยะห่างและความสูงสม่ำเสมอ ไม่ชนกัน
  • Dark/Light Mode: ปรับสีที่ค้างเป็นโทนฟ้าและแก้ footer copyright ให้ใช้พื้นดำโปร่งตามโหมด พร้อมแก้ข้อความหายใน Light Mode
  • Automation: เพิ่มปุ่มเปิด/ปิดการบันทึก cron_log โดย Cron Job ยังทำงานตามปกติเมื่อปิดเฉพาะ log
  • Dashboard Admin: แก้การนับผู้เข้าเวรวันนี้กับกำลังปฏิบัติงาน และแก้ข้อความภาษาไทยที่แสดงผลผิด encoding
  • Case Workflow: ปรับแนวทางระบบเคสเป็นส่งจำนวนเคสและลิงก์ Google Drive จาก Doctor พร้อมหน้าอนุมัติสำหรับ Admin, Director และ Assistant
  • Stability: แก้ timezone ของฐานข้อมูลเป็น +07:00 เพื่อให้เวลาเข้าเวรตรงกับเวลาไทย
V. 1.4.7 03 Feb 2026

Points System & Plugin Management

MAJOR
  • Points System: เพิ่มระบบสะสมคะแนน (Points) ทดแทนบางส่วนของรางวัลที่เป็นตัวเงิน พร้อมประวัติแต้ม
  • Skill Matrix: ระบบประเมินทักษะแพทย์รูปแบบ Spider Chart พร้อมตัวช่วยคำนวณอัตโนมัติจากเวรและเคส
  • System Plugins: เพิ่มแท็บ 'Plugins' ในตั้งค่าระบบ สำหรับเปิด-ปิดโมดูล Skill Matrix, Achievements, Surge Pricing และ Event Activity
  • Plugin Visibility: ซ่อน UI, แบนเนอร์ และไอคอนที่เกี่ยวข้องอัตโนมัติเมื่อปิดการใช้งาน Plugin นั้นๆ
  • Achievements: ปรับปรุงระบบความสำเร็จให้เชื่อมโยงเทบคะแนน (Points) และบันทึกประวัติ
  • Events: เพิ่มการตั้งค่า Bonus Points สำหรับกิจกรรมพิเศษ
V. 1.4.5 21 Jan 2026

Comprehensive UI/UX Improvements

MAJOR
  • Dark Mode: เพิ่ม Theme สำหรับ SweetAlert2 popups และ Select dropdowns ให้รองรับ Dark Mode อย่างสมบูรณ์
  • Pagination: ปรับรูปแบบปุ่มเลือกหน้าเป็น << < 1 2 3 > >> ในหน้า Summary Report และ Approve Work
  • User Management: เพิ่มกราฟ Doughnut Chart แสดงสัดส่วนจำนวนแพทย์แยกตามยศ พร้อม Card Animation แบบใหม่
  • User Management: แก้ไขบั๊กแสดง 'undefined' ในประวัติการแก้ไขผู้ใช้
  • Event Activity: แก้ไขบั๊กการปั๊มตราที่แสดง Error เนื่องจากรูปแบบเวลาไม่ถูกต้อง
  • Micro-animations: เพิ่ม CSS Animation classes (bounce-in, slide-up, stagger-animation) สำหรับใช้ทั้งระบบ
  • Rank Simulation: เพิ่มโหมดจำลองยศสำหรับ Admin ทดสอบสิทธิ์การเข้าถึงหน้าต่างๆ ได้
  • Summary Report: ปรับแสดงเวลาในรายงานสรุปตามยศเป็นรูปแบบ HH:MM
V. 1.4.4 20 Jan 2026

UI Refinements & System Settings

IMPROVEMENT
  • เพิ่มแท็บ Setting System ใน System Settings สำหรับตั้งชื่อโปรแกรมและปรับสี UI หลัก (Color Picker + Hue/Saturation)
  • ปรับหน้า Summary Report แสดง 'ไม่มีคำขอที่รอดำเนินการ' เมื่อยังไม่เลือกตัวกรอง
  • ปรับ Checkbox UI ในหน้า Budget Management ให้เป็นแบบ Custom Styled
  • ปรับ Pagination ในหน้า User Management เป็นแบบ << < 1 2 3 > >>
  • ปรับการแสดงเวลาเวรใน User Management ให้เป็นข้อความเฉยๆ (ไม่มีกรอบ)
  • ปรับการแสดง Pay Rate ไม่ให้มีทศนิยม .00
  • แก้ไขการอัปโหลดรูปโปรไฟล์ให้ทำได้โดยไม่ต้องส่งข้อมูลยศ
  • แก้ไข session_start warning ในหน้า Changelog
V. 1.4.3 10 Jan 2025

Sidebar & UX Improvements

IMPROVEMENT
  • ปรับ Layout เมนูทางซ้าย (Sidebar) ให้ไอคอนและข้อความอยู่บรรทัดเดียวกัน (Flex-row)
  • ปรับขนาดไอคอนเมนูให้เล็กลง (18px) เพื่อความสมดุลและสวยงาม
  • แก้ไขบั๊กเมนูแจ้งเตือน (Notification Dropdown) ที่กดแล้วปิดเองทันที
  • เพิ่มลิงก์ที่เลขเวอร์ชัน (Footer) ให้สามารถกดดูประวัติการอัปเดตได้ (Changelog)
V. 1.4.2 08 Jan 2025

Modern UI & Dark Mode Polish

IMPROVEMENT
  • อัปเดตไฟล์ CSS (style.css) เป็นเวอร์ชันใหม่ รองรับ Dark Mode ที่สมบูรณ์ขึ้น
  • เพิ่ม Effect พื้นหลังจางๆ (Soft Highlight) เมื่อเอาเมาส์วางบนเมนู
  • ปรับปรุง Animation การเลื่อนเปิด/ปิดเมนูย่อย (Submenu) ให้ลื่นไหล
  • เพิ่มเส้นขอบ (Accent Border) ด้านซ้ายของเมนูที่กำลังใช้งานอยู่
V. 1.4.0 05 Jan 2025

Major System Update (Notification & Refactor)

MAJOR
  • เพิ่มระบบแจ้งเตือน (Notification System) แบบ Real-time (Polling)
  • เพิ่มปุ่มกระดิ่งแจ้งเตือนที่แถบด้านบน แสดงจุดแดงเมื่อมีรายการใหม่
  • Refactor โครงสร้าง API ใหม่ทั้งหมด แยกไฟล์เป็นหมวดหมู่ (api/auth.php, api/users.php, etc.)
  • เพิ่มระบบส่งแจ้งเตือนหา Admin อัตโนมัติเมื่อมีคำขอลา, ลืมลงเวร หรือขายยา
  • รวมเมนูตั้งค่า (Language, Theme, Admin Tools) ไว้ในปุ่มเดียว
V. 1.3.18 01 Jan 2025

Event System Enhancement

FEATURE
  • ปรับปรุงระบบกิจกรรม (Event) ให้คำนวณเวลางานได้แม่นยำขึ้น
  • รองรับการนับเวลางานจากทั้ง 'การเข้าเวรปกติ' และ 'ใบแจ้งลืมลงเวร' ที่อนุมัติแล้ว
  • เพิ่มการตรวจสอบช่วงเวลาทับซ้อน (Overlap Check) ก่อนสร้างกิจกรรมใหม่
  • แก้ไขการแสดงผลปฏิทินกิจกรรมให้รองรับสถานะ 'สำเร็จ', 'รอปั๊ม', 'พลาด' ได้ถูกต้อง
V. 1.3.17 27 Dec 2025

Update

MAJOR
  • UI/UX Overhaul: ปรับโฉมหน้าตาของระบบใหม่ทั้งหมด (Modern UI) ให้ดูทันสมัย สะอาดตา และใช้งานง่ายขึ้น (Login แบบ Glassmorphism, การจัดวางแบบ Card Layout, เมนูและ Tabs ดีไซน์ใหม่)
  • Salary Management: ปรับปรุงหน้ารายงานเงินเดือน แยกยอด Gacha (Auto/Manual) ชัดเจน, เพิ่มรายละเอียดใน Popup ของแพทย์ (ยอดสุทธิ, หักเงิน, หมายเหตุ), และปรับโหมด Read-only สำหรับรายงานที่ปิดงวดแล้ว
  • Approve Work: ปรับดีไซน์หน้าอนุมัติ แยก Tab และตารางให้ดูง่าย พร้อมปุ่ม Bulk Action ที่เด่นชัดขึ้น
  • Calendar Report: ปรับปรุงหน้าปฏิทินและ Timeline รายวันให้ดูง่ายขึ้น และเชื่อมโยงการคลิกแท่งเวลาไปยังหน้าแก้ไขข้อมูล (Summary Admin Edit) ได้ทันที
  • System Core: ขยายเวลา Session Login ให้ค้างอยู่ในระบบได้นานขึ้น (3 วัน) และเพิ่ม Animation การเปลี่ยนหน้าให้ดูลื่นไหล
V. 1.3.16 26 Dec 2025

Update

MINOR
  • Shift & Story Requests: ปรับปรุงหน้าขออนุมัติอัดฉีดและโบนัสสตอรี่ให้เป็นแบบ Modern Form พร้อมระบบเลือกรายชื่อแพทย์แบบใหม่
  • User Management: ปรับปรุงตารางจัดการผู้ใช้งาน เพิ่มการแสดงสถานะ (Active/Non-active) และการเรียงลำดับข้อมูล
  • Summary Report: ปรับปรุงหน้าสรุปผล แยกส่วน Admin Edit ออกเป็น Card ย่อยตามประเภท (Shift, Missed, Sales) เพื่อความสะดวกในการแก้ไข
V. 1.3.15 26 Dec 2025

Update

MINOR
  • Salary Management: ปรับปรุงระบบคำนวณเวรข้ามคืนให้แม่นยำขึ้น, แสดงเวลาที่เข้าไม่ครบ (Missed Time), เปลี่ยนรูปแบบเวลาเป็น HH:MM, และนำช่องกรอก เงินหัก/หมายเหตุ กลับมา
  • Dashboard (Admin & Doctor): ปรับกราฟ Top 10 ให้แสดงข้อมูลผลรวมจริง (ไม่ใช่ค่าเฉลี่ย), แก้ไข Tooltip และแกนเวลาเป็น HH:MM, Admin เพิ่มตัวกรอง Custom Range
  • User Management: ปรับดีไซน์ใหม่ (Modern UI), เพิ่มคอลัมน์ ID, และเพิ่มระบบ Sorting (คลิกหัวตารางเพื่อเรียงลำดับ)
  • Budget & Approve Work: เพิ่มระบบ Bulk Approval/Rejection (อนุมัติ/ปฏิเสธ แบบกลุ่ม) พร้อม Checkbox เลือกรายการ และเพิ่ม Pagination
  • Reports Integration: เชื่อมโยง Calendar Report (คลิกที่แท่งเวลา) ให้ส่งค่า Filter ไปเปิดหน้าแก้ไขข้อมูลใน Summary Report โดยอัตโนมัติ
  • My Salary Report: ปรับปรุง UI หน้ารายละเอียด และเพิ่มระบบ Pagination ในตารางประวัติ
V. 1.3.14 23 Dec 2025

Update

MAJOR
  • Dashboard (Analytics): ปรับปรุงกราฟ Performance Radar ให้เส้น Max (สีเขียว) คือค่าเฉลี่ยของ Top 10 และเส้น Avg (สีส้ม) คงที่เมื่อเปลี่ยนคน
  • Dashboard (Analytics): ปรับ Heatmap ให้แสดงเป็น 'ค่าเฉลี่ย' การเข้าเวร เพื่อความแม่นยำ และเพิ่มโหมดกราฟเส้น
  • Dashboard (Analytics): เพิ่มกราฟ Top 10 เวลาเข้าเวร และ ยอดขายยา
  • Dashboard (Analytics): กราฟการเงิน (Financial Trend) ดึงข้อมูลเฉพาะรายงานที่ ปิดงาน (Final) แล้วเท่านั้น และแสดงตามรอบบิลจริง
  • Dashboard (Overview): สรุปยศ (Rank) นับเฉพาะคนที่ เข้าเวรอยู่ (Active) และนำปุ่ม บังคับออกเวร กลับมา
  • Calendar Report: เพิ่ม Tab Timeline (รายวัน) แสดงกราฟแท่งช่วงเวลาเข้าเวร 24 ชม. พร้อมเส้นแดงบอกเวลาปัจจุบัน
  • System-wide: ปรับรูปแบบปีเป็น ค.ศ. (เช่น 2025) ทั้งระบบ
V. 1.3.13 09 Dec 2025

Update

PATCH
  • System Fix: แก้ไขปัญหาการบันทึกข้อมูล รายชื่อที่ซ่อนจากปฏิทิน (Calendar Hidden Users) ไม่ทำงาน
  • Permissions: อนุญาตให้ระดับ Director สามารถบันทึกการตั้งค่าระบบ (ในส่วนปฏิทิน) ได้
  • UI Update: ปรับรูปแบบปีจาก พ.ศ. (เช่น 2568) เป็น ค.ศ. (เช่น 2025) ในทุกหน้าของระบบ (Dashboard, Reports, History, Approvals)
V. 1.3.12 25 Nov 2025

Update

MINOR
  • Core Fix: แก้ไขสิทธิ์ (Permission) ให้ระดับ Doctor สามารถบันทึก/แก้ไข แจ้งลืมลงเวลา และ ขายยา ได้
  • Admin Dashboard: เพิ่มยศหลังชื่อแพทย์ในรายการเข้าเวร และแสดงสีตามยศ
  • Admin Dashboard: เพิ่มสรุปจำนวนแพทย์ที่เข้าเวรแยกตามยศ
  • Admin Dashboard: ปรับรูปแบบเวลาในกราฟ Top 10 เป็น HH:MM
  • Budget Management: เพิ่มคอลัมน์ ช่วงเวลา ในตารางอนุมัติ (Story & Shift Incentive)
  • Missed Shift: ปรับฟอร์มแจ้งลืมลงเวลาให้ระบุ วัน-เวลา เริ่มต้น และ สิ้นสุด แยกกันได้ (รองรับข้ามวัน)
  • Summary Report (Admin): เพิ่มระบบ Pagination (แบ่งหน้า) ในตารางแก้ไขข้อมูล
V. 1.3.11 20 Nov 2025

Update

MAJOR
  • เพิ่มระบบ Setting Autofill สำหรับช่วยพิมพ์คำสั่งประกาศ (Story Commands)
  • เพิ่มปุ่ม Filter หมวดหมู่ ในหน้าคำสั่งประกาศ (Tab Use) เพื่อให้หาง่ายขึ้น
  • ปรับปรุงช่องกรอกข้อมูลให้แสดงเฉพาะตัวแปรที่เกี่ยวข้องกับหมวดหมู่ที่เลือก
  • เพิ่ม Datalist ในช่องกรอกตัวแปร ให้เลือกค่าจาก Autofill หรือพิมพ์เองได้
  • เพิ่มปุ่ม ดูรายชื่อแพทย์ (รูปตา) ในหน้าอนุมัติและประวัติ (Budget Management) เพื่อดูรายละเอียดก่อนอนุมัติ
  • เพิ่ม Badge แจ้งเตือน จำนวนคำขอที่รออนุมัติ ในเมนูจัดการโบนัส (Sidebar)
  • แก้ไขปัญหา Tailwind CSS fail to load โดยเพิ่มระบบตรวจสอบ (Polling)
  • แก้ไขปัญหา Clipboard API บน HTTP โดยเพิ่ม Fallback function
V. 1.3.10 15 Nov 2025

Update

MINOR
  • เพิ่มเมนู Story Commands สำหรับจัดการคำสั่งประกาศ
  • เพิ่มเมนู Story Incentive Request สำหรับขออนุมัติโบนัสสตอรี่
  • เพิ่มเมนู Shift Incentive Request สำหรับขออนุมัติอัดฉีดเวร
  • ปรับปรุงระบบจัดการสิทธิ์ (Roles) ให้รองรับเมนูใหม่

© 2026 Sakura Medical