Изменение описания процесса по правке параметра

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
Администратор (Обсуждение | вклад)
(Новая страница: «Класс скрипта указывается в типе процесса. Скрипт можно дополнить обработкой других собы…»)
Следующая правка →

Версия 13:40, 16 мая 2014

Класс скрипта указывается в типе процесса. Скрипт можно дополнить обработкой других событий процесса.

package ru.bgcrm.dyn.test;
 
import org.apache.log4j.Logger;
 
import ru.bgcrm.dao.process.ProcessDAO;
import ru.bgcrm.event.Event;
import ru.bgcrm.event.ParamChangedEvent;
import ru.bgcrm.event.client.ProcessChangedEvent;
import ru.bgcrm.event.listener.DynamicEventListener;
import ru.bgcrm.util.sql.ConnectionSet;
 
public class ParamChangedEventListener
    extends DynamicEventListener
{
	private static final Logger log = Logger.getLogger( ParamChangedEventListener.class );
 
	@Override
    public void notify( Event e, ConnectionSet connectionSet )
    {
		if( !(e instanceof ParamChangedEvent) )
		{
			return;
		}
 
		ParamChangedEvent pce = (ParamChangedEvent)e;			
	    try
        {
	    	ProcessDAO processDao = new ProcessDAO( connectionSet.getConnection() );
 
	    	ru.bgcrm.model.process.Process process = processDao.getProcess( pce.getObjectId() );
	    	process.setDescription( "Изменено!!\n" + process.getDescription()  );
 
	    	processDao.updateProcess( process );
 
	    	// чтобы в браузере обновилась вкладка
	    	pce.getForm().getResponse().addEvent( new ProcessChangedEvent( pce.getObjectId() ) );
        }
        catch( Exception ex )
        {
	        log.error( ex.getMessage(), ex );
        }
    }
}
Личные инструменты