BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 апр 2024, 15:56

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




Начать новую тему Ответить на тему  [ Сообщений: 72 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
СообщениеДобавлено: 08 июн 2012, 13:23 
Не в сети
Клиент
Аватара пользователя

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

bgbs

то то я и думаю, чего то не то )))) буду тада на динкод запиливать =)

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 июн 2012, 14:33 
Не в сети
Клиент

Зарегистрирован: 28 окт 2008, 20:10
Сообщения: 259
Откуда: Махачкала
Карма: 6
skyb писал(а):
stark писал(а):
skyb писал(а):
Brodayga Это у вас динкод чтоль? или bgbs ???

bgbs

то то я и думаю, чего то не то )))) буду тада на динкод запиливать =)

Да bgbs . Сам собираюсь переписать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 июн 2012, 05:57 
Не в сети
Клиент
Аватара пользователя

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

Код:
OUT:
2012-06-30
481
false
cost =6766.570000000001
2012-06-30
481
false

Де ошибся?

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 июн 2012, 11:22 
Не в сети
Клиент

Зарегистрирован: 28 окт 2008, 20:10
Сообщения: 259
Откуда: Махачкала
Карма: 6
skyb писал(а):
Хм, странное что то происходит, попробовал на некоторых договорах - все работает правильно, а вот на некоторых при абонплате в 700 рублей в месяц, в аут вылетает

Код:
OUT:
2012-06-30
481
false
cost =6766.570000000001
2012-06-30
481
false

Де ошибся?

Договор в каком статусе находиться ?
И нет ли там доп. помесячной абонплаты, или абонплаты которая снимается в с татусе приостановлен(закрыт)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 июн 2012, 05:14 
Не в сети
Клиент
Аватара пользователя

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

Код:
OUT:
2012-06-30
481
false
cost =6766.570000000001
2012-06-30
481
false

Де ошибся?

Договор в каком статусе находиться ?

Вложение:
снимок104.png
снимок104.png [ 163.87 КБ | Просмотров: 4726 ]

Brodayga писал(а):
И нет ли там доп. помесячной абонплаты, или абонплаты которая снимается в с татусе приостановлен(закрыт)

неа, абонплата обычная, правда их 2, но одна закрыта.
Вложение:
снимок105.png
снимок105.png [ 4.29 КБ | Просмотров: 4726 ]

Удаление ее к нужному результату не привело, сам ТП, верней абонплаты на этом ТП ниже
Вложение:
снимок106.png
снимок106.png [ 5.79 КБ | Просмотров: 4726 ]

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 июн 2012, 15:03 
Не в сети
Клиент

Зарегистрирован: 28 окт 2008, 20:10
Сообщения: 259
Откуда: Махачкала
Карма: 6
попробуйте
Код:
 dt.add(Calendar.MONTH,1);


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 июн 2012, 05:15 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Brodayga писал(а):
попробуйте
Код:
 dt.add(Calendar.MONTH,1);

Это куда или вместо чего подставлять?

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 июн 2012, 13:21 
Не в сети
Клиент

Зарегистрирован: 28 окт 2008, 20:10
Сообщения: 259
Откуда: Махачкала
Карма: 6
skyb писал(а):
Brodayga писал(а):
попробуйте
Код:
dt.add(Calendar.MONTH,1);

Это куда или вместо чего подставлять?

