BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: reference to Calculator is ambiguous
СообщениеДобавлено: 01 мар 2016, 04:46 
Не в сети

Зарегистрирован: 11 мар 2015, 15:49
Сообщения: 49
Карма: 0
По совету Skn - viewtopic.php?f=19&t=11358#p96639 пытаюсь для версии 6.2 отработать код:
Код:
import java.math.*;
import bitel.billing.server.npay.Calculator;
import bitel.billing.common.TimeUtils;
 
public void main(setup, con, conSlave)
{
      Calendar dt = new GregorianCalendar();
      dt.set(Calendar.DAY_OF_MONTH ,31);
 
      Calculator calculator = new Calculator();
      print(TimeUtils.convertCalendarToDateString(dt));
      calculator.setExecutingTime(dt);
      calculator.setPreCalc();
      // если не ставить эту опцию, то будет считать абонплаты как будто статус активен от dt начиная
      calculator.setActiveFromDate( null );
      calculator.initTask(setup, 0, "mid=16");
      calculator.setCids("12345");
      calculator.startTask();
 
      if (!calculator.isCalcErrors())
      {
        BigDecimal planAccount = BigDecimal.ZERO;
        Map planAccountMap = calculator.getCostCache().getContractAccounts();
        for (Integer contractId : ru.bitel.common.Utils.stringToIntegerList("12345"))
        {
        if(planAccountMap.get(contractId)!=null){
                     planAccount = planAccount.add((BigDecimal)planAccountMap.get(contractId));
        }
        }
 
      print(planAccount);
      }
}


Компилятор усиленно ругается на Calculator calculator = new Calculator();

reference to Calculator is ambiguous
both class ru.bitel.bgbilling.modules.npay.server.Calculator in ru.bitel.bgbilling.modules.npay.server and class bitel.billing.server.npay.Calculator in bitel.billing.server.npay match /opt/bgbilling/BGBillingServer/dyn/GetPay.java

Уважаемы разработчики, подскажите в чем проблема ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: reference to Calculator is ambiguous
СообщениеДобавлено: 01 мар 2016, 10:56 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
в том что
Цитата:
Для версии 5.1.

так попробуйте навскидку
Код:
import ru.bitel.bgbilling.modules.npay.server.Calculator;

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: reference to Calculator is ambiguous
СообщениеДобавлено: 01 мар 2016, 11:14 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
В 6,2 работает.
Код:
package ru.ellcom.bgbilling.scripts.contract;

import java.math.BigDecimal;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Map;

import bitel.billing.common.TimeUtils;
import bitel.billing.server.admin.bgsecure.bean.UserGroupManager;
import bitel.billing.server.npay.Calculator;


import ru.bitel.bgbilling.common.BGException;
import ru.bitel.bgbilling.common.BGMessageException;
import ru.bitel.common.Utils;


public class UpdateContractLimit
   extends bitel.billing.server.contract.action.ActionUpdateContractLimit
{
   private final int ADMIN_GROUP = 5;
   private final int ABON_GROUP = 32;
   private final int NPAY_MID = 3;
   
   @Override
    public void doAction()
       throws SQLException, BGException
   {
      UserGroupManager userGroupManager = new UserGroupManager(con);
      List<Integer> groups = userGroupManager.getUserGroups(userID);
      BigDecimal summa = Utils.parseBigDecimal(getParameter("value", ""),BigDecimal.ZERO);
      
      if(!groups.contains(ADMIN_GROUP)&& !groups.contains(ABON_GROUP))
      {
         Calendar now = new GregorianCalendar();
         now.add(Calendar.MONTH, 1);
         Calendar startMonth = TimeUtils.getStartMonth( now );
         Calendar endMonth = TimeUtils.getEndMonth( now );
         
         BigDecimal planAccount = BigDecimal.ZERO;
         
         Calculator calculator = new Calculator();
         calculator.setExecutingTime( endMonth );
         calculator.setPreCalc();
         calculator.setActiveFromDate( startMonth );
         calculator.setTariffOptionEnable( false );
         calculator.initTask( setup, 0, "mid=" + NPAY_MID );
         calculator.setCids( String.valueOf( cid ) );
         calculator.startTask();
         Map planAccountMap = calculator.getCostCache().getContractAccounts();
         planAccount = Utils.maskNull((BigDecimal) planAccountMap.get( cid ));
         if(summa.compareTo(planAccount.multiply(new BigDecimal(2.0)).negate()) < 0)
         {
            throw new BGMessageException( "Запрещено выставление лимита суммой больше чем " + planAccount.multiply(new BigDecimal(2.0)).negate() );
         }
      }
      // иначе вызываем родительский метод
      super.doAction();
   }
}

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


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

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


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

Сейчас этот форум просматривают: Bing [Bot] и гости: 1


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

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