Как пользоваться BalanceDao?

Основная часть программы и общие вопросы по модулям. Установка и настройка BGBillingServer, BGBillingClient.

Как пользоваться BalanceDao?

Сообщение Dog » 27 ноя 2018, 18:51

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 КБ) Просмотров: 521

$this->bbcode_second_pass_code('', '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");')

$this->bbcode_second_pass_code('', 'contractBalance:0;0;0;0;0')
Dog
Клиент
 
Сообщения: 835
Зарегистрирован: 21 сен 2009, 13:01
Откуда: Москва

Re: Как пользоваться BalanceDao?

Сообщение dimOn » 27 ноя 2018, 18:55

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

Re: Как пользоваться BalanceDao?

Сообщение Phricker » 27 ноя 2018, 19:00

1) Не пользоваться BalanceDao а пользоваться BalanceService
2) Помнить что в java.util.Calendar месяцы начинаются с 0.

$this->bbcode_second_pass_code('', '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());
}
}
')

$this->bbcode_second_pass_code('', '0
123123.00')

Изображение



Upd: Димон опередил, но я пример писал.
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn
Аватара пользователя
Phricker
Клиент
 
Сообщения: 5775
Зарегистрирован: 29 мар 2010, 23:11

Re: Как пользоваться BalanceDao?

Сообщение Phricker » 27 ноя 2018, 19:06

$this->bbcode_second_pass_quote('Dog', '[')code]bd.getContractBalance( contract.getId(), date.get( Calendar.MONTH ), date.get( Calendar.YEAR ) );[/code]

$this->bbcode_second_pass_code('', ' public ContractBalance getContractBalance(int contractId, int yy, int mm) throws BGException {')

И у вас местами поменялся год и месяц видимо.
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn
Аватара пользователя
Phricker
Клиент
 
Сообщения: 5775
Зарегистрирован: 29 мар 2010, 23:11

Re: Как пользоваться BalanceDao?

Сообщение Dog » 27 ноя 2018, 19:16

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


Вернуться в Ядро системы

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

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