Помозговал про формат данных для разных элементов(прибор, дверь, извещатель) и понял, что делать что-то универсальное про перенос с помощью запросов к БД у меня нет знаний. Надо работать с конкретными байтами значений переменных анализируя каждое на наличие необходимых атрибутов,
Решил переносить руками, но с помощью временного плана, на котором "фантомно" наложен тот же план в том месте, где он будет. Т.о. просто переносим на то же самое место на фантомный план, а потом подменяем его на подрезаный чёткий.
По крайней мере я потаскал элементы по плану ... 0,0 слева наверху.
Вдруг пригодится ...
Менял элемент, делал запрос с сортировкой по времени.ID MapID GType Num UnitID PictureCount Pictures ChangeTime Flags Link2Obj
На том же плане, тот же ШС(51), того же типа, чуть вверх.
923 5 3 0 617 2 0x53686C656966526563747320762E312E30300200000001000000130000009F0B000040050000130000009F0B00002A050000 2020-11-15 02:50:39.303 0 0
На том же плане, тот же ШС, того же типа, чуть вниз.
923 5 3 0 617 2 0x53686C656966526563747320762E312E30300200000001000000130000009F0B000040050000130000009F0B00005A050000 2020-11-15 03:02:00.690 0 0
На том же плане, тот же ШС, другого типа, чуть вниз.
923 5 3 0 617 2 0x53686C656966526563747320762E312E30300200000001000000130000009F0B000040050000120000009F0B00005A050000 2020-11-15 03:03:52.683 0 0
На том же плане, тот же ШС(51), того же типа, оригинал чуть вверх.
923 5 3 0 617 2 0x53686C656966526563747320762E312E30300200000001000000130000009F0B00002A050000120000009F0B00005A050000 2020-11-15 03:10:17.767 0 0
На том же плане, тот же ШС(51), того же типа, оригинал на место, копию удалить.
923 5 3 0 617 1 0x53686C656966526563747320762E312E30300100000001000000130000009E0B00003F050000 2020-11-15 03:15:00.680 0 0
На том же плане, тот же ШС(51), того же типа, оригинал удалить, копию на его место.
923 5 3 0 617 1 0x53686C656966526563747320762E312E30300100000001000000130000009E0B000040050000 2020-11-15 03:17:42.150 0 0
На том же плане, тот же ШС(51), того же типа, копию на его место, оригинал удалить.
923 5 3 0 617 1 0x53686C656966526563747320762E312E30300100000001000000130000009F0B000046050000 2020-11-15 03:19:29.290 0 0
На том же плане, соседний ШС(52), того же типа, чуть вниз.
921 5 3 0 619 2 0x53686C656966526563747320762E312E30300200000001000000130000006C0B000040050000130000006C0B00005B050000 2020-11-15 03:07:11.913 0 0
На том же плане, соседний ШС(52), другого(третьего) типа, чуть вниз.
921 5 3 0 619 2 0x53686C656966526563747320762E312E30300200000001000000130000006C0B000040050000150000006D0B00005F050000 2020-11-15 03:24:25.020 0 0
Два разных ШС, Y совпадает, X отличается незнач-но.
923 5 3 0 617 1 0x53686C656966526563747320762E312E30300100000001000000130000009E0B000040050000 2020-11-15 03:36:49.233 0 0
921 5 3 0 619 1 0x53686C656966526563747320762E312E30300100000001000000130000006C0B000040050000 2020-11-15 03:36:26.573 0 0
Первый ШС перенос в самый верх
923 5 3 0 617 1 0x53686C656966526563747320762E312E30300100000001000000130000009F0B000001000000 2020-11-15 03:42:49.150 0 0
Чуть ниже
923 5 3 0 617 1 0x53686C656966526563747320762E312E30300100000001000000130000009F0B000026000000 2020-11-15 03:45:56.220 0 0
Чуть левее
923 5 3 0 617 1 0x53686C656966526563747320762E312E3030010000000100000013000000960B000026000000 2020-11-15 03:48:08.853 0 0
Самое право-вверх
923 5 3 0 617 1 0x53686C656966526563747320762E312E3030010000000100000013000000E10C000001000000 2020-11-15 03:49:59.737 0 0
Самая левая часть того же плана, левее ДИП(маленький)
733 5 3 0 397 1 0x53686C656966526563747320762E312E3030010000000000000013000000AD010000EB050000 2020-11-15 04:08:27.393 0 0
Самая левая часть того же плана, левее ДИП(Большой)
733 5 3 0 397 1 0x53686C656966526563747320762E312E3030010000000100000013000000AD010000EB050000 2020-11-15 04:10:36.803 0 0
В самый низ
733 5 3 0 397 1 0x53686C656966526563747320762E312E3030010000000100000013000000AD01000012090000 2020-11-15 04:28:06.447 0 0
Самое лево-низ
733 5 3 0 397 1 0x53686C656966526563747320762E312E30300100000001000000130000000100000011090000 2020-11-15 04:35:18.323 0 0
Подвинул дверь
1693 5 12 0 37 1 0x446576696365526563747320762E312E3030C8000000C5010000--------D005000064000000000000000000000000 2020-11-15 04:41:03.333 0 0
Та же дверь чуть выше
1693 5 12 0 37 1 0x446576696365526563747320762E312E3030C8000000C5010000--------CD05000064000000000000000000000000 2020-11-15 04:44:39.457 0 0
Для извещателя важная нам часть байта начинается после 13(ДИП)\(другие числа для ИПР, тепловых), далее 3 байта относящихся к параметрам типа извещателя, если они есть, затем 4 байта координаты X, 4 байта координаты Y.
Ну вот сами для себя решите, хотите вы эту переменную ручками менять :)
Я так и не проверил это, потому что мой план на мониторе помещается, если убрать с монитора все мешающие таблицы, и я их убрал на соседний монитор.
– Иванов Андрей Львович 4 года 1 месяц назад
#ссылка