Привет.
Переоформляли клиента будущим числом (с 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