มาตรฐานภายใน · แสงศิลป์คอนสตรัคชั่น
ตำแหน่งเดียว ใช้ได้ทั้งระบบจัดซื้อและระบบ HR/เงินเดือน — เอกสารนี้กำหนดว่าแต่ละตำแหน่งเข้าถึงและแก้ไขอะไรได้บ้าง เพื่อไม่ต้องตั้งค่าแยกทีละระบบ
หนึ่งคนถือหนึ่งตำแหน่ง เรียงจากสิทธิ์แคบสุดไปกว้างสุด — ชื่อในวงเล็บคือรหัสที่ระบบใช้จริง
ค่าเริ่มต้นของทุกคน — พนักงานออฟฟิศ พนักงานรายเดือนที่ไม่มีหน้าที่พิเศษ
หัวหน้าชุด / ช่างที่ดูแลไซท์ — เบิกของเข้าโครงการและลงเวลาคนงานหน้างาน
ฝ่ายจัดซื้อกลาง รวบใบขอซื้อจากทุกไซท์ไปสั่งของ
ผู้จัดการที่ดูแลโครงการและอนุมัติการเบิกจ่าย
เจ้าหน้าที่ฝ่ายบุคคล กรอกและดูแลข้อมูลพนักงานประจำวัน
ผู้บริหาร / เจ้าของ / ฝ่ายการเงิน — ควบคุมได้ทั้งหมดทั้งสองระบบ
ผู้ดูแลเชิงเทคนิค (ไอที) — ตั้งค่าระบบข้ามทั้งสองแอป
เลื่อนตารางในแนวนอนเพื่อดูทุกคอลัมน์ · หัวตารางและคอลัมน์ตำแหน่งถูกตรึงไว้
| ตำแหน่ง | ระบบจัดซื้อ | ระบบ HR & เงินเดือน | ทั้งระบบ | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| สร้างใบขอซื้อ | อนุมัติใบขอซื้อ | ออกใบสั่งซื้อ / จัดซื้อ | ดูการเงิน / การจ่าย | ขอบเขตโครงการ | ข้อมูล / สลิปตัวเอง | เช็คชื่อ–ลง OT คนงาน | ดูข้อมูลพนักงานทุกคน | เพิ่ม / แก้ / ลบ พนักงาน | อัตราเงินเดือน · ปันต้นทุน · อนุมัติ/ปิดงวด | ออกเอกสาร / ไฟล์นำส่ง | /admin · จัดการสิทธิ์ · ตั้งค่าระบบ | |
| พนักงานทั่วไปemployee | — | — | — | — | — | เต็ม | — | — | — | — | — | — |
| หัวหน้างานsite | เต็มเฉพาะโครงการที่รับผิดชอบ | — | — | — | จำกัดเฉพาะที่รับผิดชอบ | เต็ม | จำกัดไซท์ที่ดูแล · วันนี้เท่านั้น | — | — | — | — | — |
| จัดซื้อprocure | เต็มทุกโครงการ | — | เต็ม | จำกัดดูอย่างเดียว | เต็มทุกโครงการ | เต็ม | — | — | — | — | — | — |
| ผู้จัดการโครงการmanager | เต็ม | เต็มโครงการที่ดูแล | — | จำกัดงบโครงการตัวเอง | จำกัดโครงการที่ดูแล | เต็ม | — | — | — | — | — | — |
| พนักงาน HRhr | — | — | — | — | — | เต็ม | เต็ม | เต็ม | จำกัดเพิ่ม/แก้ได้ · ลบไม่ได้ | —ล็อกไว้ | เต็ม | — |
| ผู้บริหารexecutive | เต็ม | เต็ม | เต็ม | เต็ม | เต็มทุกโครงการ | เต็ม | เต็ม | เต็ม | เต็ม | เต็ม | เต็ม | เต็ม |
| ผู้ดูแลระบบadmin | เต็ม | เต็ม | เต็ม | เต็ม | เต็มทุกโครงการ | เต็ม | เต็ม | เต็ม | เต็ม | เต็ม | เต็ม | เต็ม+ ตั้งค่าเชิงเทคนิค |
ระบบทั้งสองยังเก็บตำแหน่งคนละตาราง ทำให้ต้องตั้งค่า 2 รอบ — ตารางนี้เทียบของจริงกับมาตรฐาน
| ตำแหน่งมาตรฐาน | ตอนนี้เก็บที่ไหน | ต้องปรับอะไร |
|---|---|---|
| พนักงานทั่วไป | hr_access = employee | พร้อม เป็นค่าเริ่มต้นอยู่แล้ว |
| หัวหน้างาน | users.role = site + hr_access = foreman | รวม “หน้างาน” กับ “หัวหน้างาน” ที่เคยแยกใน HR ให้เป็นตัวเดียว |
| จัดซื้อ | users.role = procure · ฝั่ง HR เป็น employee | ให้ระบบ HR รู้จัก procure (= เห็นแค่ของตัวเอง) |
| ผู้จัดการโครงการ | users.role = manager · ฝั่ง HR เป็น employee | ให้ระบบ HR รู้จัก manager (= เห็นแค่ของตัวเอง) |
| พนักงาน HR | hr_access = hr เพิ่มแล้ว 29 ส.ค. | ย้ายคนที่เป็น hr_staff เดิมมาเป็น hr ตามความเหมาะสม |
| ผู้บริหาร | executive ทั้งสองระบบ | ยุบ finance (จัดซื้อ) และ hr_admin (HR) เข้ามารวมที่นี่ |
| ผู้ดูแลระบบ | users.role = admin | พร้อม คงไว้เป็นแอดมินเทคนิคข้ามระบบ |
หนึ่งคน หนึ่งตำแหน่ง
ถ้าใครทำสองหน้าที่ (เช่น จัดซื้อที่ช่วยงาน HR ด้วย) เลือกตำแหน่งที่ครอบคลุมกว่า หรือใช้ธง “สิทธิ์ผู้ดูแล” ช่วย — ไม่ตั้งสองตำแหน่งให้คนเดียว
ธง “สิทธิ์ผู้ดูแล” แยกจากตำแหน่ง
ติ๊กเพิ่มให้ใครก็ได้เพื่อเข้าหน้าตั้งค่า / จัดการสิทธิ์ของแต่ละระบบ โดยไม่ต้องเปลี่ยนตำแหน่งหลัก — เผื่อเปลี่ยนตำแหน่งตัวเองแล้วหลุดออกจากหน้าจัดการสิทธิ์
“ดูแลโครงการไหน” เป็นคนละเรื่องกับตำแหน่ง
ตำแหน่งบอกว่า ทำอะไรได้ ส่วนรายชื่อโครงการที่รับผิดชอบเก็บแยกที่ user_project_assignments ใช้ร่วมกันทั้งสองระบบ
“พนักงาน HR” = จำกัด hr_staff เดิม
เดิม hr_staff ต่างจาก hr_admin แค่การจัดการสิทธิ์คนอื่น · ลบพนักงาน · จัดการสวัสดิการ · ฝ่าล็อกงวดปิด นอกนั้นทำได้เท่ากันหมด รวมแก้เงินเดือน — โมเดลใหม่ตัดสิทธิ์แก้เงินเดือน/ปันต้นทุน/อนุมัติงวดออกด้วย เป็นชั้น “ใช้ได้แต่แตะเรื่องเงินไม่ได้” จริง ๆ
แผนเปลี่ยนผ่าน 2 ขั้น
ขั้น 1 — ปรับชื่อตำแหน่งให้ตรงกัน + หน้าจัดการผู้ใช้หน้าเดียวที่คุมทั้งสองระบบ (ยังเก็บสองช่องข้อมูล ความเสี่ยงต่ำ). ขั้น 2 — ยุบเหลือช่องเดียว ทำพร้อมงานความปลอดภัยข้อมูล (RLS) ของระบบจัดซื้อ