forum.bitel.ru
http://forum.bitel.ru/

Обновление до 6.0
http://forum.bitel.ru/viewtopic.php?f=12&t=8726
Страница 1 из 2

Автор:  CTOPMbI4 [ 27 ноя 2013, 15:04 ]
Заголовок сообщения:  Обновление до 6.0

Доброго дня.

После обновления до 6ки. Прекратили работать отчеты.
Код:
версия клиента.  вер. 6.0 сборка 1267 от 21.11.2013

версия сервера. BGBillingServer v 6.0 build 1638

ОС.
Debian 3.2.46-1 x86_64 GNU/Linux


Отчеты заказывали у вас и они прекрасно работали до обновления.
называются
Код:
1) отчет Интернет УСТ - ipn_ust_inet.rep.xml    ipn_ust_inet.jrxml   
 2) отчет УСТ КТВ - kernel_ust_ctv.rep.xml   kernel_ust_ctv.jrxml



Вопрос что именно нужно поправить чтобы отчеты смогли работать и на 6й версии?

Вложения:
eror-report.png
eror-report.png [ 80.12 КБ | Просмотров: 17464 ]

Автор:  Phricker [ 27 ноя 2013, 16:07 ]
Заголовок сообщения:  Re: Обновление до 6.0

Код:
import ru.bitel.common.*;

Автор:  CTOPMbI4 [ 27 ноя 2013, 16:56 ]
Заголовок сообщения:  Re: Обновление до 6.0

Phricker писал(а):
Код:
import ru.bitel.common.*;

Хотелось бы подробнее. где поправить.

мы начинающие :facepalm:

нашел в
Код:
ipn_ust_inet.jrxml



Код:
import java.util.*;
import java.util.regex.*;
import java.math.*;
import bitel.billing.common.*;
import bitel.billing.server.util.*;
import bitel.billing.server.contract.bean.*;
добавил
import ru.bitel.common.*;

