Заказчик
Отзывы фрилансеров:
+ 3
- 0
Зарегистрирован на сайте 1 год и 9 месяцев
Бюджет:
5000 руб
63.29 $ — 55.55 €
Таблица Excel уже есть. В первом листе указаны имена сотрудников, их отдел, их приоритет в отделе, наличие детей. В листах 2 8 представлены графики отпусков (по вертикали месяца и год, по горизонтали числа месяца) для первого отдела, второго и тд.
Код получает на вход форму заявки на отпуск в виде Таблицы Excel (она тоже уже сделана), в которой указано имя сотрудника, выбранное начало отпуска, и выбранное окончание отпуска (код также должен запомнить дату подачи заявления в отпуск, понадобиться в дальнейшем).
Первоначальные условия:
1) Изначально приоритет в отпуске у всех сотрудников одинаковый, но в будущем при работе кода, если у сотрудника есть дети и выбранные даты отпуска пересекаются с графиков каникул детей (График детских каникул так же есть в первом листе Excel), то сотрудник имеет +1 приоритет в отпуске.
2) Так же если сотрудник подал заявку в отпуск за 6 месяцев до предполагаемого отпуска, то отменить его отпуск нельзя (т.е. сотрудник имеет до начала отпуска неограниченный приоритет отпуска *1).
3) В отделе должно работать минимум 2 человека.
Задача кода:
1) брать на вход данные из форми заявки
2) Проверить, если у сотрудника дети и пересекается ли его отпуск с графиков детских каникул, если оба условия выполнены, то сотрудник имеет +1 приоритет в отпуске.
3) Проверить, если на выбранные даты уже у кого то из сотрудников отпуск, если да то сравнить приоритет в отпуске, у кого больше тот после дальнейших проверок и записывается в график отпусков, также проверить условие *1
4) Проверить, если сотрудник является начальником отдела, то найти ему замену (вывести на консоль имя сотрудника) с наивысшим приоритетом, с условием что он не будет находится в отпуске паралельно с начанильком отдела
5) Проверить что, если сотрудник выйдет в отпуск, то в отделе должно работать минимум 2 человека.
6) После всех проверок, если в графике на выбранные даты уже записан сотрудник с меньшим приоритетом в отпуске, то вывести на консоль: "на выбранные даты уже поставлен отпуск сотрудник 'имя'", и дать выбор: 1 заменить отпуск на новый, 2 отказать в отпуске сотруднику.
При выборе 1 в листе его отдела записать в окна выбранных для отпуска дат имя сотрудника.
7) Если какое то условие не соблюдено, вывести на консоль причину отказа.
Разделы:
Опубликован:
19.05.2025 | 22:05
Заказ находится в архиве