Код:
private double getCost(int cid)
{
      Calendar dt = new GregorianCalendar();

Код:
dt.add(Calendar.MONTH,1);

Код:
      dt.set(Calendar.DAY_OF_MONTH ,dt.getActualMaximum(Calendar.DAY_OF_MONTH));
      Calculator calculator = new Calculator();
      print(TimeUtils.convertCalendarToDateString(dt));
      calculator.setExecutingTime(dt);
      calculator.setPreCalc();
     calculator.setActiveFromDate( dt );
   setup = ru.bitel.bgbilling.server.util.Setup.getSetup();
      calculator.initTask(setup, 0, "mid=2");
      calculator.setCids(""+cid);
      print(""+cid);
      calculator.startTask();
      print (calculator.isCalcErrors());
      BigDecimal planAccount = BigDecimal.ZERO;
       if (!calculator.isCalcErrors())
        {
              Map planAccountMap = calculator.getCostCache().getContractAccounts();
            planAccount = ru.bitel.common.Utils.maskNull((BigDecimal)planAccountMap.get(cid));
       
      }
   res =planAccount.doubleValue()*(dt.getActualMaximum(Calendar.DAY_OF_MONTH)-1);
   return  res;
}


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 июн 2012, 13: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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 мар 2013, 06:21 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Есть код, который для определения абонки, передал туда все договора чтоб по всем выщитывал предпологаемую абонку, по каждому договору она выводится, а как сложить их и вывести полную?
Код:
import bitel.billing.server.script.event.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;
import java.text.SimpleDateFormat;
import bitel.billing.server.admin.bean.*;
import java.math.BigDecimal;
import bitel.billing.server.npay.*;
import java.util.Locale;
import java.text.*;
import bitel.billing.server.contract.bean.BalanceUtils;
import java.math.BigDecimal;
import java.sql.*;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
import bitel.billing.server.tariff.*;
import bitel.billing.common.TimeUtils;
import bitel.billing.server.util.*;
import ru.bitel.bgbilling.server.util.DefaultServerSetup;
import ru.bitel.bgbilling.server.util.ServerUtils;
import bitel.billing.common.KernelConst;
import bitel.billing.server.contract.bean.*;


   String query = "select id,title from contract where  gr&(1<<0)>0";
   PreparedStatement contractPs = con.prepareStatement( query );
   ResultSet contractRs = contractPs.executeQuery();
   int cid;
   int i = 0;
    while ( contractRs.next() )
    {
      cid = contractRs.getInt( 1 );
      title = contractRs.getString(2);
   strcid = String.valueOf(cid);
   Date currentDate = new Date();
   BalanceUtils bu  = new BalanceUtils( con );
   BigDecimal balance = bu.getBalance(currentDate, cid);
   Calendar dt = new GregorianCalendar();
   Calculator calculator = new Calculator();
   calculator.setExecutingTime(dt);
   calculator.setPreCalc();
   calculator.setActiveFromDate( null );
   calculator.initTask(setup, 0, "mid=8");
   calculator.setCids(strcid);
   calculator.startTask();
 

        BigDecimal planAccount = BigDecimal.ZERO;
        Map planAccountMap = calculator.getCostCache().getContractAccounts();
        for (Integer contractId : ru.bitel.common.Utils.toIntegerList(strcid))
        {
           if(planAccountMap.get(contractId)!= null){
            planAccount = planAccount.add((BigDecimal)planAccountMap.get(contractId));
           }
        }

         BigDecimal planostatok = balance.subtract( planAccount );
         String param32string = balance + "р. (текущий остаток) , предпологаемая абонплата " + planAccount + "p. договор " + title;
         print (param32string);
         i++;

   }
    print("кол-во " +i );
    contractRs.close();
    contractPs.close();   
 

Собственно planAccount нужно посчитать по всем договорам

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 мар 2013, 11:12 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
skyb писал(а):
Есть код, который для определения абонки, передал туда все договора чтоб по всем выщитывал предпологаемую абонку, по каждому договору она выводится, а как сложить их и вывести полную?
Код:
import bitel.billing.server.script.event.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;
import java.text.SimpleDateFormat;
import bitel.billing.server.admin.bean.*;
import java.math.BigDecimal;
import bitel.billing.server.npay.*;
import java.util.Locale;
import java.text.*;
import bitel.billing.server.contract.bean.BalanceUtils;
import java.math.BigDecimal;
import java.sql.*;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
import bitel.billing.server.tariff.*;
import bitel.billing.common.TimeUtils;
import bitel.billing.server.util.*;
import ru.bitel.bgbilling.server.util.DefaultServerSetup;
import ru.bitel.bgbilling.server.util.ServerUtils;
import bitel.billing.common.KernelConst;
import bitel.billing.server.contract.bean.*;


   String query = "select id,title from contract where  gr&(1<<0)>0";
   PreparedStatement contractPs = con.prepareStatement( query );
   ResultSet contractRs = contractPs.executeQuery();
   int cid;
   int i = 0;
