Связи между таблицами в базе данных MS SQL Orion Pro Болид

Недавно пришлось столкнуться со следующей проблемой: заказчику нужно было сделать отчет по проходам сотрудников, который сильно отличался от шаблонного отчета в генераторе отчетов Орион Про Болида. Изучение конструктора отчетов и иных болидовских глупостей при знании языка SQL мне показалось не нужным… Покопавшись в базе, я установил связи между нужными мне таблицами, после чего написать отчет не составило труда. Есть один момент – коды ключей в таблице pMark в столбце CodeP закодированы. Однако закодированы они не очень сильно и их легко можно узнать. Об этом я напишу в следующий раз. Вот, собственно диаграмма связей между таблицами в базе данных MS SQL Orion Pro Болид:
диаграмма связей между таблицами в базе данных MS SQL Orion Pro Болид

Оцените пожалуйста статью:

ПечальноТак себеНе плохоХорошоОтличная статья! 3 оценок.
Загрузка...

11 Replies to “Связи между таблицами в базе данных MS SQL Orion Pro Болид

  1. Здравствуйте!
    Спасибо за информацию!
    Жду с нетерпением продолжение публикации по данной теме.
    С Уважением, Дмитрий.

    1. Дмитрий! Спасибо. Пишите в комментариях какого рода информация Вас интересует.

      1. Здравствуйте!
        Помогите пожалуйста написать запрос в MS SQL в результате которого по “номеру”(или другому идентификатору работника из таблицы pLogData) получить отчет за определенный временной интервал в котором будет время прохода и точка прохода.
        Заранее спасибо!!!
        С Уважением, Дмитрий.

        1. Дмитрий! Укажите какие столбцы в выходной таблице вы хотите видеть. Прямо так: Фамилия, Имя, Отчество, время прохода, точка прохода и т.д. Так же укажите какие исходные данные вы хотите использовать для получения отчета. Айди сотрудника, временной интервал, точки прохода, вход – выход? Не обещаю что напишу тут-же, пока мало свободного времени.

        2. В самом простом случае без использования функций и переменных запрос будет выглядеть так:

          1. SELECT 
          2. -- лишние столбцы закомментировать
          3. 		TimeVal
          4.       ,HozOrgan
          5.       ,DoorIndex
          6. 	  ,Remark
          7. 	  ,Name + ' ' + FirstName + ' ' + MidName AS Name
          8. FROM pLogData JOIN pList ON pLogData.HozOrgan = pList.ID
          9. WHERE  
          10. pLogData.TimeVal BETWEEN 
          11. CONVERT (datetime,
          12. '2016-07-12 09:57:39.000'	 -- начало интервала (изменить)
          13. , 21) 
          14. AND CONVERT (datetime, 
          15. '2016-07-12 11:57:39.000'	 -- окончание интервала (изменить)
          16. ,21)
          17. AND pLogData.HozOrgan = 11	 -- ID персоны из таблицы pList (изменить)
  2. Александр, спасибо за информацию. По какой причине часть устройств не фиксируется в pLogData и m_alarm?

    1. Здравствуйте! Возможно это связано с тем, что устройства не прописаны в базе Орион Про. Посмотрите их наличие в таблице DevItems

  3. Здравствуйте,
    организации требуется откорректировать отчет по персоналу для Орион Про:
    Задача: При выгрузке данных из системы СКУД при эвакуации с завода, в отчет попадает персонал, находящийся в момент выгрузки на другом (удаленном) объекте.

    Если Вы готовы выполнить данную задачу, прошу связаться со мной по почте для обсуждения деталей выполнения работы. Спасибо.
    Елена.

  4. Добрый день, Александр.
    Подскажите в какой таблице хранятся данные по пропуску у сотрудника. А именно код карты.
    В таблице [pList] нет кодов карты. Я правильно понимаю коды хранятся Шестнадцатеричной системе. например код 76000B0050C9FE01 мне хотелось получить часть кода C9FE в десятичном формате. т.е. 51710. А по данному коду строить отчеты. Либо как то увязать с таблицей [pLogData] данный код.

    1. Андрей! Коды карточек PROXIMITY в базе хранятся в базе в таблице pMark с столбце CodeP.На сайте есть пост, посвященный этому вопросу : Как расшифровать коды ключей Proximity в базе Орион Про Болид. К сожалению, представленный способ работает не во всех версиях Орион Про. В новых версиях болид стал использовать другой алгоритм шифрования. Пока не было времени подумать над этим. Посмотрите как расшифровываются ключики и в ms sql напишите функцию, которая будет делать это на лету, прямо во время выполнения запроса.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *