BOOK 21/25พนักงานและระบบ
จัดการพนักงาน
เพิ่ม แก้ไข และปิดใช้งานพนักงาน กำหนด role และ PIN เข้าใช้งานให้แต่ละคน รีเซ็ต PIN ที่ลืม และดูจุดเชื่อมระหว่าง role ของพนักงานกับตารางสิทธิ์แยกต่างหาก
เพิ่มและดูรายชื่อพนักงาน
ภาพรวมหน้าจัดการพนักงาน
หน้า “จัดการพนักงาน” (เมนู 👤 พนักงาน) แบ่งเป็น 2 แท็บ: “พนักงาน” สำหรับเพิ่ม/แก้ไข/ลบพนักงานและตั้งค่า PIN — กับ “สิทธิ์” สำหรับกำหนดว่าแต่ละ role ทำอะไรได้บ้าง (มีคู่มือโมดูล “จัดการสิทธิ์” แยกต่างหากพูดถึงรายละเอียด)
แถบเครื่องมือด้านบนมี 3 ปุ่ม: “⬇ ดึงจาก JARVIS” (นำเข้าพนักงานจากระบบ HR กลางอัตโนมัติ), “👁 แสดง/ซ่อน PIN” (สลับสถานะคอลัมน์ PIN — ดูรายละเอียดในส่วนตั้ง PIN ด้านล่าง) และลิงก์ไปหน้า “🔐 PIN login” (หน้าที่พนักงานใช้ล็อกอินจริงที่เครื่องกลาง)
ต้องมีสิทธิ์ staff.manage ถึงจะเข้าหน้านี้ได้เลย — ถ้าไม่มีทั้งสิทธิ์นี้และสิทธิ์จัดการสิทธิ์ (permission.manage) จะเห็นข้อความแจ้งไม่มีสิทธิ์แทนเนื้อหาทั้งหมด

เปิดภาพเต็ม เพิ่มพนักงานใหม่
กรอกชื่อพนักงาน (บังคับ, ช่องเดียวที่ต้องกรอก) เลือก role จาก dropdown (เว้นว่าง = ระบบเลือก role “พนักงานเสิร์ฟ” ให้อัตโนมัติ), ใส่ JARVIS empId ถ้าจะผูกกับพนักงานที่มีอยู่ใน JARVIS, ตั้ง PIN เอง 4 หลัก หรือเว้นว่างให้ระบบสุ่ม PIN 4 หลักที่ไม่ซ้ำใครให้
ชื่อพนักงานไม่บังคับให้ไม่ซ้ำกัน — เพิ่มพนักงานสองคนชื่อเดียวกันได้ (ดู “จุดที่มักสับสน” ด้านล่างเรื่องผลกับการนำเข้าจาก JARVIS)
LINE userId และเบอร์โทร เป็นช่องเสริม (LINE userId เตรียมไว้สำหรับ login ผ่านมือถือพนักงานเองในอนาคต ยังใช้งานจริงไม่ได้ตอนนี้)

เปิดภาพเต็ม แก้ไขข้อมูลพนักงานในตาราง
แต่ละแถวแก้ไขได้ทันทีไม่ต้องเปิดหน้าต่างแยก: เปลี่ยน role ได้จาก dropdown ในคอลัมน์ ROLE, แก้ LINE userId/เบอร์โทรโดยพิมพ์ในช่องแล้วกด Enter หรือคลิกออกจากช่อง (auto-save), ติ๊ก/ปลดติ๊กคอลัมน์ “ใช้งาน” เพื่อเปิด-ปิดสิทธิ์ล็อกอินของพนักงานคนนั้นทันที
ปุ่มถังขยะทางขวาสุดลบพนักงานถาวร (มีกล่องยืนยันก่อนลบเสมอ) — ระบบไม่ตรวจสอบว่าพนักงานคนนั้นมีบิล/กะ/ประวัติเชื่อมอยู่หรือไม่ก่อนลบ (ดู “จุดที่มักสับสน”)

