wcz-layout
Version:
111 lines (98 loc) • 3.11 kB
Markdown
# peoplesoft
## Client
- Employee:
`employeesSearchQueryOptions`
`employeesQueryOptions`
`activeEmployeesQueryOptions`
`employeeByIdQueryOptions`
`previousEmployeeIdsQueryOptions`
`employeeSupervisorQueryOptions`
`employeeSubordinatesQueryOptions`
`employeeManagerQueryOptions`
`employeeGeneralManagerQueryOptions`
`companyGeneralManagerQueryOptions`
- Department:
`departmentsQueryOptions`
`departmentByIdQueryOptions`
`departmentManagerQueryOptions`
`departmentEmployeesQueryOptions`
## Server
- Employee:
`searchEmployees`
`getEmployees`
`getActiveEmployees`
`getEmployeeByEmployeeId`
`getPreviousEmployeeIds`
`getEmployeeSupervisor`
`getEmployeeSubordinates`
`getEmployeeManager`
`getEmployeeGeneralManager`
`getCompanyGeneralManager`
- Department:
`getDepartments`
`getDepartmentById`
`getDepartmentManager`
`getDepartmentEmployees`
## Schemas/Models
```ts
const EmployeeSchema = z.object({
badgeId: z.string().trim(),
category: z.string().trim(),
categoryGroup: EmployeeCategoryGroup,
companyCode: z.string().trim(),
contactPhone: z.string().trim(),
departmentId: z.string().trim(),
departmentDescription: z.string().trim(),
emailString: z.string().trim(),
employeeId: z.string().trim(),
extensionNumber: z.string().trim(),
firstName: z.string().trim(),
gender: z.string().trim(),
hiredDate: z.date(),
lastName: z.string().trim(),
managerId: z.string().trim(),
middleName: z.string().trim(),
name: z.string().trim(),
nameTitleCase: z.string().trim(),
nfcSn: z.string().trim(),
plantId: z.string().trim(),
position: z.string().trim(),
previousEmployeeIds: z.string().trim().nullable(),
reHiredDate: z.date().nullable(),
recordNumber: z.number(),
status: EmployeeStatus,
supervisorId: z.string().trim(),
terminationDate: z.date().nullable(),
terminationFutureDate: z.date().nullable(),
type: z.string().trim(),
upperDepartmentId: z.string().trim(),
jobCode: z.string().trim(),
jobDescription: z.string().trim(),
terminationReason: z.string().trim().nullable(),
supervisorRecordNumber: z.number(),
});
const DepartmentSchema = z.object({
departmentId: z.string().trim(),
description: z.string().trim(),
managerId: z.string().trim(),
managerRecordNumber: z.string().trim(),
treeLevel: z.number(),
upperDepartmentId: z.string().trim(),
companyCode: z.string().trim(),
location: z.string().trim(),
salLocation: z.string().trim(),
plantId: z.string().trim(),
manager: EmployeeSchema,
});
const EmployeeCategoryGroup = z.enum(["IDL", "FD", "FI"]);
const EmployeeStatus = z.enum(["Active", "Terminated", "Leave of Absence"]);
```
## Examples
```ts
import { activeEmployeesQueryOptions } from "wcz-layout/data/client";
import { getEmployeeManager } from "wcz-layout/data/server";
// client
const { data: employees = [] } = useQuery(activeEmployeesQueryOptions());
// server
const manager = await getEmployeeManager({ data: { employeeId } });
```