Тут храниться запись о собствено том сайте (домене, заводе – короче объекте верхнего уровня)
Поле | Тип | Описание | Пример |
Id | uniqueidentifier | Идентификатор сайта | 0167EB79-0FF4-4113-… |
Name | nvarchar(50) | Имя сайта | kzsp |
BaseUri | nvarchar(50) | База для ссылок | http://95.73.61.86/3D |
Типы 3D компонентов - VRMLComponents
Тут мы храним все типы наших «кирпичиков», начиная с самого верха – с ландшафта. Включая динамические кирпичи – рулон там или штрипс. Есть некая древовидность, указывающая, что где и для чего (ну например склад подчинен заводу, ячейка – складу, рулон – ячейке). Есть пусть к файлу с компонентом 3D .
Поле | Тип | Описание | Пример |
Id | uniqueidentifier | Идентификатор компоненты | 0167EB79-0FF4-4113-… |
ParentId | nvarchar(50) | Идентификатор компоненты родитеоя | 971afc66-d067-46a2-… |
Name | nvarchar(50) | Имя компоненты | Location for coil ANGC Finished Pack Proper |
FileUri | nvarchar(50) | Ссылка на VRLM-файл от базы | /landscape.wrl |
Actions | nvarchar(50) | Действия сервиса, производимые при достижении узла; тип узла | · Lookup structure – идти дальше по дереву вниз · Add ERP data – заглянуть в 1С за данными по рулонам · No - ничего |
Type | nvarchar(50) | Тип. Добавлен по просьбе разработчика клиента | location |
Aux | nvarchar(50) | Пустое поле, добавлено по просьбе разработчика клиента | - |
VRMLObjects - объекты, листы дерева
Все «листы» дерева – все ячейки, станки, люди, здания. Координаты всех «листов» деерва . Тут же – привязка к ERP.
Поле | Тип | Описание | Пример |
Id | uniqueidentifier | Идентификатор объекта | 0167EB79-0FF4-4113-… |
SiteId | nvarchar(50) | Идентификатор сайта | 971afc66-d067-46a2-… |
ComponetId | nvarchar(50) | Идентификатор компоненты | 971afc66-d067-46a2-… |
Name | nvarchar(50) | Имя объекта | АНГЦ - склад ГОТОВОЙ НЕУП. ПРОДУКЦИИ / Ы-07 |
Coord_X | float | Координата X | 12.98 |
Coord_Y | float | Координата Y | 12.98 |
Coord_Z | float | Координата Z | 12.98 |
Coord_A | float | Координата A | 12.98 |
Coord_B | float | Координата B | 12.98 |
Coord_C | float | Координата C | 12.98 |
Coord_D | float | Координата D | 12.98 |
ERPId | nvarchar(50) | Привязка «листа» к элементу системы ERP | КЗР000087 |
CommonNameId | nvarchar(50) | Некий текстовый индекс объекта. Добавлен по просьбе разрабочика. Нужен для того, что не все элементы имеют ERPId, а Name может быть не уникально | КЗР000087 |
Layout | nvarchar(50) | Пустое поле, добавлено по просьбе разработчика клиента | - |
Методы веб-сервиса VRMLService
Метод SiteQuery
Собственно запрос элемента и его детей. Ранее выдавал всех детей «до низа», сейчас выдает только два уровня – свой и прямые потомки.
Два парамтера запроса: strSiteName – имя сайта (домена), и strRootId – id верхнего компонента. Спросим с самого верха – strSiteName = «kzsp», strRootId = «-». Ответ – собсвтенно ландшафт и его прямые потомки – здания:
Далее, берем первое здание - «АНГЦ - склад СЫРЬЯ (до стана» - и, при увеличении, задаем второй запрос: strSiteName = «kzsp», strRootId = «903a248d-cc6d-4352-9e48-eb2e47a5ea59». Сервис отдаст два уровня – здание и его потомков – ячейки и рулоны:
* если я все верно помню, сейчас тег uri не выдается. Переснять пример без доступа к 1С сложно
Метод QueryComponents
Перед началом работы с увеличением объектов клиент запрашивает все типы копонентов и кэширует их. Клиент делает это с использовнеим указанного метода.
Запрос состоит из одного параметра – имя сайта. Спросим для strSiteName = «kzsp»:
Тег Modified описывает дату последнего изменения файла из тега Uri.
Метод UpdateObjects
Метод используется для обновления координат записей в VRMLObjects. В методе один парамтер – strXml. В него надо загрузить XML такого формата:
Где указать новые координаты. Можно загрузить и несколько блоков Row сразу.
Для указания идентификатора строки VRMLObjects, которую надо обновить, используется или Id, или CommonNameId