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
Zadanie | Starzy Użytkownicy | Rodzaj przypisania | Wartość Przypisania | Przepisane na |
---|---|---|---|---|
ZadanieA | Admin | Użytkownik | Admin | Admin [Pomija przepisanie] |
ZadanieB | Admin,User1, User2 | Użytkownik | Admin | Admin |
ZadanieC | User1, User2 | Użytkownik | Admin | Admin |
ZadanieD | Admin, User1 | Użytkownik | Admin2 [Użytkownik nie istnieje] | Admin, User [Pomija przepisanie] |
ZadanieE | Admin, User1 | Symbol Stanowiska | Stanowisko1 [Użytkownik User2] | User2 |
ZadanieF | User2 | Symbol Stanowiska | Stanowisko1 [Użytkownik User2] | User2 [Pomija przepisanie] |
ZadanieG | Admin, User1 | Symbol Stanowiska | Stanowisko1 [Brak użytkownika] | Admin, User1 [Pomija przepisanie] |
ZadanieH | Admin, User1 | Symbol Stanowiska | Stanowisko666 [Nie istnieję] | Admin, User1 [Pomija przepisanie] |
ZadanieI | Admin | Przełożony | [Admin nie ma przełożonego ] | Admin [Pomija przepisanie] |
ZadanieJ | User1 | Przełożony | [Admin jest przełożonym] | Admin |
ZadanieK | User2 | Przełożony | [User1, Admin - przełożeni] | User1, Admin |
ZadanieL | User1,User3 | Przełożony | [User1 ma przełożonego Admin User3 ma przełożonego User2] | Admin,User2 |
ZadanieM | User1,User3,User2 | Przełożony | [User1 ma przełożonego Admin, User3 ma przełożonego User2, User2 ma przełożonego User1,Admin] | Admin,User1,User2 |
ZadanieN | User1, User2, User3 | Przeł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.
Zadanie | Starzy Użytkownicy | Rodzaj przypisania | Wartość Przypisania | Przepisane na |
---|---|---|---|---|
ZadanieA | User1 | Użytkownik | User1 | User1, User2 (wz. User1) User3 (wz. User1) |
ZadanieB | User2 | Użytkownik | User1 | User2, User1, User3 (wz. User1) |
ZadanieC | User3 | Użytkownik | User1 | User3, User1, User2 (wz. User1) |
ZadanieD | Inny | Użytkownik | User1 | User1, User2 (wz. User1) User3 (wz. User1) |
Status Projektu
- MODPLWRKFL-399Getting issue details... STATUS
Modyfikacja rozszerzenia - MODPLWRKFL-403Getting issue details... STATUS
W tym zadaniu zostały zastosowane kilka modyfikacji i rozszerzeń.
- Znika ze strony konfiguracyjnej ilość pokazywanych wierszy w tabeli, zamiast tego brana jest informacja z konfiguracji użytkownika systemowego.
- 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)
- 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
- 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 "*"
- 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.
- 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.
- 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.
Add Comment