...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
SubstitutionService ss = ServiceFactory.getSubstitutionService();
//Utworzenie zastępstwa
Substitution substitution = new Substitution();
substitution.setProcessDefId( "test" );
RoleService rs = ServiceFactory.getRoleService();
ProcessService ps = ServiceFactory.getProcessService();
ProcessDefinition pd = ps.getProcessDefinition( substitutionForm.getProcessName() );
Role role = rs.getRole( pd.getPackageId(), pd.getProcessDefinitionId(), roleId );
substitution.setRole( role );
UserService us = ServiceFactory.getUserService();
substitution.setSubstituted( us.getUser("jkowalski") );
substitution.setSubstitute( us.getUser( "admin" ) );
substitution.setStartDate( new LocalDateTime( "2014-10-20") );
substitution.setFinishDate( new LocalDateTime( "2014-10-22" ) );
ss.createSubstitution( substitution );
//Pobieranie zastępstw
Substitution substitution = ss.getSubstitution( 34L ); //pobieranie na podstawie id z bazy danych
ListSubstitution> substitutions = ss.getSubstitutions( "admin" ); //pobieranie na podstawie loginu użytkownika (zastępstwa, w których podany użytkownik jest zastępcą lub zastępowanym)
//Modyfikacja zastępstwa
Substitution substitution = ss.getSubstitution( 34L );
substitution.setProcessDefId( "test2" );
ss.updateSubstitution( substitution );
//Usuwanie zastępstwa
Substitution substitution = ss.getSubstitution( 34L );
ss.deleteSubstitution( substitution ); //usuwanie na podstawie całego obiektu pobranego z bazy
ss.deleteSubstitution( 30L ); //usuwanie na podstawie id z bazy danych
|
Wyszukiwanie zastępstw
Usługa SubstitutionService udostępnia podstawowe i najczęściej wykorzystywane wyszukiwania zastępstw, np.: pobieranie zastępców dla danego użytkownika.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
SubstitutionFinder sf = FinderFactory.getSubstitutionFinder(); //definiujemy filtry wyszukiwania List<HibernateFilter> filters = new ArrayList<HibernateFilter>(); //Łączenie kryteriów za pomocą operatora logicznego OR GroupHibernateFilter groupFilter = new GroupHibernateFilter(); groupFilter.setLogicOperator( LogicOperator.OR ); //Warunek - processDefId = "test" SimpleHibernateFilter filter1 = new SimpleHibernateFilter( "processDefId", "test" ); groupFilter.addFilter( filter1 ); //Warunek - lStartDate (data rozpoczęcia) > obecna data SimpleHibernateFilter filter2 = new SimpleHibernateFilter( "lStartDate", ( new Date() ).getTime() ); filter2.setOperator( FilterOperator.GT ); groupFilter.addFilter( filter2 ); filters.add( groupFilter ); //Sortowanie malejąco po id z bazy Sorter sorter = new Sorter( "id", SortDirection.DESC ); int start = 0; int limit = 10; CountedResult<Substitution> substitutions = sf.findByFilters( filters, sorter, start, limit ); |
...