เปิดภาพเต็ม
ตั้งและรีเซ็ต PIN เข้าใช้งาน
ปุ่ม “แสดง/ซ่อน PIN”
ปุ่มนี้แค่สลับข้อความปุ่มระหว่าง “👁 แสดง PIN” กับ “🙈 ซ่อน PIN” และเปลี่ยนไอคอนหน้าคอลัมน์ PIN ของแต่ละแถว — ตัวเลข PIN จริงจะไม่ถูกส่งกลับมาที่เบราว์เซอร์เลยไม่ว่ากดปุ่มนี้หรือไม่ (server ตัดค่า PIN ทิ้งทุกครั้งที่ตอบ API เพื่อความปลอดภัย) คอลัมน์ PIN จึงแสดง “—” เสมอ ปุ่มนี้ใช้เปิด/ปิดการมองเห็นปุ่มแก้ไข PIN เท่านั้น ไม่ใช่การเปิดดูเลข PIN จริง
ปุ่มนี้ (และปุ่มแก้ไข PIN ✏️ ในแต่ละแถว) จะเห็นเฉพาะเจ้าของร้าน หรือผู้มีสิทธิ์ “จัดการสิทธิ์” (permission.manage) เท่านั้น — มีสิทธิ์ staff.manage อย่างเดียว (เพิ่ม/ลบ/แก้ role พนักงานได้) ไม่พอจะเห็นปุ่มนี้

เปิดภาพเต็ม รีเซ็ต PIN ด้วยคีย์แพดบนหน้าจอ
กดปุ่ม ✏️ ข้างคอลัมน์ PIN ของพนักงานคนที่ต้องการเปลี่ยน จะเปิดหน้าต่างคีย์แพดตัวเลขให้กด PIN ใหม่ 4 หลักแล้วกด “✓ ยืนยัน”
PIN ต้องเป็นตัวเลข 4 หลักพอดี และห้ามซ้ำกับ PIN ของพนักงานคนอื่นที่มีอยู่ในระบบ (รวมถึง PIN ของเจ้าของร้านด้วย) — ถ้าซ้ำระบบจะแจ้งเตือนและไม่บันทึกให้
พนักงานที่ถูกปิดใช้งาน (ปลดติ๊ก “ใช้งาน” แล้ว) ยังถือว่า “ใช้ PIN นั้นอยู่” — จะตั้ง PIN เดิมให้พนักงานคนใหม่ไม่ได้จนกว่าจะเปลี่ยน PIN ของคนเดิมหรือลบคนเดิมทิ้งก่อน

เปิดภาพเต็ม
แท็บสิทธิ์ + จุดเชื่อมกับระบบอื่น
แท็บ “สิทธิ์” และจุดเชื่อมกับระบบอื่น
แท็บ “สิทธิ์” บนหน้าเดียวกัน (เห็นเฉพาะผู้มีสิทธิ์ permission.manage) เปิดตารางกำหนดสิทธิ์แต่ละ role แบบละเอียด — เนื้อหาการตั้งค่าสิทธิ์เต็มรูปแบบอยู่ในคู่มือโมดูล “จัดการสิทธิ์” แยกต่างหาก หน้านี้พูดถึงแค่จุดเชื่อม: role ที่กำหนดให้พนักงานแต่ละคนในแท็บ “พนักงาน” คือตัวกำหนดว่าเขาจะได้สิทธิ์ตามแท็บ “สิทธิ์” ชุดไหน
หน้านี้ไม่มีรายงาน “ประวัติเข้างาน/กะ” ต่อพนักงานโดยตรง — ประวัติการล็อกอิน/ล็อกเอาต์ของแต่ละคนอยู่ใน audit log (staff:login/staff:logout) ส่วนสรุปยอดขายต่อกะอยู่ในหน้าประวัติกะ (ดูคู่มือโมดูล “ประวัติกะ”)
ปุ่ม “⬇ ดึงจาก JARVIS” นำเข้า/อัปเดตพนักงานจากระบบ HR กลาง — ถ้ายังไม่ได้ตั้งค่า URL เชื่อมต่อ JARVIS ไว้ที่ “ตั้งค่าระบบ” ระบบจะแจ้งเฉยๆ ให้เพิ่มพนักงานเองด้านบนแทน ไม่ error

