forum.bitel.ru http://forum.bitel.ru/ |
|
Получение предполагаемой наработки по абонплатам за месяц http://forum.bitel.ru/viewtopic.php?f=16&t=4076 |
Страница 1 из 3 |
Автор: | Cromeshnic [ 25 май 2010, 14:05 ] |
Заголовок сообщения: | Получение предполагаемой наработки по абонплатам за месяц |
Есть необходимость "предсказывать" абонплату за текущий месяц, когда он ещё не закончился. Как можно реализовать такое на BGBS? Следующий тестовый код возвращает наработку по абонплатам на текущий момент: Код: Calendar dt = new GregorianCalendar(); dt.set(Calendar.DAY_OF_MONTH ,31); Calculator calculator = new Calculator(); calculator.setExecutingTime(dt); calculator.setPreCalc(); calculator.initTask(setup, 0, "mid="+mid); calculator.setCids(cids); calculator.startTask(); if (!calculator.isCalcErrors()) { BigDecimal planAccount = BigDecimal.ZERO; Map planAccountMap = calculator.getCostCache().getContractAccounts(); for (Integer contractId : ru.bitel.common.Utils.stringToIntegerList(cids)) { planAccount = planAccount.add(ru.bitel.common.Utils.maskNull((BigDecimal)planAccountMap.get(contractId))); } print(planAccount); } Как получить наработку, которая будет у клиента в конце месяца (если ничего не поменяется в договоре)? |
Автор: | Cromeshnic [ 26 май 2010, 14:28 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Ап! Господа разработчики, скажите, это возможно сейчас? Если нет, то я отстану. |
Автор: | Администратор [ 26 май 2010, 17:41 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Вообще данный код как раз и высчитывает планируемую к начислению наработку за месяц. А чего у вас не сходится? Скрины что ли выложите.. |
Автор: | Cromeshnic [ 27 май 2010, 06:41 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Цитата: Вообще данный код как раз и высчитывает планируемую к начислению наработку за месяц. No, it's not ![]() Код: Calendar dt = new GregorianCalendar(); dt.set(Calendar.DAY_OF_MONTH ,31); Calculator calculator = new Calculator(); print(TimeUtils.convertCalendarToDateString(dt)); calculator.setExecutingTime(dt); calculator.setPreCalc(); calculator.initTask(setup, 0, "mid=16"); calculator.setCids("172108"); calculator.startTask(); if (!calculator.isCalcErrors()) { BigDecimal planAccount = BigDecimal.ZERO; Map planAccountMap = calculator.getCostCache().getContractAccounts(); for (Integer contractId : ru.bitel.common.Utils.stringToIntegerList("172108")) { planAccount = planAccount.add(ru.bitel.common.Utils.maskNull((BigDecimal)planAccountMap.get(contractId))); } print(planAccount); } На выходе скрипта: Код: COMPLETE_TIME: 27.05.10 09:29:38 PROCESS_TIME: 201 OUT: 2010-05-31 979.83 ERROR: EXCEPTIONS: WARNINGS: В договоре: Вложение: 172108.JPG [ 7.72 КБ | Просмотров: 22254 ] Тарифный план: Вложение: npay-M.JPG [ 11.44 КБ | Просмотров: 22254 ] Статус договора - активен с открытым периодом в течение всего месяца. Т.е. этот код вычисляет сумму начислений по абонплатам только до текущего дня. |
Автор: | Администратор [ 27 май 2010, 18:17 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Апдейт NPay для 5.0. Положите в BGBillingServer/lib, рестартуйте сервер и попробуйте выполнить скрипт. http://www.bgbilling.ru/patch/5/npay.jar |
Автор: | Cromeshnic [ 28 май 2010, 15:10 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Спасибо, работает ![]() Код: OUT: 2010-05-31 1125.00 Это попадёт в официальный апдейт? |
Автор: | snark [ 28 май 2010, 16:59 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
подскажите, пожалуйста, как получить сабж в 4.6 ? |
Автор: | Администратор [ 31 май 2010, 15:00 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Для 5.0 официальный апдейт выложен, для 4.6 невозможно - там режима предначисления не было. |
Автор: | Cromeshnic [ 01 июн 2010, 07:31 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Администратор писал(а): Апдейт NPay для 5.0. Положите в BGBillingServer/lib, рестартуйте сервер и попробуйте выполнить скрипт. http://www.bgbilling.ru/patch/5/npay.jar С этим файликом 1 числа стала неправильно считается абонплата за предыдущий месяц - начисление производится только за 2 дня. Откатил назад - всё стало нормально. Официальный апдейт не пробовали - посмотрите, возможно там такая же проблема. |
Автор: | Администратор [ 01 июн 2010, 14:04 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Проверил, всё корректно. Тестировал сменой даты на машине. У вас в scheduler.log информация не осталась? |
Автор: | Cromeshnic [ 01 июн 2010, 15:10 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Как-то так, например: Код: 06-01/09:50:15 INFO [Thread-10] TaskRunProcessor - Running Task: bitel.billing.server.npay.Recalculator@2f213a05 06-01/09:50:15 INFO [pool-1-thread-4] Recalculator - PaymentRecalculator time: 01.05.2010 00 06-01/09:50:15 INFO [pool-1-thread-4] Utils - Memory total: 1 635 450 880; max: 1 908 932 608; free: 1 064 450 800 06-01/09:50:15 INFO [pool-1-thread-4] Utils - Memory pools: 06-01/09:50:15 INFO [pool-1-thread-4] Calculator - Memory total: 1 635 450 880; max: 1 908 932 608; free: 1 064 450 800 06-01/09:50:15 INFO [pool-1-thread-4] Calculator - Setting balances for independ and subs.. 06-01/09:50:15 INFO [pool-1-thread-4] Calculator - Selected. 06-01/09:50:15 INFO [pool-1-thread-4] Calculator - Selecting sub account 06-01/09:50:15 INFO [pool-1-thread-4] Calculator - Selected. 06-01/09:50:15 INFO [pool-1-thread-4] Calculator - Setting balance for super.. 06-01/09:50:15 INFO [pool-1-thread-4] Calculator - Selected. 06-01/09:50:15 INFO [pool-1-thread-4] Calculator - Task finished time=26 ms. В логах ничего крамольного. После выставления счетов обновимся и посмотрим, как будет. |
Автор: | Администратор [ 01 июн 2010, 18:08 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Не так понял вас. При ручном начислении действительно такая проблема была. Обновление выложено. |
Автор: | Cromeshnic [ 07 июн 2010, 16:03 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Обновились до версии npay 217 Запускаю начисление по всем договорам за текущий месяц - снова наработка считается только за один день. Причем как при индивидуальном начислении, так и при глобальном. Откатываюсь до 213 путём замены файлика npay.jar, перезапускаю сервер, делаю начисление - всё в порядке. Пробую обновить npay принудительно: останавливаю сервер, планировщик и лоадер. Затем: Код: # ./bg_installer.sh npay_5.0_217.zip! 06-07/18:42:22 INFO [main] DefaultServerSetup - Init DB connection pools 06-07/18:42:22 INFO [main] DefaultServerSetup - Init trash pools.. 06-07/18:42:22 INFO [main] DefaultServerSetup - Init DB connection pools 06-07/18:42:22 INFO [main] DefaultServerSetup - Init trash pools.. Module: npay already installed. Data extract finished... Extract data => OK Database updated... Install ticket inserted.. Base update => OK Reinit module instanses REINIT module => 16 Module Instance init => OK Executing call AddSchedulerTasks; param: pay.sc Scheduled class bitel.billing.server.npay.Calculator already exists! Scheduled class ru.bitel.bgbilling.modules.npay.server.task.DebetStatusManageLocker already exists! Result => true Executing call PutFile; param: npay.xml:actions Result => true Execute calls => OK File's copy finished... File copy => OK Module npay was successfull installed! Please, restart BGBilling server. Запускаю севрер, лоадер и планировщик, перезапускаю клиент, убеждаюст в версии модуля в меню "Справка" -> "О программе" Запускаю начисление - снова ошибка. В итоге обратно откатился до 213. Сейчас имею: Сервер - сборка 744 от 03.06.2010 npay вер. 5.0 сборка 213 от 13.05.2010 12:02:54 Я что, один такой несчастный? |
Автор: | Администратор [ 07 июн 2010, 17:19 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
При запуске начисления что в scheduler.log выводится? Поставьте в log4j.xml уровень в DEBUG, сделайте начисление по одному проблемному договору и выложите, что получилось в scheduler.log. И скрин тарифа выложите. |
Автор: | Cromeshnic [ 08 июн 2010, 07:07 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
1. Новая версия npay: Цитата: npay вер. 5.0 сборка 217 от 02.06.2010 12:59:19 Код: 06-08/09:56:42 INFO [Thread-10] TaskRunProcessor - Running Task: bitel.billing.server.npay.Recalculator@23bb9829 06-08/09:56:42 INFO [pool-1-thread-1] Recalculator - PaymentRecalculator time: 01.06.2010 23 06-08/09:56:42 INFO [pool-1-thread-1] Setup - Load config for mid=16 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Services: -1,26,27,28,29,30,31,40,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,68,69,70,71,74,75,81,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,106,107,108,109,110,111,112,113,114,115,116,117,118,119,122,127,128,129,130,131,132,133,134,136,137,146,147,148,149,150,151,154,155,156,157,158,159,160,163,164,165,168,169,170,171,172,173,174,175,176,177,178,180,181,182,186,187,188 06-08/09:56:42 INFO [pool-1-thread-1] Utils - Memory total: 416 219 136; max: 1 908 932 608; free: 383 832 640 06-08/09:56:42 INFO [pool-1-thread-1] Utils - Memory pools: 06-08/09:56:42 INFO [pool-1-thread-1] Calculator - Memory total: 416 219 136; max: 1 908 932 608; free: 383 832 640 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Found service taker cid: 172108; sid: 40; date1: 09.02.2009; date2: ; col: 1 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - After trimming cid: 172108; sid: 40; date1: 01.06.2010; date2: 30.06.2010 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Tariff period: 01.12.2009- 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Request in tree: 1493 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - accepted => false 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Request after processing: 1493 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - accepted => true 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Add cost cache cid: 172108; sid: 40; cost: 0.0 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Add detail amount cache cid: 172108; sid: 40; mid: 16; eid: 0; cost: 0.0 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Tariff period: 01.06.2010- 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Request in tree: 1656 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - accepted => false 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Request after processing: 1656 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - accepted => true 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Add cost cache cid: 172108; sid: 40; cost: 36.66666666666666666666666666666667 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Add detail amount cache cid: 172108; sid: 40; mid: 16; eid: 0; cost: 36.666666666666664 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Found service taker cid: 172108; sid: 178; date1: 01.04.2010; date2: ; col: 1 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - After trimming cid: 172108; sid: 178; date1: 01.06.2010; date2: 30.06.2010 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Tariff period: 01.12.2009- 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Request in tree: 1493 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - accepted => false 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Request after processing: 1493 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - accepted => true 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Add cost cache cid: 172108; sid: 178; cost: 0.0 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Add detail amount cache cid: 172108; sid: 178; mid: 16; eid: 0; cost: 0.0 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Tariff period: 01.06.2010- 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Request in tree: 1656 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - accepted => false 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Request after processing: 1656 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - accepted => true 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Add cost cache cid: 172108; sid: 178; cost: 0.0 06-08/09:56:42 DEBUG [pool-1-thread-1] Calculator - Add detail amount cache cid: 172108; sid: 178; mid: 16; eid: 0; cost: 0.0 06-08/09:56:42 INFO [pool-1-thread-1] Calculator - Setting balances for independ and subs.. 06-08/09:56:42 INFO [pool-1-thread-1] Calculator - Selected. 06-08/09:56:42 INFO [pool-1-thread-1] Calculator - Selecting sub account 06-08/09:56:42 INFO [pool-1-thread-1] Calculator - Selected. 06-08/09:56:42 INFO [pool-1-thread-1] Calculator - Setting balance for super.. 06-08/09:56:42 INFO [pool-1-thread-1] Calculator - Selected. 06-08/09:56:42 INFO [pool-1-thread-1] Calculator - Task finished time=159 ms. 2. Старый npay: Цитата: npay вер. 5.0 сборка 213 от 13.05.2010 12:02:54 Код: 06-08/10:10:17 INFO [Thread-10] TaskRunProcessor - Running Task: bitel.billing.server.npay.Recalculator@41d47b2b 06-08/10:10:17 INFO [pool-1-thread-1] Recalculator - PaymentRecalculator time: 01.06.2010 00 06-08/10:10:17 INFO [pool-1-thread-1] Setup - Load config for mid=16 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Services: -1,26,27,28,29,30,31,40,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,68,69,70,71,74,75,81,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,106,107,108,109,110,111,112,113,114,115,116,117,118,119,122,127,128,129,130,131,132,133,134,136,137,146,147,148,149,150,151,154,155,156,157,158,159,160,163,164,165,168,169,170,171,172,173,174,175,176,177,178,180,181,182,186,187,188 06-08/10:10:17 INFO [pool-1-thread-1] Utils - Memory total: 159 121 408; max: 1 908 932 608; free: 145 640 200 06-08/10:10:17 INFO [pool-1-thread-1] Utils - Memory pools: 06-08/10:10:17 INFO [pool-1-thread-1] Calculator - Memory total: 159 121 408; max: 1 908 932 608; free: 145 640 200 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Found service taker cid: 172108; sid: 40; date1: 09.02.2009; date2: ; col: 1 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - After trimming cid: 172108; sid: 40; date1: 01.06.2010; date2: 30.06.2010 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Tariff period: 01.12.2009- 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Request in tree: 1493 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - accepted => false 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Request after processing: 1493 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - accepted => true 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Add cost cache cid: 172108; sid: 40; cost: 0.0 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Add detail amount cache cid: 172108; sid: 40; mid: 16; eid: 0; cost: 0.0 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Tariff period: 01.06.2010- 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Request in tree: 1656 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - accepted => false 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Request after processing: 1656 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - accepted => true 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Add cost cache cid: 172108; sid: 40; cost: 293.33333333333333333333333333333336 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Add detail amount cache cid: 172108; sid: 40; mid: 16; eid: 0; cost: 293.3333333333333 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Found service taker cid: 172108; sid: 178; date1: 01.04.2010; date2: ; col: 1 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - After trimming cid: 172108; sid: 178; date1: 01.06.2010; date2: 30.06.2010 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Tariff period: 01.12.2009- 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Request in tree: 1493 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - accepted => false 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Request after processing: 1493 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - accepted => true 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Add cost cache cid: 172108; sid: 178; cost: 0.0 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Add detail amount cache cid: 172108; sid: 178; mid: 16; eid: 0; cost: 0.0 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Tariff period: 01.06.2010- 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Request in tree: 1656 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - accepted => false 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Request after processing: 1656 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - accepted => true 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Add cost cache cid: 172108; sid: 178; cost: 0.0 06-08/10:10:17 DEBUG [pool-1-thread-1] Calculator - Add detail amount cache cid: 172108; sid: 178; mid: 16; eid: 0; cost: 0.0 06-08/10:10:17 INFO [pool-1-thread-1] Calculator - Setting balances for independ and subs.. 06-08/10:10:17 INFO [pool-1-thread-1] Calculator - Selected. 06-08/10:10:17 INFO [pool-1-thread-1] Calculator - Selecting sub account 06-08/10:10:17 INFO [pool-1-thread-1] Calculator - Selected. 06-08/10:10:17 INFO [pool-1-thread-1] Calculator - Setting balance for super.. 06-08/10:10:17 INFO [pool-1-thread-1] Calculator - Selected. 06-08/10:10:17 INFO [pool-1-thread-1] Calculator - Task finished time=176 ms. Тариф: Вложение: sid 178 - абонплата за тарифную опцию, опций у клиента не подключено sid 40 - абонплата "предоплаченный трафик" |
Автор: | Администратор [ 08 июн 2010, 14:48 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Там две услуги, проблема с обеими? Скажите коды первой и второй услуг в тарифе. |
Автор: | Cromeshnic [ 08 июн 2010, 14:50 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Цитата: sid 178 - абонплата за тарифную опцию, опций у клиента не подключено
sid 40 - абонплата "предоплаченный трафик" |
Автор: | Администратор [ 08 июн 2010, 15:21 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Обновляли всё? 1) Поставьте последние обновления всего. 2) Дайте ССШ и к биллингу доступ в личку, если проблема не решилась. |
Автор: | skyb [ 26 июл 2010, 13:08 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
А объясните куда все запихивать? Это я в глобальные скрипты добавил Код: EXCEPTIONS: и что за числа Sourced file: 1 : Typed variable declaration : Class: Calculator not found in namespace Sourced file: 1 : Typed variable declaration : Class: Calculator not found in namespace : at Line: 4 : in file: 1 : Calculator Код: calculator.setCids("172108"); Немогли бы вы расписать что и куда, и приветси полный код...появилась нужда в этом скрипте... |
Автор: | Администратор [ 26 июл 2010, 14:51 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Это коды договоров через запятую. Цитата: calculator.setCids("172108"); Вы лучше выкладывайте какой у вас получился скрипт и как ругается и чего вы от него хотите. |
Автор: | skyb [ 26 июл 2010, 15:32 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Скрипт брал от сюда Охото получить вывод наработки по абонплатам за месяц |
Автор: | Администратор [ 26 июл 2010, 16:11 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Cromeshnic, дайте скрипт. У вас же такой есть. |
Автор: | skyb [ 26 июл 2010, 16:18 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Cromeshnic Вас сам администратор просит ![]() |
Автор: | Cromeshnic [ 27 июл 2010, 07:11 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Сорри, дальше теста не пошло - отпала необходимость, т.к. поменяли бизнес-логику. |
Автор: | skyb [ 27 июл 2010, 07:13 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Cromeshnic писал(а): Сорри, дальше теста не пошло - отпала необходимость, т.к. поменяли бизнес-логику. Ну а что получилось во время теста?? мне немного высчитывать, просто есть договор, его до конца выщитывать продажникам приходиться, а так просто(неважно где и как)были бы цифры...ты же как то их получил...расскажи?? |
Автор: | Cromeshnic [ 27 июл 2010, 08:26 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Тест - в первом посте. Запускать в глобальном скрипте поведения. Всё работает правильно: Код: 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(); 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")) { planAccount = planAccount.add(ru.bitel.common.Utils.maskNull((BigDecimal)planAccountMap.get(contractId))); } print(planAccount); } } Возвращает сумму будущей наработки по всем абонплатам за месяц по договору с cid=12345. На основе этого уже несложно написать свой скрипт. |
Автор: | skyb [ 27 июл 2010, 08:32 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Код: EXCEPTIONS: Error in method invocation: Method add( java.lang.String ) not found in class'java.math.BigDecimal' Error in method invocation: Method add( java.lang.String ) not found in class'java.math.BigDecimal' : at Line: 24 : in file: 1 : planAccount .add ( ru .bitel .common .Utils .maskNull ( ( BigDecimal ) planAccountMap .get ( contractId ) ) ) ![]() |
Автор: | Cromeshnic [ 27 июл 2010, 09:10 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Хм, прикольно. Значит planAccountMap.get(contractId) выдал null и взялся первый подходящий метод maskNull - для строки. Try this: Код: 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(); 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); } } |
Автор: | skyb [ 27 июл 2010, 10:03 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Код: COMPLETE_TIME: 27.07.10 14:02:28 PROCESS_TIME: 33 OUT: 2010-07-31 0 ERROR: EXCEPTIONS: WARNINGS: ![]() mid - это же код модуля абонплат? |
Автор: | skyb [ 27 июл 2010, 10:20 ] |
Заголовок сообщения: | Re: Получение предполагаемой наработки по абонплатам за месяц |
Все работает...спасибо |
Страница 1 из 3 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |