Skip to end of metadata
Go to start of metadata

Nazwa wtyczki Data utworzenia Data ostatniej aktualizacji Link do instalki Krótki opis Dział utrzymujący Dokumentacja dla klienta Typ licencji Typ wtyczki Id wtyczki
Plus DeadlineForward 2018-10-19 2024-11-12 Link Moduł służy do automatycznego przepisania zadań na innych użytkowników po określonym czasie. Dev CUF Płatna Wtyczka com.suncode.plugin-autotasktransfer


Opis:

Moduł służy do automatycznego przepisania zadań na innych użytkowników po określonym czasie.

Po wgraniu modułu pojawi się nowa zakładka "Automatyczne przepisywania zadań" w Administracja > Konfiguracja systemu. W zakładce tej można skonfigurować jaki typ zadania (nazwa procesu i nazwa zadania) ma być przepisane.

Ustala się jak długo dany typ zadania pozostaje u danej osoby, określa się to za pomocą parametru termin. Wartość ta to ilość dni zwłoki. Można ustawić na 0 (natychmiast) lub na konkretną liczbę dni. Można też wybrać czy ma pomijać dni wolne . Przy zaznaczeniu opcji na tak, uwzględniane też są dni wolne wpisane w parametrach systemu.

Rodzaj przypisania określa do kogo ma zostać przepisane zadanie. Wartości to: Użytkownik, Symbol Stanowiska, Przełożony. Wartość przypisania jest uzależnione od wyboru rodzaju przepisania.

Tabele można sortować oraz wyszukiwać, operacje na wierszu to edycja danych oraz możliwość usunięcia wpisu.  Aby uruchomić moduł należy dodać specjalne zadanie zaplanowane "Uruchamia moduł automatycznego przenoszenia zadań" i ustawić cykliczny czas aktywacji.

Ograniczenia

Górnym ograniczeniem jest to że dla danego procesu i zadania może być tylko jeden wpis (jedna konfiguracja). To znaczy, że nie da się np ustawić dla takiego samego zadania przepisanie do przełożonego po 3 dniach i do konkretnej osoby po 2 dniach

Info

Moduł ten przenosi zadania, nie usuwa ich. Dane wstępnie wypełnione i zapisane na formularzu, pozostaną po przepisaniu zadania u nowego użytkownika.


Widok konfiguracji

Dodawanie nowej konfiguracji

 

W celu dodania nowego wpisu należy wcisnąć przycisk "Nowa definicja".

 

Pojawi się okno z konfiguracją:

Należy wybrać Nazwę procesu oraz Zadanie należące do tego procesu.

Termin – Ilość dni po których zadanie zostanie przepisane (liczone od daty utworzenia zadania lub od daty ostatniego przypisania). Jeżeli mamy ustawioną wartość 0, to zadania będą przepisywane zawsze po uruchomieniu zadania zaplanowanego.

Pominięcie dni wolnych: 

  •  NIE - uwzględnia również dni wolne
  • TAK - przy obliczaniu uwzględnia tylko dni robocze (dni wolne nie są liczone do terminu)

Rodzaj przypisania:

Użytkownik

Symbol stanowiska

Przełożony

Wartość przypisania:

[Użytkownik w systemie]

[Symbol]

-


 

Uruchomienie modułu

Należy dodać nowe zadanie zaplanowane w Administracja > Konfiguracja systemu > Zadania zaplanowane.

Można użyć wyszukiwarki i znaleźć zadanie "Uruchamia moduł automatycznego przenoszenia zadań" lub wpisać w "Nazwa klasy" ścieżkę: "com.suncode.plugin.autotasktransfer.scheluedtasks.RunAutoTaskTransfer" i wybrać metodę. Następnie wystarczy określić "Okres powtórzeń" oraz ustawić jako "Zadanie aktywne".

Informacje o Bazie danych

Po wgraniu modułu do systemu zostaną utworzone dodatkowo 2 tabele: att_definition i att_lasttransfer.

Pierwsza służy do zapisywania konfiguracji (przechowuję acctivityDefId oraz processDefId zamiast nazw które są wyświetlane na stronie konfiguracyjnej modułu )

Druga tabela służy przechowywania informacji o ostatnim przepisaniu zadania. Informacja ta jest ważna ze względu na to żeby drugi raz zadanie nie zostało przepisane, oraz po to że jak nadal przekroczy termin żeby przepisało dalej np do kolejnego przełożonego. Data jest zapisywana w formacie liczbowym Timestamp ( w milisekundach)

Opis zachowania modułu

Kilka uwag co do zachowania się modułu


1.Formularz:

Przed zapisem sprawdza się , czy wymagane pola ("Nazwa procesu", "Zadanie", "Wartość przypisania")  są uzupełnione. Z tym, że dla typu "Przełożony"  pole "Wartość przypisania" pozostaje puste i zablokowane.

2.Zadanie zaplanowane

Zadanie zaplanowane wczytuje cała tabele konfiguracyjną ("att_definition") i dla każdego wpisu (wiersza) pobiera pasujące zadania. Wyszukuję wszystkie zadania, które mają ten sam processDefId, activityDefId, termin jest przekroczony (czyli minęło X dni od utworzenia zadania lub od ostatniego przepisania zadania) oraz status zdania jest otwarty (oczekuje na uruchomienie, uruchomiony lub otwarte). 

