hrms-mgt/src/modules/02_organization/interface/response/organizational.ts
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 0f706b8e75 โครงสร้าง
2024-11-21 12:48:12 +07:00

211 lines
8.1 KiB
TypeScript

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;
isOfficer: boolean;
children: OrgTree[];
}
interface OrgRevision {
orgRevisionCreatedAt: Date | 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;
conditionReason: string;
isCondition: boolean;
}
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[]; // ตำแหน่ง
conditionReason: string;
isCondition: boolean;
profilePosition: string;
profilePoslevel: string;
profilePostype: string;
}
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,
};