|
|
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
Всем привет, имеется задачка в которой необходимо вывести список сотрудников и число опозданий для каждого за месяц. Рабочий день с 9, в течении дня они могут несколько раз выходить, заходить, это фиксируется в журнале, в 00 считается что все точно ушли. Сб, вс выходные и не учитываются. таблица слудующая: id sub_id dtime type Номер записи, id сотрудника, дата и время записи, тип (вход / выход). На форуме находил попытки реализации подобного под mysql, общее решение так и не было найдено. Может кто уже сталкивался с реализацией подобного? Каким образом можно не учитывать повторные входы и выходы в течении дня? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2017, 14:54 |
|
||
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
сгуппировать по дням. смотреть только min(time) за каждый день. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2017, 15:55 |
|
||
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
Как планируется отсекать выходные, кроме сб и вс? Будет ли опозданием присутствие на работе только с 6:00 по 8:55? Да и вообще, отпуск, прогул, больничный. abrahsКаким образом можно не учитывать повторные входы и выходы в течении дня?Зачем учитывать выходы, если не учитывается время работы, а только первый вход? Пример выбора крайней записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2017, 16:30 |
|
||
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
заядлый опоздун, прочие выходные и т.п. по условию можно не учитывать, только сб и вс. Будет ли опозданием присутствие на работе только с 6:00 по 8:55? Да Как я понимаю главное правило это присутствие на рабочем месте в момент наступления 9 часов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2017, 17:27 |
|
||
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
Проверка только на 9:00 Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. Как я понимаю главное правило это присутствие на рабочем месте в момент наступления 9 часов.06:00-08:55 пахал 08:55-09:15 за булочкой сбегал / покурил 09:15-20:30 пахал Тоже опоздун? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2017, 18:12 |
|
||
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
заядлый опоздун, теоретически надо добавлять в таком случае общее отработанное время за день и отталкиваться от него, но т.к. в условиях этого нет и существует проблема того, что человек допустим зашёл на пару минут до начала рабочего дня и ушёл с концами думаю отслеживать именно присутствие во время открытия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2017, 18:28 |
|
||
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
заядлый опоздун (select 1 sub_id, to_date('28.11.2017 08:45', 'dd.mm.yyyy hh24:mi') dtime, 'in' tp from dual union all select 1 sub_id, to_date('28.11.2017 08:55', 'dd.mm.yyyy hh24:mi') dtime, 'out' tp from dual union all select 1 sub_id, to_date('30.11.2017 08:55', 'dd.mm.yyyy hh24:mi') dtime, 'in' tp from dual union all select 1 sub_id, to_date('30.11.2017 18:45', 'dd.mm.yyyy hh24:mi') dtime, 'out' tp from dual union all select 2 sub_id, to_date('30.11.2017 08:45', 'dd.mm.yyyy hh24:mi') dtime, 'in' tp from dual union all select 2 sub_id, to_date('30.11.2017 15:30', 'dd.mm.yyyy hh24:mi') dtime, 'out' tp from dual union all select 3 sub_id, to_date('29.11.2017 08:45', 'dd.mm.yyyy hh24:mi') dtime, 'in' tp from dual union all select 3 sub_id, to_date('29.11.2017 15:30', 'dd.mm.yyyy hh24:mi') dtime, 'out' tp from dual), получаю ошибку ORA-00972: identifier is too long т.к. идентификатор больше 30 байт, каким образом вы это обходите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2017, 18:49 |
|
||
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
abrahsполучаю ошибку ORA-00972: identifier is too long т.к. идентификатор больше 30 байт, каким образом вы это обходите?select lengthb("Опоздания/Прогулы") from dual; Попробуй заменить "Опоздания/Прогулы" на "Опоздания" или на cmnt :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2017, 19:27 |
|
||
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
заядлый опоздун, спасибо большое) затупил, думал где дата прописана по байтам не проходила) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2017, 19:34 |
|
||
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
abrahsзаядлый опоздун, теоретически надо добавлять в таком случае общее отработанное время за день и отталкиваться от него, но т.к. в условиях этого нет и существует проблема того, что человек допустим зашёл на пару минут до начала рабочего дня и ушёл с концами думаю отслеживать именно присутствие во время открытия. ето реальная проблема софт покупной 1) прошел вертушку 8:30, в 8:55 вышел покурить (в помещении запрещено), зашел в 9:05 - опоздал 2) работа с ночи предыдущего для - тоже считает опоздавшим 3) на вход не отработал датчик с вертушки - опоздал и тд ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 11:54 |
|
||
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 12:33 |
|
||
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
заядлый опоздун Код: plsql 1. 2. 3. 4. 5. 6. Опечатка, конечно же "select min(t1.dtime)" Dshedoo, Учет только последнего выхода покажет переработку при работе с "сиестой" (огромным обедом). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 12:57 |
|
||
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
Dshedoo, И не проверить присутствие сотрудника в конкретный момент времени (как в условии - 9:00) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 13:01 |
|
||
|
отлов "опоздунов" на работу
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. Так сойдёт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 14:52 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39563628&tid=1884803]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
145ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 473ms |

| 0 / 0 |
