powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как хранить календарь рабочего времени
20 сообщений из 20, страница 1 из 1
Как хранить календарь рабочего времени
    #37386132
pazanius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как правильнее хранить данные рабочего времени сотрудников, учитываются только выходные и время работы, например:
рабочее время может быть только с 10 до 22, но у каждого сотрудника различается
________________________________
user | week | time
Сидоров | 1111100| 001110111100
-------------------------------------


либо отдельно:
____________________________________________
user | monday | Tuesday | Wednesday | и т.д.
Сидоров| 1 | 1 | 0 | 1
---------------------------------------------------
____________________________________________
user | 10| 11| 12| 13 и т.д.
Сидоров| 1 | 0| 1 | 1
---------------------------------------------------
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37386138
pazanius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в первом случае запрос будет короче, например выбрать сотрудников которые работали 24 числа
SELECT users.uid, users.fio
FROM users
WHERE substring(users.shablon_worked_day,date_format('2011-05-24','%w'),1) = 1
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37386145
pazanius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите кто-нибудь, не проходите мимо
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37386334
Артем5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pazanius, Доброго времени суток!
У нас сделано через отдельные поля (ваш 3-й вариант). Недавно возникла необходимость внести изменения в модуль учета рабочего времени и я столкнулся с тем, что вычисления получаются громоздкими, приходится перечислять в формулах поля day1,day2...day31.
Предлагал использовать следующую таблицу:
|id|id_sotr|day|time|
|11|2| 1 |8|
|12|2| 2 |8|
...
|41|2|31|8|
Сказали, что вычисления получатся сложными, поэтому оставил так как есть.
Тоже хотел бы услышать мнения компетентных людей.
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37386351
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pazanius,

мб привести все варианты к общему знаметателю?
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37386582
Фотография Ramin Hashimzade
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понял, а почему нельзя хранить в тако виде ??

user | week | time
Сидоров | monday| ..
Сидоров | sunday| ..
Popov | saturday| ..
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37386584
Фотография Ramin Hashimzade
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что означают эти цыфры:

user | week | time
Сидоров | 1111100| 001110111100


1111100 ???
001110111100 ??
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37387212
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ramin,

дни и часы рабочие и нерабочие
воще если сделать поиск на "календарь" в форуме найдется мнооого чего
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37387229
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Raminа что означают эти цыфры:

user | week | time
Сидоров | 1111100| 001110111100


1111100 ???
001110111100 ??имхо, это - горизонтально - дни(недели) и часы(...)
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37387253
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZezaM,
точнее
- дни(за неделю) и часы(за сутки, день)
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37390698
Фотография smeh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас в организации было много всяких календарей и графиков.
Сделал такую систему.

Таблица самих гафиков: Calendar
idname 1 пятидневка

Таблица возможных смен у графика: SM
codename id_calendar time_begin time_end hours h_evening h_night 0 Выходной 1 "00:00""00:00" 0 0 0 1 Первая смена 1 "08:00""17:00" 8 0 0 9 Предпразничный 1 "08:00""16:00" 7 0 0

Таблица уже для сотрудника: emp_cal_sm
id_calendar id_employee date code_sm 1 1 01.02.2011 1

выборки вроде все не сложные всегда получались...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select
    id_employee
    ,count(emp_cal_sm.code_sm) as [КолвоОтрабДней]
    ,sum(sm.hours) as [КолвоОтрабЧасовВсего]
    ,sum(sm.h_evening) as [КолвоОтрабЧасовВечерних]
    ,sum(sm.h_night) as [КолвоОтрабЧасовНочных]
from
    emp_cal_sm
    left join sm on emp_cal_sm.id_calendar = sm.id_calendar and emp_cal_sm.code_sm = sm.code_sm
where
    emp_cal_sm.code_sm <>  0 
    and emp_cal_sm.date between 'НачалоПериода' and 'КонецПериода'
group by
    id_employee
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37394156
pazanius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица уже для сотрудника: emp_cal_sm
id_calendar id_employee date code_sm1101.02.20111

Для такой таблицы 74000 записей в год при 200 сотрудниках
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37394184
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pazaniusТаблица уже для сотрудника: emp_cal_sm
id_calendar id_employee date code_sm1101.02.20111
Для такой таблицы 74000 записей в год при 200 сотрудникахи что...?
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37394191
pazanius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня задача у каждого сотрудника различный график как дней так и времени
например он может работать с 10 до 13 и 16 до 21 в один день, а в другой в другое время
как хранить время на каждый день?
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37394193
pazanius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если так:
[CSV]user datetimes1212011-04-051111111111001212011-04-06011111111100[/CSV]
где times - время с 10 до 22 где 1-работает, 0 -отдыхает
или лучше придумать что-нибудь другое?
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37394196
pazanius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как тогда в предыдущем случае выводить календарь в интерфейс
или вносить данные на год вперед, а потом update через интерфейс?
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37394282
pazanius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Календарь для этого поста http://www.sql.ru/forum/actualthread.aspx?tid=873102
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37397926
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pazaniusу меня задача у каждого сотрудника различный график как дней так и времени
например он может работать с 10 до 13 и 16 до 21 в один день, а в другой в другое время
как хранить время на каждый день?
Если уш вовсе нет стандартизации...

СотрудникКодНазвание
Учет рабочего времениКодКод сотрудникаДатаНачалоОкончание
В такую схему поместится всё, что угодно...
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37397993
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsapazaniusу меня задача у каждого сотрудника различный график как дней так и времени
например он может работать с 10 до 13 и 16 до 21 в один день, а в другой в другое время
как хранить время на каждый день?
Если уш вовсе нет стандартизации...

СотрудникКодНазвание
Учет рабочего времениКодКод сотрудникаДатаНачало Окончание
В такую схему поместится всё, что угодно... избыточность лишней быть не может ))
...
Рейтинг: 0 / 0
Как хранить календарь рабочего времени
    #37398005
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZezaM , а где тут избыточность?
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как хранить календарь рабочего времени
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]