BigDecimal planSumma = BigDecimal.ZERO;
    while ( contractRs.next() )
    {
      cid = contractRs.getInt( 1 );
      title = contractRs.getString(2);
   strcid = String.valueOf(cid);
   Date currentDate = new Date();
   BalanceUtils bu  = new BalanceUtils( con );
   BigDecimal balance = bu.getBalance(currentDate, cid);
   Calendar dt = new GregorianCalendar();
   Calculator calculator = new Calculator();
   calculator.setExecutingTime(dt);
   calculator.setPreCalc();
   calculator.setActiveFromDate( null );
   calculator.initTask(setup, 0, "mid=8");
   calculator.setCids(strcid);
   calculator.startTask();
 

        BigDecimal planAccount = BigDecimal.ZERO;
        Map planAccountMap = calculator.getCostCache().getContractAccounts();
        for (Integer contractId : ru.bitel.common.Utils.toIntegerList(strcid))
        {
           if(planAccountMap.get(contractId)!= null){
            planAccount = planAccount.add((BigDecimal)planAccountMap.get(contractId));
planSumma = planSumma.add(planAccount);
           }
        }

         BigDecimal planostatok = balance.subtract( planAccount );
         String param32string = balance + "р. (текущий остаток) , предпологаемая абонплата " + planAccount + "p. договор " + title;
         print (param32string);
         i++;

   }
    print("кол-во " +i );
    contractRs.close();
    contractPs.close();   
 


Попробуй

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 мар 2013, 11:19 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Phricker писал(а):
skyb писал(а):
Есть код, который для определения абонки, передал туда все договора чтоб по всем выщитывал предпологаемую абонку, по каждому договору она выводится, а как сложить их и вывести полную?
Код:
import bitel.billing.server.script.event.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;
import java.text.SimpleDateFormat;
import bitel.billing.server.admin.bean.*;
import java.math.BigDecimal;
import bitel.billing.server.npay.*;
import java.util.Locale;
import java.text.*;
import bitel.billing.server.contract.bean.BalanceUtils;
import java.math.BigDecimal;
import java.sql.*;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
import bitel.billing.server.tariff.*;
import bitel.billing.common.TimeUtils;
import bitel.billing.server.util.*;
import ru.bitel.bgbilling.server.util.DefaultServerSetup;
import ru.bitel.bgbilling.server.util.ServerUtils;
import bitel.billing.common.KernelConst;
import bitel.billing.server.contract.bean.*;


   String query = "select id,title from contract where  gr&(1<<0)>0";
   PreparedStatement contractPs = con.prepareStatement( query );
   ResultSet contractRs = contractPs.executeQuery();
   int cid;
   int i = 0;
BigDecimal planSumma = BigDecimal.ZERO;
    while ( contractRs.next() )
    {
      cid = contractRs.getInt( 1 );
      title = contractRs.getString(2);
   strcid = String.valueOf(cid);
   Date currentDate = new Date();
   BalanceUtils bu  = new BalanceUtils( con );
   BigDecimal balance = bu.getBalance(currentDate, cid);
   Calendar dt = new GregorianCalendar();
   Calculator calculator = new Calculator();
   calculator.setExecutingTime(dt);
   calculator.setPreCalc();
   calculator.setActiveFromDate( null );
   calculator.initTask(setup, 0, "mid=8");
   calculator.setCids(strcid);
   calculator.startTask();
 

        BigDecimal planAccount = BigDecimal.ZERO;
        Map planAccountMap = calculator.getCostCache().getContractAccounts();
        for (Integer contractId : ru.bitel.common.Utils.toIntegerList(strcid))
        {
           if(planAccountMap.get(contractId)!= null){
            planAccount = planAccount.add((BigDecimal)planAccountMap.get(contractId));
planSumma = planSumma.add(planAccount);
           }
        }

         BigDecimal planostatok = balance.subtract( planAccount );
         String param32string = balance + "р. (текущий остаток) , предпологаемая абонплата " + planAccount + "p. договор " + title;
         print (param32string);
         i++;

   }
    print("кол-во " +i );
    contractRs.close();
    contractPs.close();   
 


Попробуй

В конфе уже подсказали, только как оказалось второе объявление было лишьним
Код:
BigDecimal planostatok = balance.subtract( planAccount );

а нада
Код:
planostatok = balance.subtract( planAccount );

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 72 ]  На страницу Пред.  1, 2, 3

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


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

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


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

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