Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.127.232] |
|
Данный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
Здравствуйте! Нужно разработать программу учета рабочего времени. Как подсчитать общее рабочее время? Существует два устройства один на вход и один на выход. Рабочий может как заходить на завод так и выходить. Как быть если рабочий два раза приложил пропуск на вход, или пришел, но приложил на выход.
Прикреплённый файл________________.png (19,98 Кбайт, скачиваний: 377) Добавлено Мне нужно сформировать запрос. |
Сообщ.
#2
,
|
|
|
Цитата Dmitriy78781 @ Как быть если рабочий два раза приложил пропуск на вход, или пришел, но приложил на выход. Выписать звездюлей. А если серьёзно - создать документ, устанавливающий регламент учёта рабочего времени (включая порядок "прикладывания пропуска"), утвердить приказом руководителя и ознакомить всех под подпись. После чего спокойно удалять из БД все первые входы в паре последовательных входов, и соответственно все вторые выходы. А по остатку считать работчее время и формировать "ведомость на звездюли". Удаление делается приблизительно так: DELETE t1.* -- удаление первых входов FROM table t1, table t2 WHERE t1.dt < t2.dt AND NOT EXISTS (SELECT 1 FROM table t3 WHERE t3.dt BETWEEN t1.dt AND t2.dt ) Аналогично для выходов. |
Сообщ.
#3
,
|
|
|
Цитата Dmitriy78781 @ Как быть если рабочий два раза приложил пропуск на вход Установить лимит времени (например минута) в котором игнорировать второе приложение пропуска. Цитата Dmitriy78781 @ или пришел, но приложил на выход. Установить турникет, и не пропускать без пропуска ...... или не выпускать если нет входа |
Сообщ.
#4
,
|
|
|
Цитата Марсианин @ Dmitriy78781 А как вы решили вопрос, когда по одному пропуску прошло 2 человека? Ну например несу я коробку, руки заняты,мне коллега открыл турникет своим пропуском. И что будет с учетом времени если сотрудник зашел по чужому пропуску а вышел по своему? интересная мысль |
Сообщ.
#5
,
|
|
|
Цитата Akina @ А если серьёзно - создать документ, устанавливающий регламент учёта рабочего времени (включая порядок "прикладывания пропуска"), утвердить приказом руководителя и ознакомить всех под подпись. После чего спокойно удалять из БД все первые входы в паре последовательных входов, и соответственно все вторые выходы. А по остатку считать работчее время и формировать "ведомость на звездюли". Мы почти что так решили, но проще: создали документ, устанавливающий регламент учёта рабочего времени. В селекте отсекали некорректные данные, брали только первые входы и последние выходы. |