Interface SubstitutionService


public interface SubstitutionService
Umożliwia zarządzanie zastępstwami użytkowników.
Author:
Rafał Nowacki 26-08-2014
  • Method Details

    • createSubstitution

      @Deprecated(since="4.2", forRemoval=true) void createSubstitution(Substitution substitution)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Metoda tworzy zastępstwo.
      Parameters:
      substitution - Obiekt z definicją zastępstwa.
    • addSubstitution

      SubstitutionAddingType addSubstitution(Substitution substitution)
      Metoda tworzy zastępstwo.
      Parameters:
      substitution - Obiekt z definicją zastępstwa.
    • addSubstitutions

      Map<Long,SubstitutionAddingType> addSubstitutions(List<Substitution> substitutions)
      Tworzy zastępstwa z podanej listy
      Parameters:
      substitutions - lista zastępstw
      Returns:
      Mapa z rezultatem dla poszczególnych zastępstw
    • deleteSubstitution

      void deleteSubstitution(Long substitutionId)
      Metoda usuwa zastępstwo.
      Parameters:
      substitutionId - Id zastępstwa, które ma zostać usunięte.
    • deleteSubstitution

      void deleteSubstitution(Substitution substitution)
      Metoda usuwa zastępstwo.
      Parameters:
      substitution - Obiekt z zastępstwem pobranym z bazy.
    • isSubstitutionDeletable

      boolean isSubstitutionDeletable(Substitution substitution)
      Sprawdza czy zastępstwo może zostać usunięte.
      Parameters:
      substitution - obiekt z zastępstwem pobranym z bazy.
    • updateSubstitution

      void updateSubstitution(Substitution substitution)
      Metoda aktualizuje zastępstwo.
      Parameters:
      substitution - Zaktualizowany obiekt zastępstwa pobrany z bazy.
    • getSubstitution

      Substitution getSubstitution(Long substitutionId)
      Metoda pobiera zastępstwo.
      Parameters:
      substitutionId - Id zastępstwa z bazy danych.
      Returns:
      Obiekt zastępstwa.
    • getSubstitutions

      List<Substitution> getSubstitutions()
      Metoda pobiera wszystkie aktywne zastępstwa w systemie. Sortowane są one od najpóźniej dodanych. Aktywne zastępstwa to takie, które obowiązują w momencie wyszukiwania. Uwzględniane są włącznie data rozpoczęcia i zakończenia zastępstwa.
      Returns:
      Lista zastępstw.
    • getSubstitutions

      List<Substitution> getSubstitutions(String userName)
      Metoda pobiera wszystkie aktywne zastępstwa dotyczące użytkownika. Pobierane są zastępstwa, w których użytkownik jest zastępcą lub zastępowanym. Aktywne zastępstwa to takie, które obowiązują w momencie wyszukiwania. Uwzględniane są włącznie data rozpoczęcia i zakończenia zastępstwa.
      Parameters:
      userName - Login użytkownika, którego zastępstwa mają zostać pobrane.
      Returns:
      Lista zastępstw użytkownika.
    • findSubstitutions

      CountedResult<SubstitutionDto> findSubstitutions(String username, String displayType, Integer start, Integer limit, String sortBy, SortDirection sortDirection)
      Zwraca zastępstwa widoczne dla danego użytkownika
      Parameters:
      username - login zalogowanego użytkownika
      displayType - określa jaki rodzaj zastępstw ma być wyświetlany użytkownikowi
      start - przesunięcie w zbiorze wynikowym
      limit - ograniczenie ilości
      sortBy - po jakim parametrze sortujemy
      sortDirection - kierunek sortowania
      Returns:
      lista zastępstw
    • findSubstitutionsByFilters

      CountedResult<SubstitutionDto> findSubstitutionsByFilters(String username, String displayType, SubstitutionFormDto substitutionFormDto, Integer start, Integer limit, String sortBy, SortDirection sortDirection)
      Zwraca zastępstwa widoczne dla danego użytkownika
      Parameters:
      username - login zalogowanego użytkownika
      displayType - określa jaki rodzaj zastępstw ma być wyświetlany użytkownikowi
      substitutionFormDto - obiekt zawierający filtry
      start - przesunięcie zbioru wynikowego
      limit - ograniczenie liczby wyników
      sortBy - po jakim parametrze sortujemy
      sortDirection - kierunek sortowania
      Returns:
      lista zastępstw
    • findSubstitutionsByFilters

      CountedResult<SubstitutionDto> findSubstitutionsByFilters(String username, String displayType, SubstitutionFormDto substitutionFormDto, Integer start, Integer limit, String sortBy, SortDirection sortDirection, Boolean onlyActive)
      Zwraca zastępstwa widoczne dla danego użytkownika
      Parameters:
      username - login zalogowanego użytkownika
      displayType - określa jaki rodzaj zastępstw ma być wyświetlany użytkownikowi
      substitutionFormDto - obiekt zawierający filtry
      start - przesunięcie zbioru wynikowego
      limit - ograniczenie liczby wyników
      sortBy - po jakim parametrze sortujemy
      sortDirection - kierunek sortowania
      onlyActive - czy tylko aktywne
      Returns:
      lista zastępstw
    • getSubstitutionsForSubstituted

      List<Substitution> getSubstitutionsForSubstituted(String userName)
      Metoda pobiera wszystkie aktywne zastępstwa na podstawie użytkownika, który jest osobą zastępowaną. Aktywne zastępstwa to takie, które obowiązują w momencie wyszukiwania. Uwzględniane są włącznie data rozpoczęcia i zakończenia zastępstwa.
      Parameters:
      userName - Login użytkownika, który jest zastępowany.
      Returns:
      Lista zastępstw.
    • getSubstitutionsForSubstitute

      List<Substitution> getSubstitutionsForSubstitute(String userName)
      Metoda pobiera wszystkie aktywne zastępstwa na podstawie użytkownika, który jest zastępcą. Aktywne zastępstwa to takie, które obowiązują w momencie wyszukiwania. Uwzględniane są włącznie data rozpoczęcia i zakończenia zastępstwa.
      Parameters:
      userName - Login użytkownika, który jest zastępcą.
      Returns:
      Lista zastępstw.
    • getRecursiveSubstitutionsForSubstitute

      List<Substitution> getRecursiveSubstitutionsForSubstitute(String userName)
      Metoda pobiera wszystkie aktywne zastępstwa na podstawie użytkownika, który jest zastępcą. Metoda działa w sposób rekurencyjny, więc wyszukuje wszystkich zastępowanych (bez powtórzeń) aż do ostatniego poziomu. Aktywne zastępstwa to takie, które obowiązują w momencie wyszukiwania. Uwzględniane są włącznie data rozpoczęcia i zakończenia zastępstwa.
      Parameters:
      userName - Login użytkownika, który jest zastępcą.
      Returns:
      Lista zastępstw.
    • getSubstituteUsers

      List<User> getSubstituteUsers(String userName)
      Metoda pobiera zastępców dla podanego użytkownika uwzględniając aktywne zastępstwa. Metoda działa w sposób rekurencyjny, więc wyszukuje wszystkich zastępców (bez powtórzeń) aż do ostatniego poziomu. Aktywne zastępstwa to takie, które obowiązują w momencie wyszukiwania. Uwzględniane są włącznie data rozpoczęcia i zakończenia zastępstwa.
      Parameters:
      userName - Login użytkownika, dla którego mają być pobrani zastępcy.
      Returns:
      Lista użytkowników.
    • getSubstituteUsersForProcess

      List<User> getSubstituteUsersForProcess(String userName, String processId)
      Metoda pobiera zastępców dla podanego użytkownika i z konkretnej instancji procesu uwzględniając aktywne zastępstwa. Jeżeli instancja procesu jest podprocesem, to najpierw zostanie wyszukany proces nadrzędny i tylko dla niego będą wyszukiwane zastępstwa. Metoda działa w sposób rekurencyjny, więc wyszukuje wszystkich zastępców (bez powtórzeń) aż do ostatniego poziomu. Aktywne zastępstwa to takie, które obowiązują w momencie wyszukiwania. Uwzględniane są włącznie data rozpoczęcia i zakończenia zastępstwa.
      Parameters:
      userName - Login użytkownika, dla którego mają być pobrani zastępcy.
      processId - Id instancji procesu, dla którego mają być pobrani zastępcy.
      Returns:
      Lista użytkowników.
    • getSubstituteUsersForProcess

      List<User> getSubstituteUsersForProcess(String userName, String processId, Role role)
      Metoda pobiera zastępców dla podanego użytkownika, z konkretnej instancji procesu i o podanej roli uwzględniając aktywne zastępstwa. Jeżeli instancja procesu jest podprocesem, to najpierw zostanie wyszukany proces nadrzędny i tylko dla niego będą wyszukiwane zastępstwa. Metoda działa w sposób rekurencyjny, więc wyszukuje wszystkich zastępców (bez powtórzeń) aż do ostatniego poziomu. Aktywne zastępstwa to takie, które obowiązują w momencie wyszukiwania. Uwzględniane są włącznie data rozpoczęcia i zakończenia zastępstwa.
      Parameters:
      userName - Login użytkownika, dla którego mają być pobrani zastępcy.
      processId - Id instancji procesu, dla którego mają być pobrani zastępcy.
      role - Rola, dla której mają być pobrani zastępcy.
      Returns:
      Lista użytkowników.
    • getSubstituteUsersForProcessType

      List<User> getSubstituteUsersForProcessType(String userName, String processDefId)
      Metoda pobiera zastępców dla podanego użytkownika i z konkretnego typu procesu uwzględniając aktywne zastępstwa. Nie są uwzględniane podprocesy. Metoda działa w sposób rekurencyjny, więc wyszukuje wszystkich zastępców (bez powtórzeń) aż do ostatniego poziomu. Aktywne zastępstwa to takie, które obowiązują w momencie wyszukiwania. Uwzględniane są włącznie data rozpoczęcia i zakończenia zastępstwa.
      Parameters:
      userName - Login użytkownika, dla którego mają być pobrani zastępcy.
      processDefId - Id definicji procesu, dla którego mają być pobrani zastępcy.
      Returns:
      Lista użytkowników.
    • getSubstituteUsersForProcessType

      List<User> getSubstituteUsersForProcessType(String userName, String processDefId, Role role)
      Metoda pobiera zastępców dla podanego użytkownika, z konkretnego typu procesu i o podanej roli uwzględniając aktywne zastępstwa. Nie są uwzględniane podprocesy. Metoda działa w sposób rekurencyjny, więc wyszukuje wszystkich zastępców (bez powtórzeń) aż do ostatniego poziomu. Aktywne zastępstwa to takie, które obowiązują w momencie wyszukiwania. Uwzględniane są włącznie data rozpoczęcia i zakończenia zastępstwa.
      Parameters:
      userName - Login użytkownika, dla którego mają być pobrani zastępcy.
      processDefId - Id definicji procesu, dla którego mają być pobrani zastępcy.
      role - Rola, dla której mają być pobrani zastępcy.
      Returns:
      Lista użytkowników.
    • isSubstitutionOverlapping

      boolean isSubstitutionOverlapping(Substitution substitution)
      Metoda sprawdza, czy zdefiniowane zastępstwo nachodzi na istniejące już zastępstwo.
      Parameters:
      substitution - Definicja zastępstwa.
      Returns:
      true - jeżeli zastępstwo nachodzi na inne już istniejące zastępstwo, false - w przeciwnym przypadku.
    • transferSubstitute

      void transferSubstitute(String sourceUserName, String targetUserName)
      Przekazuje wszystkie przyszłe zastępstwa, w których sourceUserName jest zastępcą na targetUserName. W przypadku zastępstwa aktywnego jest ono rozbijane na zastępstwo przeszłe oraz na zastępstwo przyszłe. Zastępstwo przeszłe ma ustawianą datę końcową na aktualną datę, a zastępstwo przyszłe ma ustawianą datę początkową na aktualną datę oraz zastępcą zostaje targetUserName. Podczas przepisywania zastępstw nie jest uwzględniana walidacja nachodzenia na siebie zastępstw.
      Parameters:
      sourceUserName - Obecny zastępca.
      targetUserName - Docelowy zastępca.