เปิดภาพเต็ม
จุดที่มักสับสน
ชื่อพนักงานซ้ำกันได้ — แต่กระทบการนำเข้าจาก JARVIS
ระบบตรวจแค่ว่าชื่อห้ามว่าง ไม่ได้ห้ามซ้ำ เพิ่มพนักงานสองคนชื่อเดียวกันได้ปกติ แต่การนำเข้าจาก JARVIS จะจับคู่ “พนักงานที่สร้างเองยังไม่ผูก JARVIS empId” เข้ากับรายชื่อ JARVIS ด้วยชื่อที่ตรงกันเป๊ะเท่านั้น (คนแรกที่เจอ) — ถ้ามีพนักงานชื่อซ้ำสองคนที่ยังไม่ผูก การนำเข้าจะจับคู่ผิดคนได้ จึงควรตั้ง JARVIS empId ให้ครบก่อนกดดึงจาก JARVIS ถ้าในร้านมีคนชื่อซ้ำ
PIN ต้องไม่ซ้ำกันทั้งร้าน (รวมเจ้าของ) แม้พนักงานถูกปิดใช้งานแล้ว
ทุก PIN ต้องเป็นตัวเลข 4 หลักและไม่ซ้ำกับใครในระบบเลยสักคน ไม่ว่า role ไหนก็ตาม รวมถึงเจ้าของร้านด้วย — และ “ปิดใช้งาน” พนักงานคนหนึ่งไม่ได้ปลดล็อก PIN ของเขาให้คนอื่นใช้ต่อ ต้องเปลี่ยน PIN คนเดิมหรือลบทิ้งก่อน ถึงจะเอา PIN นั้นไปให้คนใหม่ได้
ปุ่ม “แสดง PIN” ไม่ได้เปิดดู PIN จริง — เป็นแค่สลับปุ่มแก้ไข
ระบบไม่เคยส่งเลข PIN จริงกลับมาที่เบราว์เซอร์เลย (ตัดทิ้งทุกครั้งฝั่ง server เพื่อความปลอดภัย) คอลัมน์ PIN จึงโชว์ “—” เสมอไม่ว่าจะกดปุ่มนี้หรือไม่ ถ้าลืม PIN ของพนักงานคนไหน วิธีเดียวคือ “ตั้งใหม่” ผ่านปุ่ม ✏️ ไม่มีทางดูค่าที่ตั้งไว้เดิมได้อีก
รีเซ็ต PIN ต้องมีสิทธิ์ “จัดการสิทธิ์” — แค่ staff.manage ไม่พอ
ปุ่มแก้ไข PIN (✏️) และปุ่ม “แสดง/ซ่อน PIN” จะโผล่เฉพาะเจ้าของร้านหรือผู้ที่มีสิทธิ์ permission.manage เท่านั้น — ผู้จัดการที่มีแค่สิทธิ์ staff.manage (เพิ่ม/ลบ/แก้ role พนักงานได้ปกติ) จะไม่เห็นปุ่มนี้เลย ต้องให้เจ้าของร้านหรือผู้ถือสิทธิ์ permission.manage เป็นคนรีเซ็ต PIN ให้
ลบพนักงานไม่มีการเช็คบิล/กะ/ประวัติค้างอยู่ก่อน — แนะนำ “ปิดใช้งาน” แทน
กดลบ (🗑) แล้วยืนยัน พนักงานคนนั้นจะหายจากระบบทันทีโดยไม่มีการเตือนว่ามีบิล กะ หรือประวัติอื่นผูกอยู่หรือไม่ ถ้าพนักงานเคยมีประวัติการขายหรือข้อมูลอ้างอิงในระบบ แนะนำให้ปลดติ๊ก “ใช้งาน” แทนการลบ (พนักงานจะล็อกอินไม่ได้ทันที แต่ข้อมูลเก่ายังอยู่ครบ) ค่อยลบจริงเมื่อมั่นใจว่าไม่ต้องอ้างอิงข้อมูลเก่าอีกแล้ว
พนักงานคนเดียวล็อกอินหลายเครื่องพร้อมกันได้ แต่ logout จากเครื่องเดียวเตะทุกเครื่อง
PIN เดียวกันล็อกอินได้พร้อมกันหลายเครื่อง (แต่ละเครื่องได้ session ของตัวเอง) แต่กด “ออก” จากเครื่องไหนก็ตามจะยกเลิก session ของพนักงานคนนั้น “ทุกเครื่อง” พร้อมกัน (ไม่ใช่แค่เครื่องที่กด) เพราะระบบยกเลิกสิทธิ์ทั้งชุดของพนักงานคนนั้น ไม่ใช่ยกเลิกทีละ session — และเมื่อมีการปิดกะ ระบบจะบังคับออกจากระบบพนักงานทุกคนที่ไม่ใช่เจ้าของโดยอัตโนมัติทุกเครื่องเช่นกัน