не помогло :(

Автор:  dimOn [ 27 ноя 2013, 17:05 ]
Заголовок сообщения:  Re: Обновление до 6.0

Ну как так "не помогло"? Та же ошибка слово-в-слово?

Автор:  CTOPMbI4 [ 27 ноя 2013, 17:23 ]
Заголовок сообщения:  Re: Обновление до 6.0

dimOn писал(а):
Ну как так "не помогло"? Та же ошибка слово-в-слово?

теперь ругается на

Вложения:
eror-report1.png
eror-report1.png [ 90.43 КБ | Просмотров: 17450 ]

Автор:  Artur [ 27 ноя 2013, 17:25 ]
Заголовок сообщения:  Re: Обновление до 6.0

попробуйте вместо
Код:
Utils.parseIntString

использовать
Код:
Utils.parseInt

Автор:  CTOPMbI4 [ 27 ноя 2013, 17:40 ]
Заголовок сообщения:  Re: Обновление до 6.0

Artur писал(а):
попробуйте вместо
Код:
Utils.parseIntString

использовать
Код:
Utils.parseInt

пасиб помогло.

теперь ругается
Код:
Error in method invocation: Static method getModuleMonthTableName( java.lang.String, java.util.GregorianCalendar, int )
 not found in class'ru.bitel.common.Utils' : at Line: 266 : in file: inline evaluation of: ``import java.sql.*; import java.util.*; import java.util.regex.*; import java.mat . . . '' : Utils .getModuleMonthTableName ( "ipn_contract_data" , month , mid )

Автор:  stark [ 27 ноя 2013, 18:14 ]
Заголовок сообщения:  Re: Обновление до 6.0

CTOPMbI4 писал(а):
теперь ругается
Код:
Error in method invocation: Static method getModuleMonthTableName( java.lang.String, java.util.GregorianCalendar, int )
 not found in class'ru.bitel.common.Utils' : at Line: 266 : in file: inline evaluation of: ``import java.sql.*; import java.util.*; import java.util.regex.*; import java.mat . . . '' : Utils .getModuleMonthTableName ( "ipn_contract_data" , month , mid )


Замените Utils на ServerUtils, в том месте где вызывается метод getModuleMonthTableName

Автор:  CTOPMbI4 [ 28 ноя 2013, 08:55 ]
Заголовок сообщения:  Re: Обновление до 6.0

Заменил
Код:
 tableName = ServerUtils.getModuleMonthTableName( "ipn_contract_data", month, mid );



ругается
Код:
Аttempt to resolve method: getModuleMonthTableName()
 on undefined variable or class name: ServerUtils : at Line: 266 : in file: inline evaluation of: ``import java.sql.*; import java.util.*; import java.util.regex.*; import java.mat . . . '' : ServerUtils .getModuleMonthTableName ( "ipn_contract_data" , month , mid )

Автор:  Phricker [ 28 ноя 2013, 10:06 ]
Заголовок сообщения:  Re: Обновление до 6.0

http://bgbilling.ru/v6.0/javadoc/index.html
Код:
import ru.bitel.bgbilling.server.util.*;

Автор:  CTOPMbI4 [ 28 ноя 2013, 11:09 ]
Заголовок сообщения:  Re: Обновление до 6.0

Добавил.
Код:
import java.util.*;
import java.util.regex.*;
import java.math.*;
import bitel.billing.common.*;
import ru.bitel.bgbilling.server.util.*;
import bitel.billing.server.contract.bean.*;
import ru.bitel.common.*;

Видимо не подключает пакет

Код:
while( TimeUtils.monthsDelta( month, monthTo ) >= 0 )
        {
                tableName = ServerUtils.getModuleMonthTableName( "ipn_contract_data", month, mid );
                if( Utils.tableExists( con, tableName ) )
                {
                        query = "INSERT INTO " + tableTrafficSum + "(cid, sid, amount) SELECT cid, sid$
                                "FROM " + tableName;
                        if( Utils.notBlankString( hours ) )
                        {
                                query += " WHERE hh IN (" + hours + " ) ";
                        }
                        query += " GROUP BY cid, sid";
                        con.prepareStatement( query ).executeUpdate();
                }

                month.add( Calendar.MONTH, 1 );
        }




выдало

Код:
Error in method invocation: Static method getModuleMonthTableName( java.lang.String, java.util.GregorianCalendar, int )
 not found in class'ru.bitel.bgbilling.server.util.ServerUtils' : at Line: 266 : in file: inline evaluation of: ``import java.sql.*; import java.util.*; import java.util.regex.*; import java.mat . . . '' : ServerUtils .getModuleMonthTableName ( "ipn_contract_data" , month , mid )

Автор:  Phricker [ 28 ноя 2013, 11:21 ]
Заголовок сообщения:  Re: Обновление до 6.0

нужно
Код:
getModuleMonthDayTableName(java.lang.String name, java.util.Date time, int mid)

а у вас
Код:
getModuleMonthTableName( java.lang.String, java.util.GregorianCalendar, int )

Автор:  stark [ 28 ноя 2013, 12:04 ]
Заголовок сообщения:  Re: Обновление до 6.0

CTOPMbI4 писал(а):
tableName = ServerUtils.getModuleMonthTableName( "ipn_contract_data", month, mid );


Код:
tableName = ServerUtils.getModuleMonthTableName( "ipn_contract_data", month.getTime(), mid );

Автор:  CTOPMbI4 [ 28 ноя 2013, 13:19 ]
Заголовок сообщения:  Re: Обновление до 6.0

поправил
Код:
Error in method invocation: Static method maskZeroBigDecimal( java.math.BigDecimal )
 not found in class'ru.bitel.bgbilling.server.util.ServerUtils' : at Line: 398 : in file: inline evaluation of: ``import java.sql.*; import java.util.*; import java.util.regex.*; import java.mat . . . '' : ServerUtils .maskZeroBigDecimal ( rs .getBigDecimal ( pos ++ )
 )

Автор:  dimOn [ 28 ноя 2013, 13:26 ]
Заголовок сообщения:  Re: Обновление до 6.0

ServerUtils.maskZeroBigDecimal ->Utils.maskNull

Автор:  CTOPMbI4 [ 28 ноя 2013, 15:30 ]
Заголовок сообщения:  Re: Обновление до 6.0

Код:
map.put( "out_tariff", rs.getString( pos++ ) );
                map.put( "in_rest", Utils.maskNull ( rs.getBigDecimal( pos++ ) ) );
                map.put( "pay", Utils.maskNull ( rs.getBigDecimal( pos++ ) ) );
                map.put( "account", Utils.maskNull ( rs.getBigDecimal( pos++ ) ) );
                map.put( "charge", Utils.maskNull ( rs.getBigDecimal( pos++ ) ) );
                map.put( "out_rest", Utils.maskNull ( rs.getBigDecimal( pos++ ) ) );


Код:
java.lang.Exception: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :    Source text : $F{pay}   at bitel.billing.server.admin.reports.BGReportTemplate.fillReportToStream(BGReportTemplate.java:328
)

Автор:  CTOPMbI4 [ 29 ноя 2013, 09:08 ]
Заголовок сообщения:  Re: Обновление до 6.0

dimOn писал(а):
ServerUtils.maskZeroBigDecimal ->Utils.maskNull

поменял
Код:
map.put( "in_rest", ServerUtils.maskZeroBigDecimal ->Utils.maskNull ( rs.getBigD$etBigDecimal( pos++ ) ) );


Код:
In file: inline evaluation of: ``import java.sql.*; import java.util.*; import java.util.regex.*; import java.mat . . . '' Encountered "( \"in_rest\" , ServerUtils . maskZeroBigDecimal - >" at line 398, column 24.   at bsh.Parser.generateParseException(Parser.java:6081)


не совсем понял заменить ServerUtils.maskZeroBigDecimal на Utils.maskNull

Автор:  dimOn [ 29 ноя 2013, 12:40 ]
Заголовок сообщения:  Re: Обновление до 6.0

CTOPMbI4 писал(а):
dimOn писал(а):
ServerUtils.maskZeroBigDecimal ->Utils.maskNull

поменял
Код:
map.put( "in_rest", ServerUtils.maskZeroBigDecimal ->Utils.maskNull ( rs.getBigD$etBigDecimal( pos++ ) ) );


Код:
In file: inline evaluation of: ``import java.sql.*; import java.util.*; import java.util.regex.*; import java.mat . . . '' Encountered "( \"in_rest\" , ServerUtils . maskZeroBigDecimal - >" at line 398, column 24.   at bsh.Parser.generateParseException(Parser.java:6081)


не совсем понял заменить ServerUtils.maskZeroBigDecimal на Utils.maskNull

ну да, надо убрать ServerUtils.maskZeroBigDecimal и вместо него поставить Utils.maskNull, без всяких стрелочек

Автор:  CTOPMbI4 [ 29 ноя 2013, 12:56 ]
Заголовок сообщения:  Re: Обновление до 6.0

вообщем так то и сделал.
хм сейчас выдал по другому
Код:
java.lang.Exception: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :    Source text : $F{pay}   at bitel.billing.server.admin.reports.BGReportTemplate.fillReportToStream(BGReportTemplate.java:328)

Автор:  CTOPMbI4 [ 29 ноя 2013, 15:39 ]
Заголовок сообщения:  Re: Обновление до 6.0

сделал так
Код:
map.put( "in_rest", (rs.getBigDecimal( poss++ ));
    map.put( "pay", rs.getBigDecimal( poss++ ));

Отчет генерится. но толку нет. данные не выдергивает.

Автор:  dimOn [ 30 ноя 2013, 14:17 ]
Заголовок сообщения:  Re: Обновление до 6.0

Вы в смысле не видите, что у вас лишняя скобка?

Автор:  CTOPMbI4 [ 02 дек 2013, 09:02 ]
Заголовок сообщения:  Re: Обновление до 6.0

dimOn писал(а):
Вы в смысле не видите, что у вас лишняя скобка?

Да дело не в скобке. Я убрал все после map.put( "in_rest" а скобка осталась.
Код:
map.put( "in_rest", Utils.maskNull ( rs.getBigD$etBigDecimal( pos++ ) ) );

если прописываю Utils.maskNull отчет не генерится выдаются ошибки.
если все убрать оставить строку
Код:
map.put( "in_rest",  rs.getBigD$etBigDecimal( pos++ ) ) ;

Отчет генерится но данных нет.
пробовал ставить ServerUtils.maskZeroBigDecimal и Utils.maskNull результат один.
на днях надо отчет сдавать а он не работает на 6ке. :facepalm:

Автор:  dimOn [ 02 дек 2013, 12:39 ]
Заголовок сообщения:  Re: Обновление до 6.0

Код:
getBigD$etBigDecimal
:lupa:
снова какой-то косяк. сложно что-то подсказать в чём ошибка, если вы даёте всё время какой-то неактуальный код сделанный налету, который в принципе работать не может.

Автор:  CTOPMbI4 [ 02 дек 2013, 13:09 ]
Заголовок сообщения:  Re: Обновление до 6.0

Дико извиняюсь. видимо когда копировал сюда на форум возник такой косяк

вот код цикла
Код:
 while ( rs.next() )
        {
                Map map = new HashMap( 23 );
                pos = 2;
                map.put( "contract", rs.getString( pos++ ) );
                map.put( "fio", rs.getString( pos++ ) );
                map.put( "status", rs.getString( pos++ ) );
                map.put( "phone", rs.getString( pos++ ) );
                map.put( "area", rs.getString( pos++ ) );
                map.put( "street", rs.getString( pos++ ) );
                map.put( "house", rs.getString( pos++ ) );
                map.put( "frac", rs.getString( pos++ ) );
                map.put( "flat", rs.getString( pos++ ) );
                map.put( "room", rs.getString( pos++ ) );
                map.put( "pod", rs.getString( pos++ ) );
                map.put( "floor", rs.getString( pos++ ) );
                map.put( "in_tariff", rs.getString( pos++ ) );
                map.put( "out_tariff", rs.getString( pos++ ) );
                map.put( "in_rest", Utils.maskNull ( rs.getBigDecimal( pos++ ) );
                map.put( "pay", rs.getBigDecimal( pos++ ) ) );
                map.put( "account", rs.getBigDecimal( pos++ ) ) );
                map.put( "charge", rs.getBigDecimal( pos++ ) ) );
                map.put( "out_rest", rs.getBigDecimal( pos++ ) ) );
                map.put( "vnesh_in", rs.getBigDecimal( pos++ ) );
                map.put( "vnesh_out", rs.getBigDecimal( pos++ ) );
                map.put( "vnutr_in", rs.getBigDecimal( pos++ ) );
                map.put( "vnutr_out", rs.getBigDecimal( pos++ ) );
                res.add( map );
        }


