Команда "Container.Transfer" - подвоз контейнера в указанную ячейку

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

Команда "Container.Transfer" - подвоз контейнера в указанную ячейку

Сообщение korvin » 27 авг 2020, 08:32

Команда сообщает серверу, что необходимо подвезти (переместить) контейнер в указанную ячейку. Целевая ячейка может быть любого типа - как ячейкой оператора, так и ячейкой хранения.
Данная команда может использоваться
  1. при подвозе контейнера для дополнения его товаром по приходу;
  2. или при подвозе контейнера для отбора;
  3. или для перемещения контейнера между ячейками хранения.
Дать команду можно двумя разными способами:
  1. путем добавления записи в таблицу sarmat.command_gas;
  2. путем вызова pl-sql функции sarmat.api.Container_Transfer_by_ID.
Оба варианта идентичны по сути, и отличаются лишь формой.
В случае, если параметры выполнения команды заданы неверно, формируется программное исключение raise с соотв. кодом ошибки.

1. Отдача команды путем добавления записи в таблицу sarmat.command_gas
Команда отдается путем добавления записи в таблицу sarmat.command_gas.
Передаются поля:
  • Command_type_id=14
  • Container_id = ID контейнера из соответствующей таблицы Заказчика
  • Cell_ID = ID ячейки (из соотв. таблицы Заказчика) куда нужно подвезти контейнер
  • Priority = (number default 0) приоритет команды - чем выше, тем срочнее
Возвращает поля:
«State» результат выполнения команды:
= 0 команда в процессе добавления
= 1 команда принята АСК к выполнению
= 2 ошибка выполнения команды
= 3 команда начала выполняться
= 5 команда успешно выполнена

Пример добавления команды для подвоза контейнера:

Код: Выделить всё

insert into sarmat.command_gas (command_type_id, container_id ,cell_id, priority)
values(14,4429407442,106704, 9999) returning ID into :CMDID;


2. Отдача команды путем вызова pl-sql функции из пакета sarmat.api
Чтобы дать команду на перемещение контейнера, используйте pl-sql функцию sarmat.api.Container_Transfer_by_ID со следующими параметрами:
  • container_id = ID перемещаемого контейнера в базе Заказчика;
  • cell_id = ID ячейки (из соотв. таблицы Заказчика) куда переместить контейнер
  • Priority = (number default 0) приоритет команды - чем выше, тем срочнее
Пример вызова:

Код: Выделить всё

declare
  cmd_id number;
begin
  cmd_id:= sarmat.api.Container_Transfer_by_id(4429407442,106704,9999);
end;
/

Вернуться в «АСК Гамма»