forum.bitel.ru http://forum.bitel.ru/ |
|
[6.0] Управление статусом договора WEB http://forum.bitel.ru/viewtopic.php?f=22&t=8405 |
Страница 1 из 1 |
Автор: | Dog [ 02 сен 2013, 22:48 ] |
Заголовок сообщения: | [6.0] Управление статусом договора WEB |
есть простенький скрипт: Код: import java.util.*; List dateList = new ArrayList(); Calendar cal = Calendar.getInstance(); cal.roll(Calendar.DAY_OF_MONTH,1); dateList.add(cal.getTime()); event.setDateList( dateList ); повешен на событие "Получение списка дат для смены статуса договора в Web" в итоге в ЛК имеем: Вложение: если например отдать ему пустой список, то напишет: "Смена статуса запрещена системой", если отвязать от события (!и перезагрузить сервер): то появляется выбор произвольной даты: Вложение: и приостановка работает: Вложение: 1. что я не так делаю с формированием своего списка дат? 2. почему нельзя отменить действие из ЛК по блокировке договора, а нужно дождаться когда он будет заблокирован, и только тогда активировать его заново? |
Автор: | skn [ 02 сен 2013, 23:07 ] |
Заголовок сообщения: | Re: [6.0] Управление статусом договора WEB |
a) а чего вы хотите получить? какая задача? б) почему в скрипте используется функция roll(...) |
Автор: | Dog [ 02 сен 2013, 23:12 ] |
Заголовок сообщения: | Re: [6.0] Управление статусом договора WEB |
хочу сделать так, чтобы приостановка была только завтрашним числом. и хочу привинтить проверку, была ли приостановка договора в этом месяце (но это пока планы, сейчас хочу разобраться только со сменой статуса по своему списку дат) функция roll() как раз чтобы прибавить один день относительно текущего дня. |
Автор: | skn [ 02 сен 2013, 23:14 ] |
Заголовок сообщения: | Re: [6.0] Управление статусом договора WEB |
Dog писал(а): функция roll() как раз чтобы прибавить один день относительно текущего дня. интересно, а что тогда делает функция add(...) и чем она отличается от roll(...) подсказка из доки для roll(...) Adds the specified (signed) amount to the specified calendar field without changing larger fields. A negative amount means to roll down. (очень интересно что вернет roll для 31 декабря ![]() |
Автор: | Dog [ 02 сен 2013, 23:19 ] |
Заголовок сообщения: | Re: [6.0] Управление статусом договора WEB |
добавляет значение cal.getTime() в dateList ? я просто с явой на вы, могу и ошибаться =) |
Автор: | Dog [ 02 сен 2013, 23:20 ] |
Заголовок сообщения: | Re: [6.0] Управление статусом договора WEB |
skn писал(а): подсказка из доки для roll(...) Adds the specified (signed) amount to the specified calendar field without changing larger fields. A negative amount means to roll down. (очень интересно что вернет roll для 31 декабря ![]() 1 января следующего года? |
Автор: | skn [ 02 сен 2013, 23:21 ] |
Заголовок сообщения: | Re: [6.0] Управление статусом договора WEB |
Dog писал(а): skn писал(а): подсказка из доки для roll(...) Adds the specified (signed) amount to the specified calendar field without changing larger fields. A negative amount means to roll down. (очень интересно что вернет roll для 31 декабря ![]() 1 января следующего года? удачи... |
Автор: | Dog [ 02 сен 2013, 23:23 ] |
Заголовок сообщения: | Re: [6.0] Управление статусом договора WEB |
покрайней мере давно уже работает такой скрипт: Код: import java.util.*; List dateList = new ArrayList(); Calendar cal = Calendar.getInstance(); cal.roll(Calendar.MONTH,1); cal.set(Calendar.DAY_OF_MONTH,1); dateList.add(cal.getTime()); event.setDateList( dateList ); на смене тарифа с первого числа следующего месяца, и вроде как никто не помер... |
Автор: | skn [ 02 сен 2013, 23:34 ] |
Заголовок сообщения: | Re: [6.0] Управление статусом договора WEB |
Код: import java.util.Calendar; public class a { public static void main( String[] args ) { Calendar cal = Calendar.getInstance(); cal.set( 2013, 11, 31 ); System.out.println( cal.getTime().toString() ); cal.roll( Calendar.DAY_OF_MONTH, 1 ); System.out.println( cal.getTime().toString() ); System.out.println( "=======================================" ); cal.set( 2013, 11, 31 ); System.out.println( cal.getTime().toString() ); cal.roll( Calendar.MONTH, 1 ); System.out.println( cal.getTime().toString() ); } } результат (в первой части обратите внимание на месяц и год, а во второй на год) Код: Tue Dec 31 23:32:24 YEKT 2013
Sun Dec 01 23:32:24 YEKT 2013 ======================================= Tue Dec 31 23:32:24 YEKT 2013 Thu Jan 31 23:32:24 YEKT 2013 |
Автор: | Dog [ 03 сен 2013, 00:24 ] |
Заголовок сообщения: | Re: [6.0] Управление статусом договора WEB |
![]() был не прав, исправился (задания на смену оказывается формируются в группах тарифов): Код: import java.util.*; List dateList = new ArrayList(); Calendar cal = Calendar.getInstance(); cal.add(Calendar.DAY_OF_MONTH,1); dateList.add(cal.getTime()); event.setDateList( dateList ); но сути не меняет, в итоге он все равное не хочет менять статус, по сформированному мною списку. |
Автор: | Dog [ 04 сен 2013, 01:59 ] |
Заголовок сообщения: | Re: [6.0] Управление статусом договора WEB |
ап! Код: 09-03/23:56:36 INFO ["http-bio-/0.0.0.0-8080"-exec-7] ScriptEventListener - Caught event: ru.bitel.bgbilling.kernel.event.events.GetContractStatusChangeDatesEvent 09-03/23:56:36 WARN [scrpt-evnt-lstnr-p-4-t-1] ScriptEventListener - You are using old function definition! Use "void onEvent( e, setup, con, conSlave ) {}" instead! 09-03/23:56:36 DEBUG [scrpt-evnt-lstnr-p-4-t-1] ScriptInstance - Eval script Function [id:12; title:Получение списка 2] 09-03/23:56:36 INFO ["http-bio-/0.0.0.0-8080"-exec-7] ScriptEventListener - Process time => 9 в логах вижу вот такое, больше ничего. ругается, но отрабатывает. должно менять или нет? |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |