Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

КС: Установка дней для расчета списания с Арендного баланса авансом #92

Open
hodkovdd opened this issue Jul 11, 2015 · 21 comments

Comments

@hodkovdd
Copy link
Collaborator

@sedovalx

ТЕОРИЯ.
С Водителей денег за аренду автомобиля надо брать вперед. Почему? Потому что они не дисциплинированные и опыт показывает, что долги получать с них сложнее чем не давать в долг. Поэтому за аренду плату надо брать вперед. Проблема в том что в неделе 7 дней, отрезки получаются разные - 2\2\3. Мы решили, что не умеем привязывать аванс к дням недели (до Среды например) - верно, Саша? поэтому делаем возможность выбора на сколько дней вперед списывать сумму по тарифу с баланса Арендный.

ДИЗАЙН:
Выглядеть это должно примерно так (обведено красным):
25

РАБОТАТЬ должно так:
кассир в начале дня выставляет цифру на нужное количество дней. Это цифра прибавляется к текущей дате. И Арендный баланс для всех Аренд рассчитывается именно до этой полученной таким образом даты. Таким образом мы получаем предоплату.

! Кстати, эту дату и количество прибавленных надо где то хранить. Таким образом мы сохраним историю кассовых дней.

@sedovalx
Copy link
Owner

Сейчас кассовая форма на сервере поддерживает параметр date, который определяет, на какую дату рассчитывать форму. Например, если передать дату на день вперед, то форма рассчитается "на завтра", что эквивалентно расчету "на сегодня" минус дневной тариф по аренде. В кассовой форме уже есть в фильтре указание даты, только нужно сделать ввод даты через календарь, а не строкой. @Argelein поправишь? У нас вроде бы где-то уже был ввод даты из календаря.
Последний абзац я не понял.

@sedovalx
Copy link
Owner

Входит в план-минимум #95

@kirzas
Copy link
Collaborator

kirzas commented Jul 15, 2015

@sedovalx @hodkoff2
Проблема с временем из-за bootstrap-datepicker. он выберает только дату, без времени.
Вопрос: для операций вообще нужно время выбирать?
Вижу два варианта решения:

  1. Заполнять текущим временем и сделать read-only.
  2. Надо прикручивать какой-нибудь bootstrap-datetimepicker.

@sedovalx
Copy link
Owner

@Argelein я бы убрал этот датапикер вообще и проставлял текущее время. Позже можно будет подумать о более корректном контроле, они есть.

А почему это замечание тут сделано?

@kirzas
Copy link
Collaborator

kirzas commented Jul 16, 2015

это я промахнулся :)
хотя ты тут упомянул раньше меня :)

@kirzas
Copy link
Collaborator

kirzas commented Jul 16, 2015

нет, это все же я не понял, о чем тут задача :)
@sedovalx
дата в фильтре это же не то же самое.
может нужно все таки добавить новое поле даты в модель и для него сделать еще одно поле вне фильтра. К нему подойдет datapicker.

@kirzas
Copy link
Collaborator

kirzas commented Jul 16, 2015

и вообще сейчас фильтрация не работает :(
в каком формате надо дату давать?
GET http://localhost:9000/api/reports/q-cashier-list?date=2015 500 (Internal Server Error)

@sedovalx
Copy link
Owner

Формат такой https://54.72.96.97:9443/api/reports/q-cashier-list?date=2015-07-16T12:33:23.456+03:00, но в URI некоторые символы являются служебными, они должны кодироваться. В итоге получается вот такой вот запрос https://54.72.96.97:9443/api/reports/q-cashier-list?date=2015-07-16T12%3A33%3A23.456%2B03%3A00. Тебе ничего специально делать не нужно для кодирования, jquery все сделает сам.

@kirzas
Copy link
Collaborator

kirzas commented Jul 20, 2015

@sedovalx
можно этим datetime picker'ом получить дату в таком формате?

@sedovalx
Copy link
Owner

Датапикер возвращает дату, которую можно отформатировать так, как хочется.
Для форматирования разумно использовать библиотеку momentjs, которая уже
кое-где используется в нашем проекте.

@kirzas
Copy link
Collaborator

kirzas commented Jul 21, 2015

@sedovalx
Я делаю так moment(<введенное датапикером время>).format()
формат получается, как ты написал, но не работает:
GET http://localhost:9000/api/reports/q-cashier-list?date=2015-07-23T22%3A38%3A20%2B03%3A00 500 (Internal Server Error)

@sedovalx
Copy link
Owner

Судя по этой ссылке, формат не такой, как я написал.

@kirzas
Copy link
Collaborator

kirzas commented Jul 22, 2015

@sedovalx
О да! это называется ISOstring, не мог сразу сказать? :)

kirzas added a commit that referenced this issue Jul 22, 2015
@kirzas
Copy link
Collaborator

kirzas commented Jul 22, 2015

Готово, работает, но выглядит по-уродски.
Предлагаю пока оставить так, т.к. со стилями мне еще очень трудно.
@hodkoff2 посмотри.
Уже баг нашел, на него отдельно заведу задачу, сходу не понял, как исправить.

@kirzas
Copy link
Collaborator

kirzas commented Jul 22, 2015

@hodkoff2 @sedovalx
кстати, приложение ведь знает, какая текущая дата и какой день недели.
Я могу сделать, чтобы поле заполнялось автоматически нужными днями. Дим, дни вроде известны?
Это просто может быть значение по умолчанию вместо текущей даты.

@hodkovdd
Copy link
Collaborator Author

Да! давай попробуем, мне кажется должно быть очень к месту.

@kirzas
Copy link
Collaborator

kirzas commented Jul 22, 2015

@hodkoff2
тогда напиши, какие это должны быть дни, я не помню

@hodkovdd
Copy link
Collaborator Author

@Argelein
понедельник среда пятница

@sedovalx
Copy link
Owner

Посмотри momentjs, у него широкие возможности по манипуляциям с датами.

kirzas added a commit that referenced this issue Jul 25, 2015
…. пн, ср и пт, на 10 утра по Москве (+3 часа).

В поле отображается неверно все равно, но расчет верный. на отображения даты в поле есть отдельная задача.
@kirzas
Copy link
Collaborator

kirzas commented Jul 25, 2015

сделал автоматический расчет на следующий день снятия кассы, т.е. пн, ср и пт, на 10 утра по Москве (+3 часа).
В поле отображается неверно все равно, но расчет верный. на отображения даты в поле есть отдельная задача.

@sedovalx
Copy link
Owner

sedovalx commented Aug 4, 2015

Все коряво выглядит, разметка поехала.

  • поле с датой нужно спрятать в фильтр, туда же кнопку "Рассчитать"
  • кнопку переименовать в "Обновить"
  • добавить кнопку "Сбросить фильтр"
  • убедиться, что при высоте экрана в 1080px кнопки списка кассовой формы не улезают за область видимости

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants