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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «Класс скрипта указывается в типе процесса. Скрипт можно дополнить обработкой других собы…»)
 
Строка 16: Строка 16:
     extends DynamicEventListener
     extends DynamicEventListener
{
{
-
private static final Logger log = Logger.getLogger( ParamChangedEventListener.class );
+
    private static final Logger log = Logger.getLogger( ParamChangedEventListener.class );
-
@Override
+
    @Override
     public void notify( Event e, ConnectionSet connectionSet )
     public void notify( Event e, ConnectionSet connectionSet )
     {
     {
-
if( !(e instanceof ParamChangedEvent) )
+
if( !(e instanceof ParamChangedEvent) )
-
{
+
{
-
return;
+
    return;
-
}
+
}
-
ParamChangedEvent pce = (ParamChangedEvent)e;
+
ParamChangedEvent pce = (ParamChangedEvent)e;
-
    try
+
try
         {
         {
    ProcessDAO processDao = new ProcessDAO( connectionSet.getConnection() );
    ProcessDAO processDao = new ProcessDAO( connectionSet.getConnection() );

Текущая версия на 13:41, 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 );
        }
    }
}
Личные инструменты