Files
SIRH/src/Service/Contracts/EmployeeContractPeriodManagerInterface.php
tristan 60bb3cf8c4
Some checks failed
Auto Tag Develop / tag (push) Has been cancelled
fix : verrouillage utilisateur + modification de contrat terminé
2026-03-25 10:49:20 +01:00

42 lines
1.0 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Service\Contracts;
use App\Entity\Contract;
use App\Entity\Employee;
use App\Entity\EmployeeContractPeriod;
use App\Enum\ContractNature;
use DateTimeImmutable;
interface EmployeeContractPeriodManagerInterface
{
public function ensureContractPeriodExists(
Employee $employee,
Contract $contract,
DateTimeImmutable $startDate,
?DateTimeImmutable $endDate,
ContractNature $nature,
bool $isDriver = false,
): void;
public function closeCurrentPeriod(
?EmployeeContractPeriod $todayPeriod,
DateTimeImmutable $requestedEndDate,
bool $paidLeaveSettled,
?string $comment = null,
bool $isAlreadyEnded = false
): void;
public function createNextPeriod(
Employee $employee,
Contract $contract,
DateTimeImmutable $startDate,
?DateTimeImmutable $endDate,
ContractNature $nature,
?EmployeeContractPeriod $todayPeriod,
bool $isDriver = false,
): void;
}