Я создаю приложение для PHP, предназначенное для компаний (в Конго), в конечном итоге помогая им управлять сотрудниками и их статусами.
Юридическая часть состоит из 3 частей в порядке приоритета: Трудовой кодексКоллективный договор, правила процедуры.
Самое сложное для меня пока состоит в том, чтобы написать «условные сроки» закона, соглашений и правил процедуры.Например, в отношении испытательных периодов срочного контракта:
Закон и коллективный договор гласят:
- От 0 до 6 месяцев испытательный срок составляет 15 дней.
- Выше, пробный период составляет 1 месяц.
В то время как внутренние правила компании гласят:
- Для категорий 16, испытательный период составляет 5 дней.
- Для категорий 7–8 испытательный срок составляет 10 дней.
- Для категорий 9–12 испытательный период составляет 15 дней.
В этом типичном примере внутренние правила устанавливают нечто, основанное на иных условиях, чем закон.Мне трудно написать класс, в котором я могу сохранить тип условия (продолжительность или категория), интервал (от x
день / месяц / год до y
день / месяц / год или из категории *От 1031 * до y
), результат (продолжительность в день / месяц / год).
В моем v1 у меня было это:
'ftc_trial_periods' => [
[
'left' => 'duration',
'intervals' => [0, '6 months'],
'result' => '15 days',
],
'1 months',
];
Использование strtotime для преобразования датыстроки, которые оказалось трудно использовать.
Я думаю о чем-то вроде DatePeriod
PHP-класса, вместо дат я бы использовал DateInteval
в качестве интервалов (от x
до y
), но не уверен, что это будет лучшим подходом.Есть ли лучшие решения в дикой природе?