Здравствуй, Хабр.
Есть две коллекции прихода и расхода средств:
приход средств
дата
сумма
статус (не поддтвержден, подтвержден, отменен)
расход средств
дата
сумма
Мне нужно получать остаток на счету и отчеты по использованию.
Без дополнительных коллекций
1. Чтобы получить остаток на счету нужно просумировать подтверженные пришедшие средства и отнять от них сумму расходов.
2. Чтобы получить отчет нужно вывести данные приходящие и расходуемые средства за период.
Здесь мне не нарвится что нужно постоянно вычислять остаток.
Добавить коллекцию счета
счет
остаток
1. Чтобы получить остаток на счету нужно вернуть значение остатка.
2. Получение отчета анологично предыдущему методу.
Здесь мне не нарвится, что я должен менять остаток всегда когда меняются средства (добавляются новые записи или изменяется статус). Если у меня вдруг где-нибудь произойдет ошибка, для проверки мне нужно будет высчитать остаток как в первом методе, причем где и когда произошла ошибка мне будет сложно понять.
Добавить коллекцию периода
период
закрыт (да, нет)
дата начала
дата окончания
остаток в начале
остаток при окончании
1. Чтобы получить остаток мне нужно вернуть значение остатка при окончании за последний открытый период.
2. Получение отчета анологично как и предыдущем методе, возможно проще получать даты для отчетов по периодам.
Этот метод похож на предыдущий, только при ошибке проще понять в каком периоде она произошла и быстрее делать перерасчет по периоду. Не нравится, что при закрытии периода я не могу по сути его менять, если произойдут изменения или ошибка в предыдущем периоде.
Собственно возможно кто-нибудь может описать другие модели или же дополнить/поправить мои рассуждения.
Спасибо.