BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 мар 2024, 18:13

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Как пользоваться BalanceDao?
СообщениеДобавлено: 27 ноя 2018, 18:51 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
ru.bitel.bgbilling.kernel.contract.balance.server.bean.BalanceDao
Почему то при попытке получить баланс везде получаем 0
Вложение:
2018-11-27_15-47-05.png
2018-11-27_15-47-05.png [ 5.5 КБ | Просмотров: 2086 ]

Код:
BalanceDao bd = new BalanceDao( con );
Contract contract = cm.getContractById( cid );
Сalendar date = Calendar.getInstance();
date = TimeUtils.getStartMonth( date );
ContractBalance contractBalance = bd.getContractBalance( contract.getId(), date.get( Calendar.MONTH ), date.get( Calendar.YEAR ) );
BigDecimal bb = bd.getBalance( contract.getId(), date.get( Calendar.MONTH ), date.get( Calendar.YEAR ) );
BigDecimal saldo = contractBalance.toBalance();
sb.append( "contractBalance:" + bb + ";" + contractBalance.getAccounts() + ";" + contractBalance.getCharges() + ";" + contractBalance.getPayments() + ";" + contractBalance.getReserve() + "\n");


Код:
contractBalance:0;0;0;0;0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как пользоваться BalanceDao?
СообщениеДобавлено: 27 ноя 2018, 18:55 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
как минимум думаю потому что там надо в обоих местах:
date.get( Calendar.MONTH ) + 1
сначала это проверьте

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как пользоваться BalanceDao?
СообщениеДобавлено: 27 ноя 2018, 19:00 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
1) Не пользоваться BalanceDao а пользоваться BalanceService
2) Помнить что в java.util.Calendar месяцы начинаются с 0.

Код:
import ru.bitel.bgbilling.kernel.container.managed.ServerContext;
import ru.bitel.bgbilling.kernel.contract.balance.common.BalanceService;
import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.sql.ConnectionSet;

import java.sql.Connection;
import java.util.Calendar;


public class TestGit
        extends GlobalScriptBase {
    @Override
    public void execute(Setup setup, ConnectionSet connectionSet)
            throws Exception {
        int contractId = 315753;

        Connection con = connectionSet.getConnection();
        ServerContext serverContext = ServerContext.get();
        BalanceService balanceService = serverContext.getService(BalanceService.class, 0);
        Calendar cal = Calendar.getInstance();

        print(balanceService.contractBalanceGet(contractId, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH)).getPayments());
        print(balanceService.contractBalanceGet(contractId, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH) + 1).getPayments());
    }
}


Код:
0
123123.00


Изображение



Upd: Димон опередил, но я пример писал.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как пользоваться BalanceDao?
СообщениеДобавлено: 27 ноя 2018, 19:06 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Dog писал(а):
Код:
bd.getContractBalance( contract.getId(), date.get( Calendar.MONTH ), date.get( Calendar.YEAR ) );


Код:
 public ContractBalance getContractBalance(int contractId, int yy, int mm) throws BGException {


И у вас местами поменялся год и месяц видимо.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как пользоваться BalanceDao?
СообщениеДобавлено: 27 ноя 2018, 19:16 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
:facepalm: Спасибо всем =)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.081s | 31 Queries | GZIP : On ]