Тема: "Похищенные моточасы". Ещё один малозаметный баг. Голосуем за устране
Обнаружен еще один малозаметный, но коварный баг в Виалон, связанный с не-до-калькулированием работы датчиков, при составлении раздробленного отчета за период. Пример:
Прибор присылает данные не сплошным монолитным блоком состоящих из шага в одну секунду, данные поступают от приборров с разрывом, допустим машина стояла, в режиме простоя прибор записывает и отправляет точку раз в 10 минут, затем ее завели, из-за изменения состояния прибор отправляет очередную точку и учащает запись до раз в 30 секунд, ввиду того что его завели, если появляются дополнительные условия, то он кое-где добавляет точек еще с данными (допустим поворот на определенный угол, или ускорение), получается что в базе данных будет склад точек примерно такого вида:
8-00
8-10
8-20
8-20-53 завели машину
8-20-23
8-20-53
8-20-57 (машина повернула)
и т.д.
Поэтому если делать отчет за весь день, система, при подсчете времени датчика (допустим полезной работы) берет самую первую
точку, и самую последнюю в интервале, и все время внутри суммирует полностью,
А когда разделяем на периоды Отчет, допустим строим 24 отчета по 1 часу, то у вас будет некоторая потеря в Моточасах или других данных Датчика, потому что система, ищет Ближайшую точку
для закрытия интервала, допустим выставили 18-30,
но в 18-30 нет точки, она была прислана приборов в 18-25, а следующая
придет только в 18-37, поэтому у вас моточас сократится с конца на 5
минут (это пример).
В результате абонент пишет нам жалобу что наши отчеты все считают неправильно.
Необходимо измениить логику, чтобы после поиска "ближайшей точки"
в интервале, система как-то верифицировала близость следующей точки за
пределом интервала и "дотягивала" начисление моточасов до конца интервала Отчета.
Ведь стало бы абсолютно точно показывать в этом случае и без разницы
целиком был выделен допустим день как интервал, или это "сборка
интервалов".