|
 101.5 Кб |
|
| Всем привет!
Сразу хочу сказать что эта тема не про то как заставить PHP построить круговую диаграмму или другой график.
Есть некая небольшая фирма(аварийные комиссары), в штате 30 человек. Каждый вечер диспетчеру компании необходимо обзвонить каждого чтобы узнать работает он или нет. Времени уходит примерно час на это. В этой фирме я сляпал диспетчерскую базу - с разделением прав( каждый видит только то что ему нужно) И может посмотреть заявки распределенные на него. Вот скриншоты:
http://pic.ipicture.ru/uploads/091207/wWiOsarLTs.jpg
http://pic.ipicture.ru/uploads/091207/QWoF40y4LS.jpg
Нужно прикрутить график работы когда кто работает. Организовано должно быть следующим образом:
Таблица три колонки: 1 дата 2 галочка(работает или нет) 3 текстовое поле ( время работы).
Каждый сотрудник заходит иставит галочки. а потом у диспетчера когда она выбирает какое-либо число списком выводится кто сегодня работает и их текстовые комментарии со временем. Вот еще 1 столбец - дата - не должна редактироваться PHP должно само его генерить.
Как сделать формы это все понятно. Вопрос в следующем: какова должна быть структура таблиц?
Я чего-то думал так и не додумал как такое организовать. | |
|
|
|
|
|
|
|
для: lext
(07.12.2009 в 20:33)
| | Id -- Primary key
id_worker -- сотрудник
t_start -- момент начала интервала работы.
t_end -- момент завершения интервала работы.
comment -- комментарий
Это кто когда работает.
А кто что делал - аналогично, но более детально.
Выбирайте наборы типов событий и сущности описания каждого события. И вперед. | |
|
|
|
|
|
|
|
для: Trianon
(07.12.2009 в 20:44)
| | Ну я прикидывал аналогичную структуру.
id - primany key
logname - логин сотрудника ( на них вся авторизация заявязана)
data - Дата
work - (int(1)) галочка работает или нет
time - tinutext - время работы.
проблема вот в чем каким образом будут добавляться даты в эту таблицу.
Нужно чтобы они были уже забиты, сотрудник только ставил галочки и писал комменты.
Второй вопрос. сотрудников 30 значит на кажды день должно быть 30*1 записей. а в месяц 30*30*1=900 записей. Как они добавляться будут не пойму | |
|
|
|
|
|
|
|
для: LexT
(07.12.2009 в 20:52)
| | А зачем заносить в таблицу интервалы, когда сотрудник не работает?
Заносите как раз тогда, когда сотрудник галочку ставит и комментарий пишет.
Или он комментарий пишет о том, что на работу не пойдет? :)
Если у Вас есть таблица с логинами сотрудников, ссылаться на нее имеет смысл через первичный ключ. Что я, собственно, и предположил.
Момент времени хранится либо полем DATETIME, либо полем TIMESTAMP, либо полем INT(а внутри всё равно unix timestamp) | |
|
|
|
|
|
|
|
для: Trianon
(07.12.2009 в 20:56)
| | ну заносить в принципе не нужно ничего, если подскажете как без этого обходится.
нужен простой органайзей на сайте, щелкаешь по дате ставишь галочку, и пишешь время работы свое, или удаляешь время работы и снимашь галочку. А диспетчер видит по дням кто когда работает. Вот и все. | |
|
|
|
|
|
|
|
для: LexT
(07.12.2009 в 21:01)
| | Примерно понял что нужно сделать.
Беру скрипт выводящий календарь.
http://www.softtime.ru/scripts/calendar.php
Только даты будут ссылками.
На форму где и будет галочка. Как сделаю скрипт выложу. | |
|
|
|