สาขา
เป็นข้อมูลสาขา มีผลเกี่ยวกับสิทธิการเข้าถึงข้อมูลต่างๆ ดูรายละเอียด
คุณสมบัติ
เป็นข้อมูลที่ใช้ในการสร้าง Flow Account โดยจะเป็นข้อมูลเสริมที่สามารถเพิ่มเข้าไปนอกเหนือจากที่ระบบมีให้ได้ โดยข้อมูลคุณสมบัติจะมีผลกับ ใบรายการคำขอ ให้สามารถกรอกข้อมูลเพิ่มเติมเข้าไปเก็บได้
ขั้นตอนการทำงาน
เป็นข้อมูลสำหรับใช้กำหนดขั้นตอน ผู้รับผิดชอบและคุณสมบัติ โดยข้อมูลนี้จะถูกนำไปใช้กำหนดในข้อมูลสินค้าและบริการใน่ส่วนของ Package และมีผลในใบรายการคำขอ โดยที่ใบรายการคำขอจะมีขั้นตอนตามที่กำหนดไว้
NOTE 1: ข้อมูลขั้นตอนการทำงานถูกออกแบบในตอนแรกให้สามารถกำหนดเองได้อย่างอิสระ ซึ่งระบบที่ทำไว้ เมื่อกำหนดค่าของขั้นตอนในสินค้าและบริการจะมี Field ข้อมูลหนึ่งที่ใช้ในการเก็บข้อมูลอะไรก็ได้ซึ่งในตอนนี้ใช้ในการกำหนดว่าสินค้านั้นๆ อยู่ในขั้นตตอนไหน และมีคุณสมบัติอะไรบ้าง และสามารถเพิ่มข้อมูลเข้าไปได้เลย และ Field ข้อมูลนี้ หลังบ้านจะไม่ถูกนำมาใช้ในการดึงข้อมูลโดยเด็ดขาดเนื่องจากไม่รู้ว่าโครงสร้างเป็นยังไง (จริงๆ สามารถทำได้ แต่ต้องตกลงกับหน้าบ้าน) เนื่องจาก Field นี้หลักๆ จะใช้ในการแสดงผลในหน้าบ้านเพียงเท่านั้น
NOTE 2: ขั้นตอนการทำงานแก้ไขมีผลต่อการแสดงผลข้อมูล Flow การทำงานใบรายการคำขอ
ผู้ใช้
ข้อมูลผู้ใช้ของระบบ โดยผู้ใช้จะมีสิทธิตามสาขาๆ นั้นๆ แตกต่างกันขึ้นอยู่กับ Role ของผู้ใช้
ในส่วนของหลังบ้าน สิทธิ ของ Role นั้นๆ ถูกกำหนดโดย Code ดังนี้
const MANAGE_ROLES = [
"system",
"head_of_admin",
"admin",
"executive",
"accountant",
"branch_admin",
"branch_manager",
"branch_accountant",
];
function globalAllow(user: RequestWithUser["user"]) {
const listAllowed = ["system", "head_of_admin", "admin", "executive", "accountant"];
return user.roles?.some((v) => listAllowed.includes(v)) || false;
}
const permissionCondCompany = createPermCondition((_) => true);
const permissionCond = createPermCondition(globalAllow);
const permissionCheckCompany = createPermCheck((_) => true);
const permissionCheck = createPermCheck(globalAllow);
ซึ่ง globalAllow จะเป็นการกำหนดว่าใครสามารถดำเนินการ Create / Update / Delete ข้ามสาขาได้บ้าง
และเมื่อต้องการดึงข้อมูลแยกตามสิทธิจะใช้ createPermCondition เพื่อสร้างเงื่อนไขสำหรับใช้ Query ขึ้นมา และ createPermCheck จะใช้สำหรับสร้างฟังก์ชั่นตรวจสอบสิทธิเมื่อมีการดำเนินการ Create / Update / Delete ขึ้นมา
สามารถดูตัวอย่างการ Implementation ได้ ใน controller ต่างๆ
สินค้าและบริการ, ลูกค้า(นายจ้าง/ลูกจ้าง), ประเภทกิจการ, กลุ่มผู้ใช้และหน่วยงาน
ข้อมูลนี้เป็นข้อมูลหลักที่ถูกนำไปใช้ในระบบต่อไป