forum.bitel.ru http://forum.bitel.ru/ |
|
Событие смены статуса, как получить DateFrom http://forum.bitel.ru/viewtopic.php?f=19&t=8864 |
Страница 1 из 1 |
Автор: | skyb [ 21 янв 2014, 15:13 ] |
Заголовок сообщения: | Событие смены статуса, как получить DateFrom |
Как с евента вытянуть DateFrom при смене статуса Код: ContractStatus status = ((ContractStatus) event1).getDateFrom(); - эт чего то ошибку выдает
|
Автор: | Artur [ 21 янв 2014, 15:49 ] |
Заголовок сообщения: | Re: Событие смены статуса, как получить DateFrom |
Как можно ContractStatus приравнять к событию? |
Автор: | skyb [ 21 янв 2014, 16:45 ] |
Заголовок сообщения: | Re: Событие смены статуса, как получить DateFrom |
Код: package ru.skyb.scripts.behavior; import java.sql.Connection; import java.util.Calendar; import java.util.Date; import bitel.billing.server.contract.bean.ContractStatus; import bitel.billing.server.contract.bean.ContractStatusManager; import ru.bitel.bgbilling.kernel.event.events.ContractStatusChangedEvent; //import ru.bitel.bgbilling.kernel.event.events.ContractStatusChangingEvent; import ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase; import ru.bitel.bgbilling.server.util.Setup; import ru.bitel.common.sql.ConnectionSet; public class ChangeStatusRestructuring extends EventScriptBase<ContractStatusChangedEvent> { @Override public void onEvent( ContractStatusChangedEvent event1, Setup setup2, ConnectionSet connectionSet3 ) throws Exception { Connection con = connectionSet3.getConnection(); int cid = event1.getContractId(); ContractStatus status = event1.getStatus(); //ContractStatusChangedEvent csce = ((ContractStatusChangedEvent) event1). //int status = ((ContractStatus) event1).getStatus(); //ContractStatusChangedEvent csce = ((ContractStatusChangedEvent) event1).getDateFrom(); Calendar c = Calendar.getInstance(); //Calendar nowDate = Calendar.getInstance(); //Date dateNow = TimeUtils.convertCalendarToDate(nowDate); //GregorianCalendar three = (GregorianCalendar) c.clone(); //three.add( Calendar.DAY_OF_MONTH, +3 ); //Date dateThree = TimeUtils.convertCalendarToDate(three); ContractStatusManager csm = new ContractStatusManager(con); //ContractStatus status = csm.getStatus(cid, dateNow); Date dt = status.getDateFrom(); c.setTime(dt); c.add( Calendar.DAY_OF_MONTH, +3 ); //dt = Calendar.set(Calendar.DAY_OF_MONTH, +3); //((Calendar) dt).add( Calendar.DAY_OF_MONTH, +3 ); /*if (status == null) { return; }*/ print ("dt " + dt + " c.getTime() " + c.getTime()); int contract_status = status.getStatus(); print("Текущий статус " + contract_status); if (contract_status == 6) { //Изменение статуса с будущей даты ContractStatus statusR = new ContractStatus(); statusR.setContractId(cid); statusR.setDateFrom(c.getTime()); statusR.setDateTo(null); statusR.setStatus( 0 ); statusR.setComment("Автоматическое изменение статуса скриптом на Активен"); csm.changeStatus( statusR, 0, false ); print("Был статус Переоформление" + contract_status + " Изменили на Активен"); } } } Вобщем сделал так, НО почему то отрабатывает только на прошлые даты, если ставить статусы с будущей даты, то даже в логи не пишет что событие было |
Автор: | Phricker [ 21 янв 2014, 17:06 ] |
Заголовок сообщения: | Re: Событие смены статуса, как получить DateFrom |
Так на будущую дату смена статуса отработает задачей планировщика "смена статуса у договоров" |
Автор: | skyb [ 21 янв 2014, 17:08 ] |
Заголовок сообщения: | Re: Событие смены статуса, как получить DateFrom |
Phricker писал(а): Так на будущую дату смена статуса отработает задачей планировщика "смена статуса у договоров" даладно....афигеть, ок, проверю девлоперы, подтверждаете? |
Автор: | skyb [ 21 янв 2014, 18:20 ] |
Заголовок сообщения: | Re: Событие смены статуса, как получить DateFrom |
даладно, не верю что не знаете) |
Автор: | dimOn [ 22 янв 2014, 15:22 ] |
Заголовок сообщения: | Re: Событие смены статуса, как получить DateFrom |
на будущую дату конечно нет событий, событие бросится из таска, всё верно сказано |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |