forum.bitel.ru http://forum.bitel.ru/ |
|
[7.0] [BUG] Учётный период Inet при переоформлении http://forum.bitel.ru/viewtopic.php?f=44&t=12894 |
Страница 1 из 1 |
Автор: | Cromeshnic [ 10 май 2018, 09:05 ] |
Заголовок сообщения: | [7.0] [BUG] Учётный период Inet при переоформлении |
Привет. Переоформляли клиента будущим числом (с 11.05.2018), и в день, предшествующий дате переоформления (10.05.2018) перестал работать инет в модуле Inet. Открываю договор - вижу, что учётный период на старом договоре закрыт 10.05.2018 00:00:00, хотя должен быть по логике закрыт 10.05.2018 23:59:59. Поправил руками - заработало. Смотрю код, вижу, что там не учитываются чч:мм:сс (в т.ч. в последней версии Inet для 7.0): Код: public void periodWrap(InetAccountingPeriod period, int cidTo, Date dateOpen) throws BGException { Calendar cal = Calendar.getInstance(); cal.setTime(dateOpen); cal.add(5, -1); Date closeDate = cal.getTime(); if (TimeUtils.dateBefore(period.getDateTo(), dateOpen)) { return; } InetAccountingPeriod newPeriod = period.clone(); newPeriod.setContractId(cidTo); newPeriod.setId(0); if (TimeUtils.dateBefore(dateOpen, period.getDateFrom())) { periodDelete(period.getId()); } else { period.setDateTo(closeDate); newPeriod.setDateFrom(dateOpen); periodUpdate(period); } periodUpdate(newPeriod); } (5 - это Calendar.DAY_OF_MONTH) Поправите? Клиент: вер. 7.0.907 / 05.09.2017 19:43:08 os: Windows 7; java: Java HotSpot(TM) Client VM, v.1.8.0_161 Сервер: вер. 7.0.1263 / 13.09.2017 20:33:05 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_144 inet: вер. 7.0.772 / 05.09.2017 19:44:59 |
Автор: | Cromeshnic [ 10 май 2018, 09:09 ] |
Заголовок сообщения: | Re: [7.0] [BUG] Учётный период Inet при переоформлении |
Кстати, в мониторе Inet пишется ошибка "[100] Ошибка сервера" А в Dialup, насколько помню, писалось конкретно про отсутствие открытого учётного периода. Но это уже косметика. |
Автор: | Amir [ 10 май 2018, 17:14 ] |
Заголовок сообщения: | Re: [7.0] [BUG] Учётный период Inet при переоформлении |
Выложим сегодня для 7.0. |
Автор: | Cromeshnic [ 11 май 2018, 09:24 ] |
Заголовок сообщения: | Re: [7.0] [BUG] Учётный период Inet при переоформлении |
Спасибо |
Автор: | Cromeshnic [ 22 июн 2018, 09:31 ] |
Заголовок сообщения: | Re: [7.0] [BUG] Учётный период Inet при переоформлении |
Обновился, проверил - работает корректно, спасибо. |
Автор: | Cromeshnic [ 11 июл 2018, 13:30 ] |
Заголовок сообщения: | Re: [7.0] [BUG] Учётный период Inet при переоформлении |
Есть ещё 2 бага: 1. При переоформлении проверяется учётный период на уаление: Код: if (TimeUtils.dateBefore(dateOpen, period.getDateFrom())) { periodDelete(period.getId()); } Допустим, мы переоформляем с начала текущего месяца - тогда текущий учётный период закроется концом месяца: dateOpen == 2018-07-01 period.getDateFrom() 2018-07-01 В итоге период будет некорректный на старом договоре: dateFrom = 2018-07-01 dateTo = 2018-06-30 Кстати, возможно это объясняет, откуда могут образовываться дубли учётных периодов: https://forum.bitel.ru/viewtopic.php?f=44&t=11606 Видимо нужно сделать dateBeforeOrEq 2. При переносе сервиса с даты задним числом учётный период заводится потом только текущим числом (видимо при появлении текущей сессии). В результате на трафиковых тарифах сессии переносятся с начала текущего месяца например, но тарифицируются из них только те, которые стартовали с даты фактического переноса и далее. Наткнулся на логин, который существует (с сессиями) с 01.05.2018, а учётный период - с 30.05.2018. И все сессии с 1 по 29 число бесплатны. Видимо нужно в inetServMove также создавать учётные периоды. |
Автор: | nikav80 [ 18 окт 2019, 13:21 ] |
Заголовок сообщения: | Re: [7.0] [BUG] Учётный период Inet при переоформлении |
В 6.2 поправите? (inet: вер. 6.2.751 / 05.06.2019 19:33:06) |
Автор: | skn [ 18 окт 2019, 20:46 ] |
Заголовок сообщения: | Re: [7.0] [BUG] Учётный период Inet при переоформлении |
todo |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |