import { AbsenceOfficeType, AbsenceVisitType, AgendaType } from '../types/absence.type'; import { MultiSelectOption } from '../types/options.type'; export interface YearMonth { bulan: number; tahun: number; } export interface AbsenceListFilterQuery { bulan: number; tahun: number; page?: number; limit?: number; sortBy?: string; search?: string; employeeType?: string[]; company?: string[]; division?: string[]; position?: string[]; masuk?: number[]; telat?: number[]; lembur?: number[]; alpa?: number[]; izin?: number[]; sakit?: number[]; cuti?: number[]; cutiUnpaid?: number[]; isTelat?: boolean; isLembur?: boolean; isAlpa?: boolean; isIzin?: boolean; isSakit?: boolean; isCuti?: boolean; isCutiUnpaid?: boolean; } export type AbsenceListFilterOptionsQuery = Partial> & YearMonth; export interface AbsenceListFilterOptions { positionOptions: MultiSelectOption[]; companyOptions: MultiSelectOption[]; divisionOptions: MultiSelectOption[]; employeeTypeOptions: MultiSelectOption[]; } export interface AbsenceDetailQuery { hari?: string[]; agenda?: string[]; keterangan?: string[]; customer?: string[]; partner?: string[]; telat?: string[]; bulan: number; tahun: number; } export interface AbsenceDetailFilterOptions { customerOptions: MultiSelectOption[]; partnerOptions: MultiSelectOption[]; agendaOptions: MultiSelectOption[]; noteOptions: MultiSelectOption[]; } export interface SetOvertimeToLeaveBody { lemburToConvert: number; } export interface AbsenceBody { date: string; type: AbsenceOfficeType; description?: string; agenda?: AgendaType; customer?: string; partner?: string; } export interface AbsenceOfficeBody { type: AbsenceOfficeType; coordinateLongitude?: number; coordinateLatitude?: number; address?: string; gpsAccuracy?: number; description?: string; userAgent: string; } export interface AbsenceOfficeQrBody extends Omit { attendanceType: AbsenceOfficeType; scannedToken: string; } export interface AbsenceVisitBody extends Omit { type: AbsenceVisitType; agenda?: AgendaType; customer?: string; partner?: string; pipeline?: string[]; foto: File; hasilKunjungan?: string; }