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

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

Перейти к: навигация, поиск

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

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 );
        }
    }
}
Личные инструменты