Closed kirzas closed 9 years ago
Есть две проблем:
@hodkoff2 уточни пожалуйста требования к этой форме тут:
(называя некоторые столбцы, исхожу из того, что уже сделано @Argelein)
@Argelein @sedovalx
@hodkoff2 если у машины было несколько аренд на момент построения списка, то отображаем данные последней?
@Argelein @sedovalx текущая аренда всегда одна (активна \ приостановлена), не могут же на ней двое ездить. Или ты имеешь ввиду что за один день аренды могут закрываться\открываться ? В любом случае отображаются данные аренды со статусом активна \ приостановлена. Если аренды с таким состоянием нет подразумеваем, что машина свободна и простаивает (все аренды закрыты \ под расчет).
@hodkoff2 в течение времени у одной машины может быть несколько аренд. Одни открываются, другие закрываются и т.д.. Я так понял, что в этом списке мы отображаем данные последней аренды по машине. Сначала я думал, что мы отображаем данные последней независимо от статуса, но твои последние слова заставили меня усомниться. Вопрос - если последняя аренда по машине закрыта, то отображать ли ее данные в списке, или же оставлять столбцы, относящиеся к аренде, пустыми?
@sedovalx В этом случае (у машины нет открытых и приостановленных аренд = последняя аренда по ней закрыта или под расчет) пустыми. Потому что все аренды по этой машине закрыты и она свободна. Зачем вводить кассира в заблуждение и заставлять самого проверять каждый раз глазами какой статус у аренды (открыта или закрыта) и должен ли быть платеж по ней сегодня или нет. Пусть все будет наглядно, свободна машина - пустые строки, в работе - есть данные.
Возможно у тебя есть идеи почему имеет смысл выводить данные по последней закрытой аренде в форме кассира?
@hodkoff2 явка у нас как и когда планируется проставляться?
@sedovalx В момент приема денег. Потому что бывает, что водители передают деньги через кого то другого. В этом случае платеж есть, а явки нет, машину не показывали. И хрен знает, цела она или нет.
@hodkoff2 т.е. явка привязана к платежу?
@sedovalx Встречный вопрос - что значит привязана, на практике?
@Argelein @sedovalx
Наводим порядок в мыслях.
История статусов аренды влияет на наличие регулярного списания в первом из трех балансов (Арендный), для примера на рисунке фиолетовая черта (Приостановлено) совпадает с отсутствием очередного списания.
4.(четвертое) Из двух счетов предприятия главный для нас счет1 - "В Кассе". Это те деньги которые копятся в сейфе до выемки. В момент выемки необходим контроль соответствия фактической суммы сумме "по чекам", отсюда важность счета.
Расчет происходит на основе диапазона дат (дата предыдущей выемки - дата текущей выемки), платежей связанных с этим диапазоном, а также возвратов денег из кассы (сейчас есть понимание что это возврат залога для аренд в статусе "Под расчет").
Пока хватит, давайте с этим разберемся.
А штрафы и аренды покрываются уже из кармана?
Штрафы и ремонты, конечно. Водители уже внесли за них деньги. Деньги в кассе. Затем деньги снимаются из кассы, и из них уже реально оплачиваются штрафы с ремонтами?
Как в UI должен выглядеть возврат залога? Он должен списываться с арендного счета? Такого понятия как общий баланс аренды не существует? Всегда рассматривается в разрезе либо штрафов, либо ремонтов, либо платежей?
@sedovalx
UPD п. 4 (Счет "В кассе") : в формуле забыл Авансы которые вносят новые водители, их же тоже вносят в кассу:
"А штрафы и аренды покрываются уже из кармана?" - Тема мух и котлет здесь актуальна даже больше. Расчеты балансов аренд и счета кассы это задачи "получения" денег владельцем бизнеса. Учет реальных расходов которые он оплачивает, таких как реальный ремонт машины, ЗП сотрудников, оплата штрафов и т.д. происходит со счета "В кармане" после выемки из кассы и является не связанной задачей настолько, что можно вынести ее во второй релиз. Суммы этих трат хранятся в отдельной таблице, их агрегация для отчетов является отдельной задачей не связанной с расчетом балансов и счетов. Для наглядности картинка процессов и их изолированности друг от друга (п.2 нас вообще не касается, мы обеспечиваем только мотивацию наличием трех балансов):
@sedovalx
По поводу возврата залога:
в марте с заказчиком я нафантазировал это так:
@Argelein @hodkoff2 давайте не будем тут делать задачу "на всё-всё". Тут у нас кассовая форма, кнопки на ней, и каким последствиям приводят действия этих кнопок.
@Argelein @sedovalx Пока расписывал диалог водителя с кассиром здесь: https://github.com/sedovalx/taxi/issues/76#issuecomment-111069245 понял, что на кассовой форме тоже должно быть поле ИТОГО для водителя, как сумма 3-х балансов, чтобы у кассира была возможность произносить "с вас, Петров, 5000".
Оно должно располагаться наглядно, мне кажется между ФИО и явкой:
@Argelein @sedovalx Текущее состояние Кассовой формы на стенде: должно быть: Отсутствует функционал:
Саша, опиши, пожалуйста, что сейчас готово из этого на сервере.
@hodkoff2
Кстати, не нужно все писать в одну большую задачу. По пункту 6 нужно было создать отдельный баг. Это же явный баг, что нельзя сохранить отредактированную аренду. Уже поправил.
@hodkoff2 Кстати, по поводу самих Штраф/Ремонт записей. А не это не то же самое внешне, как если б мы создавали отрицательный платеж за штраф или ремонт? Если так, то это можно довольно просто реализовать на клиенте. Или вообще оставить как есть. По первому времени не обломятся, думаю, будут минус указывать в операции.
@sedovalx По поводу самих Штраф/Ремонт записей отдельную задачу создал, нужно обсудить. https://github.com/sedovalx/taxi/issues/86
@sedovalx @hodkoff2
@Argelein не, думаю, это путаный маршрут выйдет. Лучше просто rent/new.
@sedovalx и не передавать машину туда?
Хммм, ты прав. Тогда /cashier-list/car/id/rents/new. Так понятнее, мне кажется.
@sedovalx мне нужно, чтобы в модели cashier-list был carId. можешь добавить в запрос на севрере? Сейчас есть только поле car, которое содержит displayName, по нему неудобно искать запись.
я думаю получится через queryParams передать машину в маршрут rents.new, тогда будет просто в пути rents/new?carId=1 или как-то похоже
@Argelein посмотрел твой коммит от 05.06.15: https://github.com/sedovalx/taxi/commit/2dce960c124eaeb79ae0e2923fd8bf63b5b3c457 Зачем кнопки просмотр Штрафов, просмотр Ремонтов и отдельная кнопка Просмотр платежей? откуда ты это взял (тем более название "просмотр Штрафов", а отображает платежи за штрафы...)? У нас есть единственное место на схеме где все операции по аренде должны быть видны - Сводная таблица по Аренде: По отдельности данные не так эффективны, диалог с водителями я приводил здесь: https://github.com/sedovalx/taxi/issues/76#issuecomment-111069245 Саша предложил вариант с Таймлайном: https://github.com/sedovalx/taxi/issues/85#issuecomment-119327603 который может заменить Сводную (это почти одно и то же). Но суть от этого не меняется, место просмотра операций по Аренде одно и операции в нем идут в хронологическом порядке по умолчанию. Туда уже нужно добавить фильтр и получать , при необходимости, списки только штрафов или только ремонтов или только платежей и каких именно платежей. Соответственно кнопка должна быть тоже одна, например, Просмотр Операций, или как то похоже.
@Argelein поле id в списке - это идентификатор машины и есть. У нас же на каждую строку по машине. Я так понимаю, по этой задаче осталось:
На каждую из этих задач я завожу отдельную. Эту закрываю, а то уж больно бородата.
Сделать основное окно для кассира.