Необходимо создать с нуля систему управления персоналом на Yii2 (+ желательно Angular).
В рамках данного ТЗ необходимо реализовать механизм создания графика работы, заведения отделов, иерархий.
От вас хотелось бы получить оценку затраченного времени и итоговую стоимость. Если сложно оценить все ТЗ, оцените пункты 1-6.
1. Сделать механизм создания типовых режимов работы для сотрудников. К примеру, пн-пт с 9-18, или каждый пн, вт, пт по четным неделям с 8 до 20, ср, чт по нечетным с 10 до 22. Пример см в лидертаксе при постановке задач. Скрин во вложени
2. Создание режимов делается бегунками и чекбоксами как в лидертаске
3. Можно выбрать режим работы по умолчанию
4. При заведении сотрудника режим из п3 проставляется автоматически
5. Любой созданный режим можно отредактировать. Отредактированный режим меняется для все сотрудников, у которых он проставлен
6. Любому сотруднику можно выбрать любой режим из имеющихся (см п1)
7. Сделать механизм создания отделов/ подотделов и т.д. (назовем их всех отделами). По умолчанию создается отдел «Головная организация». В нее уже добавляются отделы. Допустима иерархия
8. Можно выбрать отдел по умолчанию
9. При заведении сотрудника отдел из п8 проставляется автоматически
10. Любого сотрудника можно прикрепить к любому отделу из имеющихся (см п7)
11. Для любого сотрудника (назовем его руководителем) можно назначить подотчетные отделы в любом количестве.
12. Руководитель видит статистику (о ней в следующем ТЗ) по сотрудникам подотчетных отделов
13. У одного отдела может быть несколько руководителей, которые получают статистику
14. При выборе подразделения (см п11) можно указать «без подчиненных подразделений», «со всеми подчиненными подразделениями». Если выбрано «без подчиненных подразделений» выводим статистику только по сотрудникам выбранного отдела, по сотрудникам подчиненных отделов статистику не выводим. Если выбрано «со всеми подчиненными подразделениями» выводим по всем подчиненным
15. При выборе подотчетных отделов п11, можно указать по кому мы выводим статистику «Только по начальнику отдела», «по всем кроме начальника», «По всем сотрудникам»
16. При прикреплении сотрудника в п10 можно указать, что он начальник отдела. Эта опция используется в п15
17. При создании режима п1 можно указать допустимые опоздания на работу (мин), допустимый ранний уход (мин), допустимое минимальное время нахождения на работе (час + мин)
18. П 17 заводится отдельно по сотруднику и начальнику
21. для каждого зарегистрированного филиала будут свои настройки
22. по одному филиалу могут получать данные несколько сотрудников под разными учетками (см п11). Либо это делать под одной учеткой, но она должна раздавать всем остальным руководителям под-учетки. Как лучше?
24. предполагается, что сайт и приложение будет на нескольких языках. КАк минимум это русский и английский. Но скорее всего языки еще будем добавлять.
если верить статье
habrahabr.ru/post/148916/ , это должны быть следующие языки.
Английский, Японский, Немецкий, Французский, Итальянский, Китайский упрощенный, Испанский, Португальский, Турецкий, Русский, Голландский.
тут
habrahabr.ru/post/229031/ habrahabr.ru/post/191074/ встречал по локализацию
25. Соответственно все настройки сохраняются в БД