Бюджет:
20 000 руб
Есть задача.
1)
В базе mysql создать таблицы:
1.Направления(поля: ID идентификатор; Name строка;)
2.Сотрудники(поля: ID идентификатор; FIO строка;NaprID идентификатор направления; Priem кол-во минут на 1 прием; Copy битовое поле копировать расписание или нет; CopyCount цело число, на сколько недель вперед копировать расписание;)
3.Дни недели(поля: ID идентификатор; Poryadok число; Name название дня недели;)
4.Время приема(поля: ID идентификатор; SotrudnikID идентификатор сотрудника; DayID идентификатор из таблицы "Дни недели"; TimeBegin время начала приема; TimeEnd время окончания приема;)
Возможно у одного сотрудника будет 2 записи в один день недели, это означает, что у него есть перерыв(например он принима с 9:00 до 12:00 и с 14:00 до 17:00)
5.Расписание(поля: ID идентификатор записи; NaprID идентификатор направления; SotrudnikID идентификатор сотрудника; Date дата приема; TimeBegin начало приема; TimeEnd конец приема; FIOClien строка фио клиента)
2)
По адресу domen.ru нужно таблицу с полями:
Название направления из таблицы "Направления"
ссылку "Сотрудники" на страницу domen.ru/sotrudniki/napravlenie1/
ссылку "Расписание" на страницу domen.ru/raspisanie/napravlenie1/
кнопка удалить(при нажатии выходит окно для подтверждения удаления. удаляем запись из таблицы "Направления". Удаляем все записи из табилцы "Сотрудники" у которых NaprID равен удаляемому направлению. Удаляем все записи из "Время прием", где SotrudnikId равен одному из тех у которых NaprID был равен удаляемому направлению. Удаляем все записи из "Расписание", где NaprId равен удаляемому направлению)
Под таблицей вывести инпут и кнопку "добавить"(при нажатии в таблицу "Направления" нужно добавить запись).
3)
При переходе на domen.ru/sotrudniki/napravlenie1/
выводится таблица "Сотрудники":
ФИО ссылка на страницу domen/sotrudnik/napravlenie1/sotrudnik1/
Кол-во минут на прием
Галочка "копировать ли расписание"
Кол-во недель на которое нужно копировать расписание.
кнопка редактировать(при нажатии выходит форма по выбранному сотруднику с его данными с возможностью изменить.)
кнопка удалить(при нажатии выходит окно для подтверждения удаления. Удаляем запись из таблицы "Сотрудники". Удаляем все записи из "Время прием", где SotrudnikId равен удаляемому сотруднику. Удаляем все записи из "Расписание", где SotrudnikId равен удаляемому сотруднику)
под таблицей вывести инпут для ФИО, инпут для кол-ва минут на 1 прием, галочку для копирования, инпут для указания кол-ва недель для копирования и кнопку добавить(при нажатии добавляем запись в таблицу "Сотрудники")
3.1)
при переходе на domen/sotrudnik/napravlenie1/sotrudnik1/
выходит данные в инпуте из таблицы "Время приема" для сотрудника с ID 1.
Понедельник; время начала; время окончания.
Вторник; время начала; время окончания.
...
Воскресенье; время начала; время окончания.
Напротив каждого дня кнопка "удалить"(при нажатии выходит окно для подтверждения удаления. удаляем запись из таблицы "Время приема".)
Под таблицей выводится доп. строка для добавления новой записи в таблицу "Время приема"
селект со списком дней недели; время от; время до; кнопка добавить.
Также под таблицей вывести кнопку сохранить. Пользователь может изменить значения и сохранить.
При добавлении/редактировании/удалении записей приема необходимо смотреть кол-во минут на прием и насколько недель нужно копировать его расписание и на основе этих данных пересоздавать записи в "Расписание".
Но! при апдейте записей в расписании нельзя трогать записи, где FIOClient непусто.
4)
При переходе на domen.ru/raspisanie/napravlenie1/
Выводится таблица расписания на текущую неделю со столбцами:
а)Сотрудники
б)Понедельник(тут выводится своя минитабличка:Время и инпут для ввода ФИО клиента). Например, если сотрудник в понедельник принимает с 14 до 17 и время одного приема 30 минут, то эта табличка будет такая:
14:00 ___(инпут для ввода ФИО)
14:30 ___(инпут для ввода ФИО)
15:00 ___(инпут для ввода ФИО)
15:30 ___(инпут для ввода ФИО)
16:00 ___(инпут для ввода ФИО)
16:30 ___(инпут для ввода ФИО)
и еще отдельной строкой: инпут для ввода времени и инпут для ввода ФИО(на случай, если нужно кого то принять).
в)Вторник(аналогично п.2)
г)Среда(аналогично п.2)
д)Четверг(аналогично п.2)
е)Пятница(аналогично п.2)
ж)Суббота(аналогично п.2)
з)Воскресенье(аналогично п.2)
Под таблицей будет кнопка "Сохранить" Она делает апдейт FIOClient по таблице "Расписание" с учетом тех данных которые были указаны в инпутах.
Также, если в одном из ячеек были дополнительно заполнены данные, то нужно сделать добавление записи в таблицу "Расписание"
(все данные для добавления есть, направление, сотрудник, дата, начало приема и фио клиента). После сохранения дополнительная строка с временем и ФИО становится пустой для возможности ввода нового форс-мажорного случая.
Разработчику предоставят доступ к хостингу, куда нужно будет залить программу
Нужно закрыть паролем доступ по http. Будет одна пара логин/пароль для пользователя системой.