Open hodkovdd opened 9 years ago
А не дубль ли это? См. https://github.com/sedovalx/taxi/issues/85
Входит в план-минимум #95
@hodkoff2 тут в полях отображаются значения соответствующих столбцов из кассовой формы?
@sedovalx Да, те же значения что в КС.
И даже поле "Итого" так же как там расчитывается?
Нет, ИТОГО здесь другое. Оно ровно просто сумме четырех значений выше, трех балансов и залога. Если раньше смешивать положительные с отрицательными балансами нам нельзя было чтобы не получать среднюю температуру по больнице, то в момент финального расчета водителя мы как раз подводим черту и суммируем все - аренду,штрафы,ремонты и залог, который он внес когда устраивался.
Часто бывают случаи, что водителя выгоняют за долги, или он просто исчезает. Это приводит к тому что приходится закрывать аренду с отрицательным итогом. В этом случае нужно предусмотреть возможность указывать, получает закрывающий от водителя эти деньги или нет. Потому как это значение влияет на счет "в кассе" и может вызвать расхождение с реальной суммой в кассе. @hodkoff2 Подумать что тут надо сделать и расписать подробно.
Запрос вида http://localhost:9000/api/reports/q-rent-total?rent=536
теперь возвращает сводные данные по аренде:
{
"rentId": 536,
"minutes": 95177,
"rent": 14743.22,
"repairs": 1391.97,
"fines": -1645.18,
"deposit": 1219,
"total": 15709.01
}
@hodkoff2 посмотри, что получилось. На страничке аренды сейчас объединены функции данной задачи и #94. Попасть на страницу аренды можно либо из списка аренд, либо из кассовой формы. Мне кажется, ничего не мешает и закрывать аренды из страницы аренды, меняя ее статус.
Тут у тебя есть еще таинственная кнопка "Рассчитать". Что она значит?
@sedovalx Рассчитать - это просто "Ок" - подтверждение операции. отсюда: https://github.com/sedovalx/taxi/issues/79#event-353587771:
Смысл:
Предлагаю следующее.
В редакторе аренды смену статуса аренды нужно делать не выбором из выпадающего списка, а отельными кнопками:
В этом случае редактор аренды превращается в форму расчета и просмотра истории. В то же время остается возможность приостановить и продолжить аренду.
По нажатию на кнопку "Расчет":
Все, кроме операции по возврату делается силами клиента. Операция по возврату описана тут #101. Сумму возврата можно получить из самого контроллера аренды, вызвав this.get('rentTotal.total')
. Тут не будет специального мастера для возврата, все будет происходить в контроллере редактора аренды. Ты создаешь в редакторе аренды action для осуществления возврата, внутри выполняешь создание и сохранение объекта refund.
@Argelein как ты уже знаешь, операция сохранения любого доменного объекта возвращает promise, который может разрешиться ошибкой в случае, если сохранение неуспешно. Это может произойти из-за того, что сервер недоступен, или были неправильно заполнены поля возврата. В этом случае, очевидно, аренду закрывать нельзя. Т.е. нужно подождать, пока promise разрешится, и уже тогда либо закрывать аренду, либо отображать ошибку.
Отдельный вопрос, как и где отображать ошибку. Хорошим вариантом является #102. Однако можно и в редакторе аренды определить отдельное поле для ошибки, и отображать его в шаблоне редактора на закладке "Основное". Если возврат закончился ошибкой, то заполнять это поле текстом ошибки.
@hodkoff2 Дим, возврат возможен по закрытой аренде?
Сделал refund, можно посмотреть
@hodkoff2 Сейчас refund можно создать прямо из кассовой формы. Дим, ты согласен с предложением Саши? Я готов делать по нему, вроде все понятно для начала
визуализирую предложение Саши
:
@Argelein @sedovalx Что за кнопка Возврат денег на КС: Что она делает и зачем? Я понял что она родилась здесь https://github.com/sedovalx/taxi/issues/101 Но зачем?
она сейчас в кассовой форме временно, чтобы просто посмотреть, как работает. потом будет в изменении аренды, т.е. в расчете.
@Argelein тут Саша все грамотно разложил, однако: Мне кажется сначала нужно сделать форму В КАССЕ https://github.com/sedovalx/taxi/issues/91, переход по кнопке на КС. Я смогу проверить правильно ли у нас сейчас ведется счет В Кассе, последить как он меняется и прочее. После добавить выемку из кассы, проверить, что касса наполняется и обнуляется правильно. И уже сверху достраивать что то по этой задаче (операции с расчетом водителей и связанные кнопки). Иначе мы начинаем строить здание с крыши или середины как минимум. Не даром уже появился клубок взаимозависимых и недоделанных задач. Ответь там на вопрос чтобы я понимал в каком мы сейчас положении.
вопрос на засыпку: зачем нужно состояние аренды (Под расчет)? чем оно принципиально отличается от приостановки? можно так: приостнаваливаем (аренда больше не капает), после этого расчитываем.
@hodkoff2 сделал расчет водителя. пока нет проверки балланса, но суть та же остается. заодно убрал лишнее из кассовой формы. Дим, посмотри.
Теория. Идея состояла в том, что после того как водителя выгнали (или он сам ушел) должно пройти две недели (для нас это означает статус аренды "под расчет" ), за которые могут придти новые штрафы. Через две недели водитель имеет право придти за своим авансом. В этом случае проверяется кто кому что должен и водитель либо посылается нахер, либо получает свой аванс обратно (что происходит редко, чаще его шлют нахер и эта форма становится аргументом). UI. В UI для такой аренды нужен какой-то переход, посредством кнопки скорее всего, в форму "Расчет Водителя". В этой форме отображается калькуляция балансов его подрасчетной аренды с авансом который он вносил.