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

BGBS:: как получить список поинтов договора?
http://forum.bitel.ru/viewtopic.php?f=10&t=4152
Страница 1 из 1

Автор:  nolka4 [ 10 июн 2010, 10:11 ]
Заголовок сообщения:  BGBS:: как получить список поинтов договора?

Код:
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;
import java.sql.*;
import java.util.*;
import java.util.regex.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.phone.bean.*;


public void onEvent( event, setup, con, conSlave )
{
   cid = event.getContractID();
   contract = new ContractManager(con).getContractByID(cid);
   print("status changed to contract "+cid+" to state: "+contract.getStatus() );
//contract.getStatus() == 2  - подключен
//contract.getStatus() == 0 - отключен

   clItemManager = new ClientItemManager(con,1);
   clPoints = clItemManager.getItemList(cid);
   for(i=0; i< clPoints.size(); i++)
   {   
      print("  point: "+clPoints.get(i));
   }

switch(contract.getStatus())
{
   case 0:
   {
      break;
   }
   case 2:
   {
      break;
   }
}

}


этот код для каджого из договоров выводит поинты в таком формате: "?????(?) [номер_поинта_клиента] ?? Log AutoLoader". Как получить голые поинты безо всякого лишнего мусора? мне нужны только номера.

И почему когда я пытаюсь зяюзать регекспы мне вываливаются эксепшны:
Код:
EXCEPTIONS:
Typed variable declaration : Error in method invocation: Method matcher( bitel.billing.server.phone.bean.ClientItem ) not found in class'java.util.regex.Pattern' : at Line: 23 : in file: Function [id:2; title:??????????????? ???????? ?? ?????????????] : p .matcher ( clPoints .get ( i ) )


код в этом случае такой:
Код:
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;
import java.sql.*;
import java.util.*;
import java.util.regex.*;
import java.util.regex.Pattern.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.phone.bean.*;


public void onEvent( event, setup, con, conSlave )
{
   cid = event.getContractID();
   contract = new ContractManager(con).getContractByID(cid);
   print("status changed to contract "+cid+" to state: "+contract.getStatus() );
//contract.getStatus() == 2  - подключен
//contract.getStatus() == 0 - отключен

   clItemManager = new ClientItemManager(con,1);
   clPoints = clItemManager.getItemList(cid);
   for(i=0; i< clPoints.size(); i++)
   {   
      p = Pattern.compile("(\\d+)");
      m = p.matcher(clPoints.get(i));
      print("  point: "+m.group(0));
   }

switch(contract.getStatus())
{
   case 0:
   {
      break;
   }
   case 2:
   {
      break;
   }
}

}

Автор:  Cromeshnic [ 10 июн 2010, 10:43 ]
Заголовок сообщения:  Re: BGBS:: как получить список поинтов договора?

Заменить
Код:
print("  point: "+clPoints.get(i));


На
Код:
 print("  point: "+clPoints.get(i).getComment());


Или что душе угодно из доки:
http://bgbilling.ru/v5.0/javadoc/bitel/ ... tItem.html

Автор:  nolka4 [ 10 июн 2010, 11:05 ]
Заголовок сообщения:  Re: BGBS:: как получить список поинтов договора?

Cromeshnic писал(а):
Заменить
Код:
print("  point: "+clPoints.get(i));


На
Код:
 print("  point: "+clPoints.get(i).getComment());


Или что душе угодно из доки:
http://bgbilling.ru/v5.0/javadoc/bitel/ ... tItem.html

спасибо. проблема в том что в доках нет комментариев, да и к тому же метод getComment() не очевиден :(

Автор:  Cromeshnic [ 10 июн 2010, 11:38 ]
Заголовок сообщения:  Re: BGBS:: как получить список поинтов договора?

Кому как :)

getComment() - это комментарий к поинту.

Автор:  nolka4 [ 10 июн 2010, 11:47 ]
Заголовок сообщения:  Re: BGBS:: как получить список поинтов договора?

желаемое получил вот таким способом:
Код:
point = clPointsInBill.get(i).getClientNumbers().get(0);

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