Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Сложная вьюха
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Есть множество КПП (контрольно пропускной пункт; вертушка, к которой прикладываются карты). Регистрируются события в таблице event: автор1) emplId - ID сотрудника 2) specId - ID специальности сотрудника 3) date - дата регистрации события 4) direction - направление (вход/выход) 5) kppId - ID КПП 6) description Мне нужно посчитать время нахождения сотрудника на территории. Т.е. нужно считать <дата_выхода> - <дата_входа>. Можно ли это реализовать через вьюху? Чтобы я потом забирал из нее данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 09:59 |
|
||
|
Сложная вьюха
|
|||
|---|---|---|---|
|
#18+
psevdo, а почему бы вместо date и direction не использовать date_in и date_out? Меньше ошибок, проще считать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 10:24 |
|
||
|
Сложная вьюха
|
|||
|---|---|---|---|
|
#18+
А, понял. входить-выходить можно через разные ПП. Тогда джойнить две копии таблицы по равенству ИД сотрудника и неравенству дат. Плюс ограничения на сутки, но это уже от специфики проблемы зависит. Данных маловато. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 10:30 |
|
||
|
Сложная вьюха
|
|||
|---|---|---|---|
|
#18+
Проблема заключается еще в том, что люди могут проходить через КПП по нескольку раз за день. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 10:53 |
|
||
|
Сложная вьюха
|
|||
|---|---|---|---|
|
#18+
Задача вполне решаемая. Начни с нумерации записей для каждого сотрудника при сортировке по времени (читаем соотв. FAQ). Затем отбираем только те пары, где номер для входа на 1 меньше номера для выхода. Далее (если надо) берём пересечение этого интервала с рабочим временем (таблица или синтетика). Теперь Datediff() и суммируем. Всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 17:24 |
|
||
|
Сложная вьюха
|
|||
|---|---|---|---|
|
#18+
psevdo, Как считать случаи, когда был проход в одну сторону подряд два и более раз? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 22:31 |
|
||
|
Сложная вьюха
|
|||
|---|---|---|---|
|
#18+
miksoftpsevdo, Как считать случаи, когда был проход в одну сторону подряд два и более раз?Не должно, КПП, сотрудник, зашел, вышел. (залогинился, разлогинился). Конечно не стоит исключать человеческий фактор но все же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2018, 01:22 |
|
||
|
Сложная вьюха
|
|||
|---|---|---|---|
|
#18+
AkinaЗадача вполне решаемая. Начни с нумерации записей для каждого сотрудника при сортировке по времени (читаем соотв. FAQ). Затем отбираем только те пары, где номер для входа на 1 меньше номера для выхода. Далее (если надо) берём пересечение этого интервала с рабочим временем (таблица или синтетика). Теперь Datediff() и суммируем. Всё.Задача решаемая, но такое навряд ли во вьюху впихнешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2018, 01:25 |
|
||
|
Сложная вьюха
|
|||
|---|---|---|---|
|
#18+
psevdoЗдравствуйте. Есть множество КПП (контрольно пропускной пункт; вертушка, к которой прикладываются карты). Регистрируются события в таблице event: ... Мне нужно посчитать время нахождения сотрудника на территории. Т.е. нужно считать <дата_выхода> - <дата_входа>. Можно ли это реализовать через вьюху? Чтобы я потом забирал из нее данные.Простейший вариант добавить еще одну таблицу, а на эту повесить триггер срабатывающий на "выход", в дополнительной будет накапливаться разница во времени, между входом и выходом. Вот ее можно и во вьюху, только надо ли, там уже можно обойтись простейшими запросами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2018, 01:33 |
|
||
|
Сложная вьюха
|
|||
|---|---|---|---|
|
#18+
автор2) specId - ID специальности сотрудника а это то чего тут делает, ему место в таблице сотрудников ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2018, 04:47 |
|
||
|
Сложная вьюха
|
|||
|---|---|---|---|
|
#18+
osxlтакое навряд ли во вьюху впихнешьНормально впихнётся. Другое дело, что вью явно админского уровня, пользоваться будет редко - а тогда нафига козе баян? ХП куда как правильнее.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2018, 11:06 |
|
||
|
Сложная вьюха
|
|||
|---|---|---|---|
|
#18+
Akinaosxlтакое навряд ли во вьюху впихнешьНормально впихнётся. Другое дело, что вью явно админского уровня, пользоваться будет редко - а тогда нафига козе баян? ХП куда как правильнее..Хотелось бы наглядно видеть, как ЭТО нормально впихнуть. ХП правильнее чем что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2018, 14:00 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39662894&tid=1829783]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 372ms |

| 0 / 0 |
