Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:arccnt:mod:msc [2016/06/21 06:35]
denis [schedule]
doc:arccnt:mod:msc [2016/06/21 07:28] (текущий)
denis [card]
Строка 90: Строка 90:
 </​code>​ </​code>​
  
 +Владельцы карт.
  
 ===== card ===== ===== card =====
Строка 102: Строка 103:
 </​code>​ </​code>​
  
 +Карты.
 +
 +**CODE** - код карты в десятичном формате,​ пример:​ "​89,​11,​36277"​
 ===== schedule ===== ===== schedule =====
 <code sql> <code sql>
Строка 138: Строка 142:
                 DT_BEGIN timestamp,                 DT_BEGIN timestamp,
                 DT_END timestamp,                 DT_END timestamp,
 +                DT_EXPIRE timestamp,
                 DT_REG timestamp,                 DT_REG timestamp,
                 STATUS smallint,                 STATUS smallint,
Строка 143: Строка 148:
               )               )
 </​code>​ </​code>​
-Задача - это предписание на обслуживание определенного оборудование в установленное время. ​ 
  
 +Таблица содержит задачи на обслуживание определенного оборудования со считывателемя. ​
 +
 +**DT_CREATE** - создание задачи - момент создания записи в таблицы.\\
 +**DT_BEGIN** - начало задачи - с какого момента можно подносить карту к считывателю.\\
 +**DT_END** - окончание задачи - поднесение карты после этого момента будет засчитано как выполнение с опозданием.\\
 +**DT_EXPIRE** - максимальное время жизни открытой задачи,​ после которого она автоматически закрывается со статусом ''​3''​.\\
 +**DT_REG** - дата и время выполнения задачи (поднесения карты).\\
 +**PERSON_ID** - человек,​ выполнивший задачу.\\
 +**STATUS** - статус задачи:​
 +^Код статуса ​ ^Описание ​ ^
 +|  0  |Открыта ​ |
 +|  1  |Закрыта во время ​ |
 +|  2  |Закрыта с опозданием |
 +|  3  |Закрыта по просрочке ​ |
 +|  4  |Отменена ​ |
  
 ===== input ===== ===== input =====
Строка 157: Строка 176:
 </​code>​ </​code>​
  
 +В данной таблице сохраняются все считывания карт. PERSON_ID может содержать null, если карта не имеет владельца.
  
  
Строка 163: Строка 182:
  
 При запуске модуль ожидает подключений к базе данных и к серверу данных,​ после чего циклически выполняет действия:​ При запуске модуль ожидает подключений к базе данных и к серверу данных,​ после чего циклически выполняет действия:​
-  - проверка поступления нового ​кода от считывателей,​ и если есть, фиксирование его в базе данных. + 
-  - генерирование новых задач +===== Получение и сохранение данных от считывателей ===== 
-  ​- ​закрытие просроченных задач+ 
 +Выполняется ​проверка поступления новых кодов от считывателей,​ и если есть, фиксирование ​их в базе данных в таблице ''​input''​. При этом выполняется поиск открытой задачи по данному считывателю,​ и, если у владельца карты есть права на задачу,​ в таблице ''​task''​ выполняется закрытие ​задачи со статусом 1 или 2. 
 + 
 +После успешной записи ​данных ​считывателю посылается обратная связь на светодиоды:​ 
 +  - длинный зеленый - задача закрыта 
 +  - длинный синий - задача не найдена,​ либо у владельца карты нет прав 
 +  - мигающий синий - карта не имеет владельца 
 + 
 +===== Генерирование новых задач ​===== 
 +По расписанию в таблице ''​schedule''​ создаются задачи и помещаются в таблицу ''​task''​. При этом сразу расчитываются даты открытия,​ закрытия и просрочки задачи. Дата просрочки вычисляется как дата начала следующей задачи по данному расписанию. 
 + 
 + 
 +===== Закрытие просроченных задач ​===== 
 +Открытые задачи,​ т.е. те у которых STATUS=0 и DT_REG is null, считаются просроченными,​ если DT_EXPIRE < текущее время. При этом в ''​task''​ для данной задачи прописывается STATUS=3 и DT_REG=текущее время. 
  
  
doc/arccnt/mod/msc.1466480153.txt.gz · Последние изменения: 2016/06/21 06:35 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0