Автор:  dimOn [ 02 дек 2013, 13:15 ]
Заголовок сообщения:  Re: Обновление до 6.0

Код:
map.put( "in_rest", Utils.maskNull ( rs.getBigDecimal( pos++ ) );

вот конкретно здесь не хватает закрывающей скобки опять.
этот код будет работать как попало* как следствие и выискивать почему там у вас пусто или что-то не то возвращается — бесполезно.

(*) в java бы вообще не компилилось, но BGBS будет писать что-то странное или может даже криво работать

Автор:  skyb [ 02 дек 2013, 13:20 ]
Заголовок сообщения:  Re: Обновление до 6.0

dimOn писал(а):
(*) в java бы вообще не компилилось, но BGBS будет писать что-то странное или может даже криво работать


viewtopic.php?f=12&t=8389

Автор:  dimOn [ 02 дек 2013, 13:41 ]
Заголовок сообщения:  Re: Обновление до 6.0

skyb писал(а):
dimOn писал(а):
(*) в java бы вообще не компилилось, но BGBS будет писать что-то странное или может даже криво работать


viewtopic.php?f=12&t=8389

WUT?

Автор:  CTOPMbI4 [ 02 дек 2013, 13:49 ]
Заголовок сообщения:  Re: Обновление до 6.0

Я понимаю просто на ходу код поправляю.
поправил синтаксис все кавычки, скобки и т.д.
Код:
        while ( rs.next() )
        {
                Map map = new HashMap( 23 );
                pos = 2;
                map.put( "contract", rs.getString( pos++ ) );
                map.put( "fio", rs.getString( pos++ ) );
                map.put( "status", rs.getString( pos++ ) );
                map.put( "phone", rs.getString( pos++ ) );
                map.put( "area", rs.getString( pos++ ) );
                map.put( "street", rs.getString( pos++ ) );
                map.put( "house", rs.getString( pos++ ) );
                map.put( "frac", rs.getString( pos++ ) );
                map.put( "flat", rs.getString( pos++ ) );
                map.put( "room", rs.getString( pos++ ) );
                map.put( "pod", rs.getString( pos++ ) );
                map.put( "floor", rs.getString( pos++ ) );
                map.put( "in_tariff", rs.getString( pos++ ) );
                map.put( "out_tariff", rs.getString( pos++ ) );
                map.put( "in_rest", ( rs.getBigDecimal( pos++ ) ) );
                map.put( "pay", ( rs.getBigDecimal( pos++ ) ) );
                map.put( "account", ( rs.getBigDecimal( pos++ ) ) );
                map.put( "charge", ( rs.getBigDecimal( pos++ ) ) );
                map.put( "out_rest", ( rs.getBigDecimal( pos++ ) ) );
                res.add( map );
        }


в отчете пусто.
Если же добавить Utils.maskNull то выдает ошибку.

Вложения:
error.reports-2.png
error.reports-2.png [ 10.5 КБ | Просмотров: 17332 ]

Автор:  CTOPMbI4 [ 02 дек 2013, 14:09 ]
Заголовок сообщения:  Re: Обновление до 6.0

скрипт отчета

Вложения:
Комментарий к файлу: скрипт отчета
ipn_ust_inet.rar [6.7 КБ]
Скачиваний: 281

Автор:  dimOn [ 02 дек 2013, 14:26 ]
Заголовок сообщения:  Re: Обновление до 6.0

да не может Utils.maskNull дать ошибку, вы что-то не так делаете
ну да ладно там оно вообще по идее не нужно и на отображение вряд ли повлияет.
а данные то есть? отчёт заработал тока может просто запрос сам ничего и не возвращает

Страница 1 из 2 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/