feat : ajout de la gestion des heures chauffeurs
All checks were successful
Auto Tag Develop / tag (push) Successful in 8s
All checks were successful
Auto Tag Develop / tag (push) Successful in 8s
This commit is contained in:
@@ -18,6 +18,7 @@ export type ContractHistoryItem = {
|
||||
comment?: string | null
|
||||
periodId?: number | null
|
||||
suspensions?: ContractSuspension[]
|
||||
isDriver?: boolean
|
||||
}
|
||||
|
||||
export type Employee = {
|
||||
@@ -26,6 +27,7 @@ export type Employee = {
|
||||
lastName: string
|
||||
site: Site
|
||||
contract?: Contract | null
|
||||
isDriver?: boolean
|
||||
currentContractNature?: 'CDI' | 'CDD' | 'INTERIM'
|
||||
currentContractStartDate?: string | null
|
||||
currentContractEndDate?: string | null
|
||||
|
||||
@@ -13,6 +13,11 @@ export type WorkHour = {
|
||||
eveningTo?: string | null
|
||||
isPresentMorning?: boolean
|
||||
isPresentAfternoon?: boolean
|
||||
dayHoursMinutes?: number | null
|
||||
nightHoursMinutes?: number | null
|
||||
hasBreakfast?: boolean
|
||||
hasLunch?: boolean
|
||||
hasOvernight?: boolean
|
||||
isSiteValid?: boolean
|
||||
isValid?: boolean
|
||||
updatedAt?: string | null
|
||||
@@ -28,6 +33,11 @@ export type WorkHourEntryPayload = {
|
||||
eveningTo?: string | null
|
||||
isPresentMorning?: boolean
|
||||
isPresentAfternoon?: boolean
|
||||
dayHoursMinutes?: number | null
|
||||
nightHoursMinutes?: number | null
|
||||
hasBreakfast?: boolean
|
||||
hasLunch?: boolean
|
||||
hasOvernight?: boolean
|
||||
}
|
||||
|
||||
export type WeeklyWorkHourDailySummary = {
|
||||
@@ -39,6 +49,9 @@ export type WeeklyWorkHourDailySummary = {
|
||||
hasAbsence?: boolean
|
||||
absenceLabel?: string | null
|
||||
absenceColor?: string | null
|
||||
hasBreakfast?: boolean
|
||||
hasLunch?: boolean
|
||||
hasOvernight?: boolean
|
||||
}
|
||||
|
||||
export type WeeklyWorkHourRowSummary = {
|
||||
@@ -58,6 +71,10 @@ export type WeeklyWorkHourRowSummary = {
|
||||
weeklyOvertime25Minutes?: number
|
||||
weeklyOvertime50Minutes?: number
|
||||
weeklyRecoveryMinutes?: number
|
||||
isDriver?: boolean
|
||||
weeklyBreakfastCount?: number
|
||||
weeklyLunchCount?: number
|
||||
weeklyOvernightCount?: number
|
||||
}
|
||||
|
||||
export type WeeklyWorkHourSummary = {
|
||||
@@ -77,9 +94,22 @@ export type WorkHourDayContextRow = {
|
||||
absentAfternoon: boolean
|
||||
creditedMinutes: number
|
||||
creditedPresenceUnits: number
|
||||
isDriverContract?: boolean
|
||||
}
|
||||
|
||||
export type WorkHourDayContext = {
|
||||
workDate: string
|
||||
rows: WorkHourDayContextRow[]
|
||||
}
|
||||
|
||||
export type DriverHourRow = {
|
||||
workHourId: number | null
|
||||
dayHours: string
|
||||
nightHours: string
|
||||
hasBreakfast: boolean
|
||||
hasLunch: boolean
|
||||
hasOvernight: boolean
|
||||
isSiteValid: boolean
|
||||
isValid: boolean
|
||||
updatedAt: string | null
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ export const createEmployee = async (payload: {
|
||||
contractNature?: 'CDI' | 'CDD' | 'INTERIM'
|
||||
contractStartDate?: string
|
||||
contractEndDate?: string | null
|
||||
isDriverInput?: boolean
|
||||
}) => {
|
||||
const api = useApi()
|
||||
return api.post<Employee>('/employees', {
|
||||
@@ -43,7 +44,8 @@ export const createEmployee = async (payload: {
|
||||
contract: `/api/contracts/${payload.contractId}`,
|
||||
contractNature: payload.contractNature,
|
||||
contractStartDate: payload.contractStartDate,
|
||||
contractEndDate: payload.contractEndDate ?? null
|
||||
contractEndDate: payload.contractEndDate ?? null,
|
||||
isDriverInput: payload.isDriverInput ?? false
|
||||
}, {
|
||||
toastSuccessKey: 'success.employee.create',
|
||||
toastErrorKey: 'errors.employee.create'
|
||||
@@ -63,6 +65,7 @@ export const updateEmployee = async (
|
||||
contractPaidLeaveSettled?: boolean
|
||||
contractComment?: string | null
|
||||
displayOrder?: number
|
||||
isDriverInput?: boolean
|
||||
}
|
||||
) => {
|
||||
const api = useApi()
|
||||
@@ -91,6 +94,9 @@ export const updateEmployee = async (
|
||||
if (payload.contractComment !== undefined) {
|
||||
body.contractComment = payload.contractComment ?? null
|
||||
}
|
||||
if (payload.isDriverInput !== undefined) {
|
||||
body.isDriverInput = payload.isDriverInput
|
||||
}
|
||||
|
||||
return api.patch<Employee>(`/employees/${id}`, body, {
|
||||
toastSuccessKey: 'success.employee.update',
|
||||
|
||||
Reference in New Issue
Block a user