BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 08 июл 2025, 02:59

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




Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
 Заголовок сообщения: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 06:59 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Не могу найти возможность получить исходящий остаток, не помесячно, а самый последний. Нашел метод
Код:
public java.math.BigDecimal getBalance(java.util.Date time,
                              int cid)
Получение исходящего остатка договора на требуемый месяц, либо последний предыдущий.
Parameters:
time - месяц
cid - код договора

Но вот тут не понял
Цитата:
Получение исходящего остатка договора на требуемый месяц, либо последний предыдущий.
что это значит? и подойдет ли мне

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 11:00 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
раз нужно за текущий месяц, то нужно указать текущий месяц

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 11:00 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
далее всё написано: если за него не будет ещё движений, то покажется за последний предыдущий.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 11:20 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
мне не за текущий, мне исходящий остаток у абонента нужно видеть и не важно когда было последний раз движение по балансу. А что значит "последний предыдущий"?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 12:04 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Что значит не за текущий. Ты смотришь на исходящий остаток сегодня? Значит это текущий месяц.
А если за текущий месяц не было движений по балансу выведет за последний в котором было движение.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 12:28 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
а, ну это и нада.

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 12:47 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
в вывод попадают строчки
Код:
SUM 476.35
SUM 476.35
SUM 476.35
SUM 476.35
SUM 476.35
SUM 0.00
SUM 0.00
SUM 39.78
SUM 39.78
SUM 39.78
SUM 39.78
SUM 39.78
SUM 30.10
SUM 30.10
SUM 30.10
SUM 0.00
SUM 0.00
SUM 0.00
SUM 0.00
SUM 0.00
SUM 0.00
SUM 0.00
SUM 0.00
SUM 0.00
SUM 0.00
SUM 0.00
SUM 0.00

ясно понятно что это все по одному договору несколько записей, а мне нужен именно текущий исходящий остаток

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 12:49 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
в какой ещё вывод попадают? метод возвращает один конкретный java.math.BigDecimal

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 12:54 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Код покажи то

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 12:57 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Код:
public void fillReport( con, filter, bitel.billing.server.reports.BGCSVReport.ReportResult result )
{

        Calendar month = filter.getCalendarParam( "month" );
        String yyyy = TimeUtils.format ( month, "yyyy" );
        String mm = TimeUtils.format ( month, "MM" );
        BalanceUtils bu = new BalanceUtils (con);
       Date date2 = TimeUtils.convertCalendarToDate(filter.getCalendarParam( "month" ) );
       
        contractGroups = filter.getStringParam( "contractGroups" );
        PreparedStatement ps = con.prepareStatement( "SELECT c.id, c.title, c.comment, cb.summa1 + cb.summa2 - (cb.summa3 + cb.summa4), c.date2 FROM contract AS c " +
        " LEFT JOIN contract_balance AS cb ON cb.cid=c.id " +
//        " WHERE gr&(" + contractGroups + ")>0 AND cb.summa1 + cb.summa2 - (cb.summa3 + cb.summa4) > 0 AND c.date2 IS NOT NULL AND cb.yy = " + yyyy + " AND cb.mm = " + mm );
        " WHERE gr&(" + contractGroups + ")>0 AND cb.summa1 + cb.summa2 - (cb.summa3 + cb.summa4) > 0 AND c.date2 IS NOT NULL ORDER BY c.title");
        data = new ArrayList( 1000 );
        ResultSet rs = ps.executeQuery();
        while ( rs.next() )
                {
                        int contractId = rs.getInt(1);
                        BigDecimal sum = bu.getBalance(date2,contractId);
                        print("SUM " + sum);
                        String title = rs.getString(2);
                        String comment = rs.getString(3);
                        BigDecimal summa = rs.getBigDecimal(4);
                        closedDate = rs.getString(5);
                        map = new HashMap();
                        map.put( "title", title );
                        map.put( "comment", comment );
                        map.put( "summa", sum );
                        map.put( "closedDate", closedDate );
                        data.add( map );

                }
        result.setData( data );
}

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 13:02 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
а зачем выбирать из contract_balance ? Да там много строк . Видимо из contract надо выбирать . Какая цель то ? какие договора нужно выбрать ?

Либо сразу из базы выбирать:

Цитата:
Получение балансов за конкретный месяц(без темповой таблицы, запрос может долго выполнятся )

SELECT balance.* FROM contract_balance AS balance
INNER JOIN
(
SELECT cid, max( yy * 12 + ( mm - 1 ) ) % 12 + 1 AS mm,
FLOOR( max(yy * 12 + ( mm - 1 ) ) / 12 ) AS yy
FROM contract_balance WHERE ( ( yy * 12 ) + mm ) <= ( ( 12 * <year> ) + <mm> ) GROUP BY cid

) AS dump
ON dump.cid =balance.cid AND balance.yy = dump.yy AND balance.mm=dump.mm



http://wiki.bitel.ru/index.php/%D0%A0%D ... 1%81%D1%8B


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 13:14 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
выше же метод API есть. решили, что он полностью подходит.

тут же в цикле он вызывается кучу раз для разных параметров , вот и вывод соответствующий. не очень понятно в чём вопрос на данный момент
Код:
                        BigDecimal sum = bu.getBalance(date2,contractId);
                        print("SUM " + sum);

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 14:42 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
цель получить текущий исходящий остаток у договоров в определенных группах, при условии что последние движение по балансу может быть в любом месяце

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 14:47 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
skyb писал(а):
цель получить текущий исходящий остаток у договоров в определенных группах, при условии что последние движение по балансу может быть в любом месяце


Код:
query = "select * from where <условие по группе >";
...
  //для каждого contractId
  BigDecimal sum = bu.getBalance(date2,contractId);
  print("SUM " + sum);                     



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 15:39 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
stark так а чего у меня какая то фигня получилась? )

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 16:11 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
skyb писал(а):
stark так а чего у меня какая то фигня получилась? )




Чтобы было в запросе, то и получилось. В запросе было -вывести все балансы за все месяцы. LEFT JOIN на contract_balance . если не понятно, то долго объяснять :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получить исходящий остаток
СообщениеДобавлено: 09 июн 2014, 17:29 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
да понял что джойн нафиг ненужен )))) фрикер подсказал, меняж направить иногда, а там я сам...заработался блин

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


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

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


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

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


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

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