forum.bitel.ru http://forum.bitel.ru/ |
|
reference to Calculator is ambiguous http://forum.bitel.ru/viewtopic.php?f=19&t=11393 |
Страница 1 из 1 |
Автор: | telesystem [ 01 мар 2016, 04:46 ] |
Заголовок сообщения: | reference to Calculator is ambiguous |
По совету 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 Уважаемы разработчики, подскажите в чем проблема ? |
Автор: | dimOn [ 01 мар 2016, 10:56 ] |
Заголовок сообщения: | Re: reference to Calculator is ambiguous |
в том что Цитата: Для версии 5.1. так попробуйте навскидку Код: import ru.bitel.bgbilling.modules.npay.server.Calculator;
|
Автор: | Phricker [ 01 мар 2016, 11:14 ] |
Заголовок сообщения: | Re: reference to Calculator is ambiguous |
В 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(); } } |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |