Команда перемещения контейнера из одной ячейки в другую

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

Команда перемещения контейнера из одной ячейки в другую

Сообщение korvin » 12 май 2020, 07:26

Эта команда перемещает контейнер из одной указанной ячейки в другую указанную ячейку.
Команда подается через добавление соответствующей записи в таблицу Oracel SQL-сервера. Таблица "sarmat.command" содержит следующие поля:
ID: NUMBER - уникальное ID команды, формируется сервером
RP_SRC_ID: NUMBER - ID склада источника
CELL_SRC_SNAME: VARCHAR2(30) - символьное название ячейки-источника
RP_DEST_ID: NUMBER - ID склада приемника (в общем случае совпадает с ID склада источника)
CELL_DEST_SNAME: VARCHAR2(30) - символьное название ячейки-приемника
PRIORITY: NUMBER - приоритет выполнения команды, чем выше. тем важнее
STATE: NUMBER - состояние команды - проставляется сервером: =1-к запуску (default), =2-ошибка, =3-запущено, =5-исполнено ОК
ERROR_CODE_ID: NUMBER - код ошибки (если была ошибка)
DATE_TIME_BEGIN: DATE - время начала выполнения команды
DATE_TIME_END: DATE - время завершения выполнения команды

Примеры SQL-запросов добавления команды:

insert into sarmat.command (RP_SRC_ID, cell_src_sname, cell_dest_sname, priority) values (12,'030N002','015U004',12) returning id into :AID;
insert into sarmat.command (RP_SRC_ID, cell_src_sname, cell_dest_sname, priority) values (10,'017U004','035N004',1) returning id into :AID;

В вышеуказанных командах ":AID" - это локальная переменная.

Чтобы отследить состояние команды, Вам нужно выполнить соотв. "select" SQL запрос типа такого:

select state from sarmat.command where id=:AID;

Вернуться в «Сервер штабелеров простой»