interface DataActive { activeId: string; activeName: string; draftId: string; draftName: string; isPublic: boolean; orgPublishDate: Date | null; } interface SumPosition { totalPosition: number; totalPositionCurrentUse: number; totalPositionCurrentVacant: number; totalPositionNextUse: number; totalPositionNextVacant: number; totalRootPosition: number; totalRootPositionCurrentUse: number; totalRootPositionCurrentVacant: number; totalRootPositionNextUse: number; totalRootPositionNextVacant: number; } interface OrgTree { orgTreeId: string; orgRootId: string; orgLevel: number; orgTreeName: string; orgTreeShortName: string; orgTreeCode: string; orgCode: string; orgTreeRank: string; orgTreeOrder: number | null; orgRootCode: string; orgTreePhoneEx: string; orgTreePhoneIn: string; orgTreeFax: string; orgRevisionId: string; children: OrgTree[]; } interface OrgRevision { orgRevisionCreatedAt: string | null; orgRevisionId: string; orgRevisionIsCurrent: boolean; orgRevisionIsDraft: boolean; orgRevisionName: string; } interface OptionType { id: string; posTypeName: string; } interface OptionLevel { id: string; posLevelName: string; } interface OptionExecutive { id: string; posExecutiveName: string; } interface DataPosition { id: string; posExecutiveId: string; posExecutiveName: string; posLevelId: string; posLevelName: string; posTypeId: string; posTypeName: string; positionArea: string; positionExecutiveField: string; positionField: string; positionIsSelected: boolean; positionName: string; } interface Position { id: string; // id ตำแหน่ง positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง) positionField: string; // สายงาน posTypeId: string; // ประเภทตำแหน่ง posTypeName: string; // ประเภทตำแหน่ง posLevelId: string; // ระดับตำแหน่ง posLevelName: string; // ระดับตำแหน่ง posExecutiveId: string; // ตำแหน่งทางการบริหาร posExecutiveName: string; // ตำแหน่งทางการบริหาร positionExecutiveField: string; // ด้านทางการบริหาร positionArea: string; // ด้าน/สาขา positionIsSelected: boolean; // เป็นตำแหน่งที่ถูกเลือกในรอบนั้น ๆ หรือไม่? } interface PosMaster { id: string; // id อัตรากำลัง posmaster orgShortname: string; // อักษรย่อตำแหน่ง posMasterNoPrefix: string; // Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ) posMasterNo: number | string; // ตำแหน่งเลขที่ เป็นตัวเลข posMasterNoSuffix: string | null; // Suffix หลังตำแหน่งเลขที่ เช่น ช. positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง) positionField: string; // สายงาน posTypeId: string; // ประเภทตำแหน่ง posTypeName: string; // ประเภทตำแหน่ง posLevelId: string; // ระดับตำแหน่ง posLevelName: string; // ระดับตำแหน่ง posExecutiveId: string; // ตำแหน่งทางการบริหาร posExecutiveName: string; // ตำแหน่งทางการบริหาร positionExecutiveField: string; // ด้านทางการบริหาร positionArea: string; // ด้าน/สาขา positionIsSelected: boolean; // เป็นตำแหน่งที่ถูกเลือกในรอบนั้น ๆ หรือไม่? fullNameCurrentHolder: string | null; fullNameNextHolder: string | null; positions: Position[]; // ตำแหน่ง isSit: boolean; profilePosition: string; profilePostype: string; profilePoslevel: string; } interface Position2 { id: string; // id ตำแหน่ง positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง) positionField: string; // สายงาน posTypeId: string; // ประเภทตำแหน่ง posTypeName: string; // ประเภทตำแหน่ง posLevelId: string; // ระดับตำแหน่ง posLevelName: string; // ระดับตำแหน่ง posExecutiveId: string; // ตำแหน่งทางการบริหาร posExecutiveName: string; // ตำแหน่งทางการบริหาร positionExecutiveField: string; // ด้านทางการบริหาร positionArea: string; // ด้าน/สาขา positionIsSelected: string; // เป็นตำแหน่งที่ถูกเลือกในรอบนั้น ๆ หรือไม่? } interface PosMaster2 { id: string; // id อัตรากำลัง posmaster orgShortname: string; // อักษรย่อตำแหน่ง posMasterNoPrefix: string; // Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ) posMasterNo: number | string; // ตำแหน่งเลขที่ เป็นตัวเลข posMasterNoSuffix: string | null; // Suffix หลังตำแหน่งเลขที่ เช่น ช. positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง) positionField: string; // สายงาน posTypeId: string; // ประเภทตำแหน่ง posTypeName: string; // ประเภทตำแหน่ง posLevelId: string; // ระดับตำแหน่ง posLevelName: string; // ระดับตำแหน่ง posExecutiveId: string; // ตำแหน่งทางการบริหาร posExecutiveName: string; // ตำแหน่งทางการบริหาร positionExecutiveField: string; // ด้านทางการบริหาร positionArea: string; // ด้าน/สาขา positionIsSelected: string; // เป็นตำแหน่งที่ถูกเลือกในรอบนั้น ๆ หรือไม่? positions: Position[]; // ตำแหน่ง } interface HistoryPos { id: string; //id node orgShotName: string; //ชื่อย่อส่วนราชการ lastUpdatedAt: Date; //วันที่แก้ไข posMasterNoPrefix: string; //Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ) posMasterNo: number; //ตำแหน่งเลขที่ เป็นตัวเลข posMasterNoSuffix: string; //Suffix หลังตำแหน่งเลขที่ เช่น ช. } interface SelectPerson { citizenId: string; firstName: string; id: string; lastName: string; posLevel: string; posType: string; position: string; prefix: string; } interface PosLevels { id: string; posLevelAuthority: null; posLevelName: string; posLevelRank: number; } interface TypePos { id: string; PosLevels: PosLevels[]; posTypeName: string; posTypeRank: number; } export type { DataActive, OrgTree, OrgRevision, OptionType, OptionLevel, OptionExecutive, DataPosition, PosMaster, PosMaster2, Position, Position2, SumPosition, HistoryPos, SelectPerson, TypePos, };