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

Табличный отчет и фильтр по группам
http://forum.bitel.ru/viewtopic.php?f=12&t=6304
Страница 1 из 1

Автор:  skyb [ 12 янв 2012, 07:21 ]
Заголовок сообщения:  Табличный отчет и фильтр по группам

Код:
<?xml version="1.0" encoding="UTF-8"?>
<report title="тест" type="java">
    <period name1="period1" default1="first_day_of_month" name2="period2" default2="last_day_of_month"/>
    <fields>
..........
    </fields>
    <contractGroups name="gr" title="Группы договоров"/>
</report>

Без выставления фильтра, а установкой в лоб, все работает
Код:
SELECT c.id,c.title,c.comment,c.date1, bal.summa2, cpar.val " +
                        " FROM contract c" +
                        " LEFT JOIN contract_parameter_type_1 AS cpar ON c.id = cpar.cid " +
                        " LEFT JOIN contract_balance AS bal ON c.id = bal.cid " +
                        " WHERE cpar.pid=9 AND bal.yy=2012 AND bal.mm = 1 AND gr&(1<<5)>0 AND c.date1 BETWEEN '" + date1 + "' AND '" + date2 + "'";

Как только пытаюсь сделать фильтр
Код:
SELECT c.id,c.title,c.comment,c.date1, bal.summa2, cpar.val " +
                        " FROM contract c" +
                        " LEFT JOIN contract_parameter_type_1 AS cpar ON c.id = cpar.cid " +
                        " LEFT JOIN contract_balance AS bal ON c.id = bal.cid " +
                        " WHERE cpar.pid=9 AND bal.yy=2012 AND bal.mm = 1 AND gr&$(gr)>0 AND c.date1 BETWEEN '" + date1 + "' AND '" + date2 + "'";

Вылетает ошибка
Код:
java.lang.RuntimeException: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: FUNCTION bgbilling.$ does not exist   at bitel.billing.server.reports.BGCSVReport.getResult(BGCSVReport.java:144)
   at bitel.billing.server.reports.BGCSVReport.fillReportToStream(BGCSVReport.java:44)
   at bitel.billing.server.reports.action.ActionReport.doAction(ActionReport.java:56)
   at bitel.billing.server.Executer.doModule(Unknown Source)
   at bitel.billing.server.Executer$1.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at javax.security.auth.Subject.doAs(Subject.java:396)
   at bitel.billing.server.Executer.doPost(Unknown Source)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
   at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:662)

Автор:  Phricker [ 12 янв 2012, 11:09 ]
Заголовок сообщения:  Re: Табличный отчет и фильтр по группам

Короче как то так
в *.rep.xml добавляешь
Код:
<contractGroups name="contractGroups" title="Группы договоров"/>

в *.java
Код:
contractGroups = filter.getStringParam( "contractGroups" );

и у тебя вот такое вот потом будет получаться для разных групп
Код:
01-12/09:06:19  INFO ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream - contractGroups = 256
01-12/09:07:06  INFO ["http-bio-/0.0.0.0-8080"-exec-5] LoggingPrintStream - contractGroups = 8590262528

А там с этим сам в отчете работай :)

Автор:  Phricker [ 12 янв 2012, 11:12 ]
Заголовок сообщения:  Re: Табличный отчет и фильтр по группам

Код:
" WHERE cpar.pid=9 AND bal.yy=2012 AND bal.mm = 1 AND gr&$(" + contractGroups + ")>0 AND c.date1 BETWEEN '" + date1 + "' AND '" + date2 + "'";

Вот так скорее

Автор:  skyb [ 26 янв 2012, 14:02 ]
Заголовок сообщения:  Re: Табличный отчет и фильтр по группам

http://wiki.bgbilling.ru/index.php/%D0% ... 1%86%D0%B5

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