public class TCommandQueue : System.Windows.Forms.ListBox { private TTerminalBearing TerminalBearing; //Терминал подшипника private TStore Store; //Склад // Конструктор public TCommandQueue(TStore store, // Ссылка на экземпляр //TStore TTerminalBearing terminalBearing) // Ссылка на экземпляр //TTerminalBearing // Добавляет команду в очередь команд на указанную позицию public void AddCommand(int NameCommand, // Код команды int CntRoll, // Номер выдаваемого подшипника int CellSourse, // Порядковый номер исходной ячейки int CellTarget, // Порядковый номер результирующей // ячейки TBearingParam PR, // Параметры подшипника TAxleParam PA, // Параметры оси int Position) // Позиция в очереди // Удаляет команду из очереди public void DeleteCommand(int Position) // Выполняет первую команду в очереди public void ProcessCommand() // Отправляет команду складу private int SendCommand() }
Класс реализует очередь FIFO объектов типа TCommand. Наследуется от System.Windows.Forms.ListBox библиотеки .NET. Количество команд в очереди не ограничено. Имеет ссылки на экземпляры классов TTerminalBearing и TStore.
Операции:
Для выполнения деструктора не требуется никаких предварительных условий.
public class TStore { public TTerminalBearing TerminalBearing; //Ссылка на //терминал подшипника public TCommandQueue CommandQueue; //Ссылка на очередь //команд private static string ConnectionString; //Строка //подключения к серверу БД private SqlConnection connFindFreeCell; private SqlConnection connFindBearing; private SqlConnection connAddBearing; private SqlConnection connMarkFree; private SqlConnection connRemoveBearing; private SqlConnection connGetCoord; // Возвращает статус склада private long GetStatus() // Добавляет запись об обслуженной ОСИ в базу данных private bool AddBearingAxle(TCommand Command) // Добавляет запись о подшипнике в базу данных private bool AddBearing(TCommand Command) // Удаляет запись о подшипнике из базы данных private bool RemoveBearing(TCommand Command) // Помечает ячейку как проблемную private bool MarkCellBad(int Cell) // Возвращает сообщение склада о выполнении команды private long GetMessage() // Конструктор public TStore() // Запрашивает и обрабатывает статус склада public void Process() // Запрашивает и обрабатывает сообщение склада public void ProcessMessage() // Находит свободную ячейку public bool FindFreeCell(ref int CNum, ref int TagSt, ref int TagRow, ref int TagCol, bool IsReserve) // Возвращает координаты ячейки по номеру public bool GetCoord(int CNum, ref int Side, ref int Row, ref int Col) //Находит подшипники в складе на основании параметров ОСИ public bool FindBearingInStore(TAxleParam AxleParam) }