Closed sedovalx closed 9 years ago
@hodkoff2 @Argelein Я сделал так, что у нас теперь нет отдельных сущностей платежа, штрафов и ремонта. У нас теперь есть понятие операции над счетом. Операция - это некоторое кол-во денег, зачисленное на некоторый счет. Операция всегда связана с какой-либо арендой. Счета сейчас, как сказано выше, - аренды, ремонтный и штрафной. Т.е. у операции есть свойство "accountType" с типом счета (перечисление). Сделано только на сервере. На клиенте, надеюсь, Кирилл поменяет:
Дальнейший шаг - соответствующие изменения в кассовой форме, чтобы правильно считались балансы. Это за мной. Я пока ничего не коммитил, т.к. еще не доделал серверную часть полностью - падают тесты. Завтра-послезавтра, надеюсь, будет.
Кирилл, пока можешь переделать платеж на операцию на клиенте. Список полей у операции такой же как у платежа +
Не пытайся в списке операций отображать полное имя аренды, вычисляя его по имени машины и водителя, как ты делал раньше. Это работает медленно. Если есть вопросы, задавай.
@sedovalx создал операции, но платежи не были прикручены ни к чему, операции я тоже не прикручивал. ответил на твой todo
А можно несколько человек на задачу делать?
@Argelein что за todo? Не помню. Несколько человек тут нельзя, кажется. Да, операции ни к чему не прикручены сейчас. План такой: в форме кассира создать кнопки:
@sedovalx ок, я сейчас сделаю
@sedovalx
@sedovalx С клиента тоже выпиливать?
@Argelein да
Думаю, переход выполнен. Платежи, ремонты и штрафы выпилены. Теперь только операции соответствующего типа.
Задача заведена на основании обсуждения в #63.
Что имеем - Три баланса аренды, два счета предприятия.
Отделяем мух от котлет - Расчет трех балансов аренды не связан с расчетом счетов предприятия в том смысле, что эти задачи можно решать по отдельности в любом порядке или параллельно.
Каждый из трех балансов аренды (Арендный,Ремонтный,Штрафной) рассчитываются одинаково исходя из наличия диапазона дат (создание аренды - момент расчета баланса), а также списаний и платежей в этом диапазоне на аренде (отсюда следует, что списания и платежи должны быть связаны с конкретной датой и конкретной арендой):
История статусов аренды влияет на наличие регулярного списания в первом из трех балансов (Арендный), для примера на рисунке фиолетовая черта (Приостановлено) совпадает с отсутствием очередного списания.
4.(четвертое) Из двух счетов предприятия главный для нас счет1 - "В Кассе". Это те деньги которые копятся в сейфе до выемки. В момент выемки необходим контроль соответствия фактической суммы сумме "по чекам", отсюда важность счета.
Расчет происходит на основе диапазона дат (дата предыдущей выемки - дата текущей выемки), платежей связанных с этим диапазоном, а также возвратов денег из кассы (сейчас есть понимание что это возврат залога для аренд в статусе "Под расчет").
UPD п. 4 (Счет "В кассе") : в формуле забыл Авансы которые вносят новые водители, их же тоже вносят в кассу:
"А штрафы и аренды покрываются уже из кармана?" - Тема мух и котлет здесь актуальна даже больше. Расчеты балансов аренд и счета кассы это задачи "получения" денег владельцем бизнеса. Учет реальных расходов которые он оплачивает, таких как реальный ремонт машины, ЗП сотрудников, оплата штрафов и т.д. происходит со счета "В кармане" после выемки из кассы и является не связанной задачей настолько, что можно вынести ее во второй релиз. Суммы этих трат хранятся в отдельной таблице, их агрегация для отчетов является отдельной задачей не связанной с расчетом балансов и счетов. Для наглядности картинка процессов и их изолированности друг от друга (п.2 нас вообще не касается, мы обеспечиваем только мотивацию наличием трех балансов):