Gate.Upload - загрузить ящики в бункер

korvin
Администратор
Сообщения: 187
Зарегистрирован: 18 ноя 2017, 15:36

Gate.Upload - загрузить ящики в бункер

Сообщение korvin » 30 янв 2018, 13:32

Для подачи команды нужно добавить запись в таблицу sarmat.cmd_gate. Входные параметры - заполняемые поля:
  • command_type_id - number - код команды - константа = 52
  • gate_ids - varchar2(4000) - ID шлюзов, перечисленные через запятую
  • box_ids - varchar2(4000) - ID ящиков, уложенные в шлюзы, перечисленные через запятую в виде пар [ID_ящика;код его типоразмера]
  • user_name - varchar2 - логин пользователя, для которого закрывается шлюз (необязательный параметр)

При добавлении команды-записи происходит проверка на корректность входных параметров команды. Если параметры команды заданы некорректно, то сразу формируется ошибка добавления raise, запись не добавляется. В raise выводится код и причина невозможности добавления записи. Причины возможные:
- указанного ID шлюза не существует
- шлюз не проверен & не закрыт соотв. командой
- ящика с указанным ID уже хранится в бункере
- недопустимый типоразмер ящика

Возвращаются параметры:
  • ID - number - ID новой команды,
  • State - состояние команды:
    • =0-команда подана,
    • =1-команда принята к рассмотрению,
    • =2-ошибка выполнения команды,
    • =3-команда запущена к выполнению,
    • =5 - команда успешно выполнена

По мере выполнения команды в таблице sarmat.box у соответствующих записей меняются поля:
- location
  • =0 = за пределами шлюза и бункера
  • =1 = в шлюзе
  • =3 = на роботе
  • =5 = в бункере
- cell_id - ячейка хранения в бункере. Если не в бункере, то =Null

Вернуться в «Сервер шлюзов»