Пожалуй, самым сложным в этом проекте было сохранить консистентность данных для финального расчёта, потому что каждый последующий расчёт требует результаты предыдущего. Особенно это вызывало трудности из-за того, что мы рассчитывали отчеты пачками (частями построчно), дабы снизить нагрузку на сервер.
В финальном расчёте требовались все результаты, поэтому результаты каждой пачки надо было правильно передавать к другим результатами, в которых эта же пачка данных участвовала.