Następnie zadanie pobiera listę osób u których jest aktualnie zadanie i będzie je przepisywać do osoby wedle ustawień.  Po przepisaniu zapisuje informacje do tabeli "att_lasttransfer" z aktualną datą, aby zadanie nie zostało znowu przepisane. Zadania nie będą przepisane gdy nowy użytkownik jest ten sam co stary użytkownik, gdy użytkownik nie ma żadnego przełożonego, użytkownik nie istnieję, nie ma stanowiska lub nie ma przepisanej osoby do stanowiska. W takim przypadku data w  tabeli "att_lasttransfer" zostanie zaktualizowana i poleci stosowna informacje w logach.  W momencie wystąpienia błędu podczas przepisywania zadania  poleci błąd w logach, zadanie się nie wywali, ale data w tabeli "att_lasttransfer" nie zostanie zaktualizowana, dzięki czemu podczas kolejnego sprawdzania zadanie znowu będzie brane pod uwagę.

Kilka przykładów

ZadanieStarzy UżytkownicyRodzaj przypisaniaWartość PrzypisaniaPrzepisane na
ZadanieAAdminUżytkownikAdminAdmin [Pomija przepisanie]
ZadanieBAdmin,User1, User2UżytkownikAdminAdmin
ZadanieCUser1, User2UżytkownikAdminAdmin
ZadanieDAdmin, User1UżytkownikAdmin2 [Użytkownik nie istnieje]Admin, User [Pomija przepisanie]
ZadanieEAdmin, User1Symbol StanowiskaStanowisko1 [Użytkownik User2]User2
ZadanieFUser2Symbol Stanowiska Stanowisko1 [Użytkownik User2]User2 [Pomija przepisanie]
ZadanieGAdmin, User1Symbol Stanowiska Stanowisko1 [Brak użytkownika]Admin, User1 [Pomija przepisanie]
ZadanieHAdmin, User1Symbol Stanowiska Stanowisko666 [Nie istnieję]Admin, User1 [Pomija przepisanie]
ZadanieIAdminPrzełożony

[Admin nie ma przełożonego ]

Admin [Pomija przepisanie]
ZadanieJUser1Przełożony

[Admin jest przełożonym]

Admin
ZadanieKUser2Przełożony

[User1, Admin - przełożeni]

User1, Admin
ZadanieLUser1,User3Przełożony

[User1 ma przełożonego Admin

User3 ma przełożonego User2]

Admin,User2
ZadanieMUser1,User3,User2Przełożony

[User1 ma przełożonego Admin,

User3 ma przełożonego User2,

User2 ma przełożonego User1,Admin]

Admin,User1,User2

ZadanieNUser1, User2, User3Przełożony

[User1 ma przełożonego Superior1,Superior2,

User3 ma przełożonego Superior3]

Superior1, Superior2,

User2, Superior3

Przykłady dla zastępstw

User2 oraz User3 zastępują User1

Uwaga

W przypadku gdy zadanie należy już do jednego z zastępców, to nie zostanie ponownie do niego przepisane.

ZadanieStarzy UżytkownicyRodzaj przypisaniaWartość PrzypisaniaPrzepisane na

ZadanieA

User1UżytkownikUser1User1,

User2 (wz. User1)

User3 (wz. User1)

ZadanieBUser2UżytkownikUser1

User2,

User1,

User3 (wz. User1)

ZadanieCUser3UżytkownikUser1

User3,

User1,

User2 (wz. User1)

ZadanieDInnyUżytkownikUser1

User1,

User2 (wz. User1)

User3 (wz. User1)

 


Status Projektu

MODPLWRKFL-399 - Getting issue details... STATUS

 

 

Modyfikacja rozszerzenia  MODPLWRKFL-403 - Getting issue details... STATUS

W tym zadaniu zostały zastosowane kilka modyfikacji i rozszerzeń.

  1. Znika ze strony konfiguracyjnej ilość pokazywanych wierszy w  tabeli, zamiast tego brana jest informacja z konfiguracji użytkownika systemowego.
  2. Na stronie konfiguracyjnej w kolumnie "Wartość przypisania" teraz będzie pojawiać się imię i nazwisko dla użytkownika (jeżeli użytkownik nie posiada wpisanych danych w systemie to wyświetli się login)
  3. Po udanym przepisaniu zadania do innej osoby, dodaję się automatycznie komentarz do procesu z informacją od jakich osób zostało przepisane zadania na jakie osoby
  4. Dołożono opcje "Wszystkie procesy", "Wszystkie zadania" w polach odpowiednio "Nazwa procesu", "Zadanie". Opcja ta pozwala na wybranie wszystkich zadań  z aktualnego procesu lub ze wszystkich procesów (brane są pod uwagę tylko najnowsze pakiety). W bazie zapisuje się jako "*"
  5. Do pola "Rodzaj przypisania" doszła nowa opcja Zastępca. Opcja ta pozwala przepisać zadanie do zastępców poszczególnych zadań, ale tylko gdy dana osoba ma zastępstwo w dniu przypisania zadania.  
  6. Rozszerzeni walidacji formularza. Formularz ten wymaga aby wszystkie pola były uzupełnione (oprócz wartości przypisania gdy rodzaj przypisania jest "Przełożony" lub "Zastępca"). Termin nie może mieć wartości ujemnych.
  7. Kolejność wykonywania konfiguracji od szczegóły do ogółu. Najpierw wykonają się definicje z podanymi procesami i zadaniami, potem konkretny proces, dowolne zadanie. Na końcu dowolny proces i dowolne zadanie.



  • No labels
Write a comment…