Harmonogramy - Konfiguracja zdarzeń harmonogramów
Wstęp
System AMAGE ma wbudowany zestaw predefiniowanych zadań, które jeżeli przygotowano dla nich konfigurację, mogą być okresowo uruchamiane. W tym artykule zostało opisane ich działanie i konfiguracja. Scheduler używa wewnętrznie biblioteki Quartz oraz harmonogramowania w stylu CRON, który został opisany w dokumentacji tejże biblioteki:
W artykule tym są podane konkretne przykłady harmonogramu dla konkretnych zadań, natomiast bez objaśnienia sposobu zapisu i znaczenia poszczególnych pól.
Krótka instrukcja obsługi ustawień czasu CRON
Potrzebne w naszym przypadku wartości to
Kolejność: 0 0 0 0 0 0
Przykłady:
-
0 0/5 * * * ?
Generowanie co 5 minut -
* 0/5 * * * ?
Generowanie co 5 minut w każdej sekundzie piątej minuty -
0 0 14 * * ?
Generowanie o 14 każdego dnia -
0 15 6,14,22 * * ?
Generowanie każdego dnia o 6:15, 14:15, 22:15 -
0 0 */4 * * ?
Generowanie co 6 godzin -
0 0 22 * * ?
Generowanie o godz. 22 codziennie -
0 0 6 ? * MON
Generowanie w każdy poniedziałek o 6 rano
W systemie dostępny jest dekoder CRON, który pozwala na sprawdzenie, czy podany harmonogram jest poprawny i w sposób opisowy przedstawi jego treść. W przypadku błędu zostanie wyświetlony komunikat o błędzie.
Konfiguracja zadań
Definicja konfiguracji - aplikacja AMAGE Web
Od wersji 1.12.3.32 aplikacji AMAGE Web ma możliwość samodzielnego uruchamiania schedulerów. Schedulery definiowane są w sekcji konfiguracyjnej systemu. Interfejs użytkownika pozwala na definicję zadań i restart mechanizmu synchronizacji. Definicja w tym interfejsie bazuje na takim samym mechanizmie konfiguracji i jest kompatybilna.
Definicja konfiguracji dla aplikacji AMAGE Web i jej interfejs użytkownika zostały opisane w instrukcji użytkownika tego systemu. |
System AMAGE w sekcji konfiguracyjnej przedstawia informacje dotyczące wszystkich schedulerów, które zostały utworzone w systemie. Każdy moduł funkcjonalny posiada swój widok tych schedulerów, które dotyczą tylko tego modułu. |
Zawartość konfiguracji
Dane konfiguracyjne to standardowa konfiguracja typu properties używany przez aplikacje Java. Konfiguracje poszczególnych typów zadań zostały opisane niżej.
Konfiguracja ogólna pozwala włączyć scheduler, określić okres uruchamiania (semantyka CRON), ustawić aktywność zadania i przetwarzanie współbieżne (równoległe).
Dla aplikacji AMAGE Web ww. opcje konfiguracyjne, nawet jeśli znajdą się w danych konfiguracyjnych, są ignorowane. Definiuje się je w osobnym interfejsie użytkownika. |
Zadania uruchamiane współbieżne i kolejkowanie
Domyślnie aplikacja po włączeniu zadania wykonuje go w sposób kolejkowy. Tzn. jeśli zadanie ustawimy jako uruchamiane co 1 minutę oraz jego wykonanie będzie trwało 3 minuty, to następne uruchomienie zostanie włączone, dopiero gdy pierwsze zadanie zostanie ukończone.
Paragraf dotyczy tylko jednego zadania tj. jednej instancji pliku, który został skonfigurowany. Zadania o innej nazwie uruchamiane są równolegle. |
Aby instancje tego samego zadania uruchamiały się równolegle tj. w przypadku jw. co 1 minutę będzie uruchamiana osobna instancja tego zdania, należy w konfiguracji zadania włączyć opcję zadania współbieżnego.
Dostępne zadania
Elementy komunikacyjne - Communication
aggregators-device-no-response-check: brak komunikacji z urządzeniem obsługiwanym przez agregator
Automat po włączeniu sprawdza ostatnie czasy komunikacji aktywnych urządzeń, KTÓRYCH dane pobiera aplikacja typu PVD Aggregator. W trakcie przesyłania statusów komunikacyjnych z poszczególnymi urządzeniami np. licznikami na magistrali komunikacyjnej, falownikami, urządzeniami z protokołem MODBUS aplikacja PVD przesyła również czas ostatniej poprawnej komunikacji z tym urządzeniem.
Tylko jeden parametr konfiguracyjny dla tego automatu. Za pomocą failureThreshold
podanego w sekundach możemy podać punkt alertu. Jeśli komunikacja z którymkolwiek aktywnym urządzeniem w dowolnym agregatorze nastąpiła wcześniej niż X sekund od teraz, to zostanie wygenerowany alert typu SCHEDULED dla systemu zarządzania zdarzeniami (Events). W nim istnieje możliwość zdefiniowania reakcji na ten komunikat (wysłanie powiadomienia, maila, sms).
config.failureThreshold = 3600
Odnieś się do dokumentacji modułu Events /Zdarzenia w celu sprawdzenia jak można zapisać się, zasubskrybować na dane wydarzenie i w jaki sposób ustawić reakcję na to zdarzenie.
|
aggregators-failure-check: nowe zdarzenie systemowe, gdy agregator nie odpowiada
Automat po włączeniu sprawdza ostatnie czasy komunikacji aktywnych urządzeń typu PVD Aggregator. Każde z tych urządzeń wysyła do centralnego systemu tzw. heartbeat
czyli potwierdzenie, że działa i komunikacja jest poprawna. Na podstawie tych informacji system potrafi sprawdzić i wygenerować ostrzeżenie dla wybranych użytkowników w przypadku, gdy czas ostatniej komunikacji z aktywnymi agregatorami jest większy niż parametr konfiguracyjny.
Tylko jeden parametr konfiguracyjny dla tego automatu. Za pomocą failureThreshold
podanego w sekundach możemy podać punkt alertu. Jeśli komunikacja z którymkolwiek aktywnym agregatorem nastąpiła wcześniej niż X sekund od teraz, to zostanie wygenerowany alert typu SCHEDULED dla systemu zarządzania zdarzeniami (Events). W nim istnieje możliwość zdefiniowania reakcji na ten komunikat (wysłanie powiadomienia, maila, smsa).
config.failureThreshold = 3600
api-key-no-communication-check
Automat sprawdzający czasy ostatniej komunikacji poprzez interfejs API. Czasami może nam zależeć na wiedzy, czy zewnętrzny system przesyła dane w sposób ciągły do systemu AMAGE. W przypadku każdej transmisji zapisywana jest w bazie danych ostatnia data/czas wykonania takiej komunikacji dla danego klucza API.
Za pomocą tego automatu, możemy wygenerować zdarzenie typu email alertujące, że dany klucz API nie był wykorzystywany w ostatnich X sekundach. Za pomocą parametru deviceFailureThreshold
definiujemy czas od ostatniej komunikacji, apiAccessKeyUuid
podajemy klucz, który chcemy monitorować, za pomocą tagów language
, emails
, email_topic
, email_content
możemy określić adresatów email’a, tytuł oraz treść wiadomości.
config.deviceFailureThreshold = 3600 config.apiAccessKeyUuid = <uuid> config.language = pl config.emails = <email1> <email2> config.email_topic = title %date% %apiaccess_uuid% %point_of_failure_date% config.email_content = email content title %date% %apiaccess_uuid% %point_of_failure_date%
Integracje zewnętrzne
gs-software-weighting-integration - Integracja ważeń z systemu wagowego GS Software
Dostępność: AMAGE Web
Integracja z systemem wagowym GS Software. Pozwala pobrać informacje o ważeniach w systemie GS Software oraz wpisać do odpowiednich parametrów produkcyjnych systemu. Konfiguracja danych dostępowych realizujemy przez zmienne db_url, db_login, db_password. Włączenie pobierania danych o poszczególnych ważeniach ustawiamy za pomocą opcji fetch_car_weight. Ważenie z chwytaków realizowane za pomocą osobnego interfejsu włączamy poprzez opcję fetch_grapple_weight i należy określić kod parametru produkcyjnego, do którego zostanie wpisana wartość poprzez fetch_grapple_item_code. Ignorowane kody z systemu GS Software można wpisać do zmiennej ignored_codes. Dane te nie będą przepisywane do systemu. Automat domyślnie analizuje aktualny miesiąc i pobiera dane od początku aktualnego miesiąca do dnia wykonania operacji. Można ten okres rozszerzyć poprzez określenie liczby miesięcy wstecz, które system ma analizować poprzez zmienną month_before_count.
config.db_url = jdbc:firebirdsql://192.168.100.100:3050/GSW config.db_login = amage config.db_password = amage config.fetch_car_weight = true|false config.fetch_grapple_weight = true|false config.fetch_grapple_item_code = <kod parametru produkcyjnego> config.ignored_codes = <code1>, <code2>, <code3> config.month_before_count = 0
Aby system poprawnie działał, każdy pomiar ważenia parowany jest z odpowiednim parametrem produkcyjnym poprzez właściwość kod w parametrze produkcyjnym. Jeśli zostanie znaleziony unikalny parametr o takim kodzie, to do niego do historii zostaną zapisane dane pomiaru. |
xpertis-invoices-integration
config.db_alias = xpertis config.db_login = amage config.db_password = amage config.send_controlling_data = true|false config.controlling_account_material_categories = <category1>, <category2> config.controlling_account_services_categories = <category1>, <category2> config.send_workorder_data = true|false config.workorder_investment_number_pattern = /I/ config.workorder_repair_number_pattern = /R/ config.receive_invoices = true|false config.receive_invoices_months = 2
xpertis-orders-integration
config.db_alias = xpertis config.db_login = amage config.db_password = amage config.receive_orders = true|false config.type_category = xpertis
xpertis-service-events-integration - Integracja zdarzeń serwisowych z systemem Xpertis
Integracja z systemem Xpertis. Dane bazy danych pozwalają na dostęp ODBC do systemu Xpertis. Osobno należy skonfigurować połączenie ODBC do systemu z takim aliasem połączenia. Dodatkowo określamy UUID stanu zdarzeń serwisowych (finished_state_uuid), który traktowany jest jako stan, w którym dane zdarzenie powinno zniknąć z systemu Xpertis (controling kosztów). W celu powiązania kosztów magazynu oraz faktur w systemie Xpertis podajemy UUID usług, które traktowane są jako koszty magazynowe oraz koszty zewnętrzne faktur (service_item_warehouse_type_uuid, oraz service_item_invoice_type_uuid). Dla kosztów magazynowych usługa musi być najpierw utworzona w AMAGE i mieć wpisany numer dokumentu taki jak w systemie Xpertis. Scheduler automatycznie zaktualizuje koszty danego dokumentu. W przypadku faktur scheduler UTWORZY nowe wpisy w danym zdarzeniu serwisowym z kosztami faktur, które zostały zadekretowane do danego zdarzenia serwisowego.
config.db_alias = xpertis config.db_login = amage config.db_password = amage config.finished_state_uuid = <UUID> config.service_item_warehouse_type_uuid = <UUID> config.service_item_invoice_type_uuid = <UUID>
Aby poprawnie uruchomić integrację, należy posiadać odpowiednio skonfigurowane źródło ODBC na serwerze systemowym oraz posiadać biblioteki sterownika mjdbc w ścieżce bibliotek (classpath) tj. mjdbclib.jar, oraz mjdbc.jar |
Dostawy
complaint-email-sender - wysyłanie email z treścią reklamacji do dostawcy
Zadanie wysyła email z wygenerowanym raportem PDF reklamacji do dostawcy powiązanego przez zamówienie z daną reklamacją. Zadanie jest aktywowane dla danej reklamacji, jeśli jej stan jest określony parametrem complaint_begin_state_name. Adres email pobierany jest z danych kontrahenta jako główny email firmy. Dodatkowe adresy email podajemy w zmiennej config.emails. Po wysłaniu email’a zmienia stan reklamacji na podany w parametrze complaint_end_state_name. Raport generowany jest w locale podanym w parametrze language. Tytuł i treść emaila zostają określone w parametrach email_topic, email_content. Można wykorzystać też parametr email_portal_url, do którego zostanie skierowany dostawca, aby skomentować reklamację. W nim można wykorzystać pole %token% do określenia tokenu identyfikującego reklamację.
config.complaint_begin_state_name = CREATED|READY|SENT|IN_PROGRESS|VALID|INVALID|CLOSED config.complaint_end_state_name = CREATED|READY|SENT|IN_PROGRESS|VALID|INVALID|CLOSED config.language = pl config.emails = <email1> <email2> config.email_topic = title %date% %complaint_number% %contract% %contract_scope% %work_order% %days_to_resolve% config.email_content = email content %date% %complaint_number% %contract% %contract_scope% %work_order% %days_to_resolve% %portal_url% config.email_portal_url = https://amage.website.com/context/supplier#!supplier-login/token=%token%
delivery-email-sender - wysyłanie email z treścią dostawy do dostawcy
Zadanie wysyła email z wygenerowanym raportem PDF dostrawy/zwrotu do dostawcy powiązanego z daną dostawą. Zadanie jest aktywowane dla danej dostawy, jeśli jego stan jest określony parametrem delivery_begin_state_name oraz dostawa jest typu delivery_type. Email wysyłany jest, tylko jeśli dany kontrahent ma oznaczoną flagę "wysyłaj automatycznie zamówienia email’em" w definicji kontrahenta dla kontraktu. Adres email pobierany jest z danych kontrahenta jako główny email firmy. Po wysłaniu email’a zmieniany jest stan dostawy na podany w parametrze delivery_end_state_name. Dokument dostawy generowany jest, tylko jeśli ustawiona jest flaga send_document (domyślnie wyłączony). Raport generowany jest w locale podanym w parametrze language. Tytuł i treść emaila zostają określone w parametrach email_topic, email_content. Dodatkowe adresy email podajemy w config.emails.
Można wykorzystać też parametr email_portal_url, do którego zostanie skierowany dostawca, aby potwierdzić zamówienie. W nim można wykorzystać pole %token% do określenia tokenu identyfikującego zamówienie.
W przypadku, gdy dostawa posiada przypisane zlecenie pracy i to zlecenie posiada określoną lokalizację z punktem ma mapie, to można wykorzystać opcje w formaterze: %location_url% oraz %placeofwork_url%, które będą zawierać link do strony z lokalizacją na mapie. Aby to umożliwić pojawia się parametr konfiguracyjny config.email_location_url, w którym podaje się link do strony z geolokalizacją. Wykorzystujemy tam szablony %lat% oraz %lon% do wskazania szerokości i długości geograficznej w formie cyfrowej np. 23.4234.
config.delivery_begin_state_name = LOADING_ON_SITE|IN_TRANSIT|TO_APPROVE|DELIVERED|REMARKS config.delivery_end_state_name = LOADING_ON_SITE|IN_TRANSIT|TO_APPROVE|DELIVERED|REMARKS config.delivery_type = DELIVERY|RETURN|RENT_DELIVERY|RENT_RETURN config.language = pl config.send_document = TRUE|FALSE config.emails = <email1> <email2> config.email_topic = title %date% %delivery_number% %order_number% %contract% %contract_scope% %work_order% config.email_content = email content %date% %delivery_number% %order_number% %contract% %contract_scope% %work_order% %portal_url% %location_url% %placeofwork_url% config.email_portal_url = https://amage.website.com/context/supplier#!supplier-login/token=%token% config.email_location_url = https://www.google.com/maps/search/?api=1&query=%lat%,%lon%
order-email-sender - wysyłanie email z treścią zamówienia do dostawcy
Zadanie wysyła email z wygenerowanym raportem PDF zamówienia do dostawcy powiązanego z danym zamówieniem. Zadanie jest aktywowane dla danego zamówienia, jeśli jego stan jest określony parametrem order_begin_state_name. Email wysyłany jest tylko jeśli dany kontrahent ma oznaczoną flagę "wysyłaj automatycznie zamówienia emailem" w definicji kontrahenta dla kontraktu. Adres email pobierany jest z danych kontrahenta jako główny email firmy. Po wysłaniu email’a zmienia stan zamówienia na podany w parametrze order_end_state_name. Raport generowany jest w locale podanym w parametrze language. Tytuł i treść emaila zostają określone w parametrach email_topic, email_content. Dodatkowe adresy email podajemy w config.emails.
Można wykorzystać też parametr email_portal_url, do którego zostanie skierowany dostawca aby potwierdzić zamówienie. W nim można wykorzystać pole %token% do określenia tokenu identyfikującego zamówienie.
W przypadku, gdy zamówienie posiada przypisane zlecenie pracy i to zlecenie posiada określoną lokalizację z punktem ma mapie, to można wykorzystać opcje w formaterze: %location_url% oraz %placeofwork_url%, które będą zawierać link do strony z lokalizacją na mapie. Aby to umożliwić pojawia się parametr konfiguracyjny config.email_location_url, w którym podaje się link do strony z geolokalizacją. Wykorzystujemy tam szablony %lat% oraz %lon% do wskazania szerokości i długości geograficznej w formie cyfrowej np. 23.4234.
config.order_begin_state_name = CREATED|READY|ACCEPTED|ORDERED|CONFIRMED|IN_TRANSIT|DELIVERED|CLOSED|REJECTED config.order_end_state_name = CREATED|READY|ACCEPTED|ORDERED|CONFIRMED|IN_TRANSIT|DELIVERED|CLOSED|REJECTED config.language = pl config.emails = <email1> <email2> config.email_topic = title %date% %order_number% %contract% %contract_scope% %work_order% config.email_content = email content %date% %order_number% %contract% %contract_scope% %work_order% %portal_url% %location_url% %placeofwork_url% config.email_portal_url = https://amage.website.com/context/supplier#!supplier-login/token=%token% config.email_location_url = https://www.google.com/maps/search/?api=1&query=%lat%,%lon%
Pracownicy
attendance-generator
Automat generujący rozliczenie obecności pracownika. Wykorzystuje rejestracje obecności (wejścia/wyjścia) do wyliczenia czasu obecności. Rejestracje obecności można wykonać za pomocą wbudowanej aplikacji mobilnej do rejestracji obecności za pomocą kart zbliżeniowych na telefonie z systemem Android. Dane te też mogą pochodzić z zewnętrznego systemu RCP/KD jako odczyty rejestracji wejścia/wyjścia.
Konfiguracja automatu pozwala na definicję okresu czasu dla którego wykonywane są obliczenia, czy jest to też ten miesiąc czy poprzedni miesiąc kalendarzowy. Za pomocą parametru language
definiujemy treść komunikatów zapisywanych w systemie po wykonaniu poprawnym/niepoprawnym obliczeń danych.
config.daysFrom = -7 config.daysTo = -14 config.thisMonth = true | false config.lastMonth = true | false config.language = pl | en
Szczegółowe informacje o wygenerowanych danych znajdują się w logu zdarzeń dla modułu automatów (schedulerów).
employee-schedule-generator - generowanie harmonogramu pracownika
Generowanie harmonogramu dla pracowników na określoną liczbę miesięcy. Pozwala automatycznie uzupełniać generowanie nowego (na kolejny) miesiąc harmonogramu w czasie uruchomienia harmonogramu. Opcja generateMonthCount
określa liczbę miesięcy, które mają być generowane. W przypadku, gdy jest to 1, to generowany jest tylko harmonogram na kolejny miesiąc. W przypadku, gdy jest to 2, to generowany jest harmonogram na kolejny miesiąc oraz na kolejny po nim. W przypadku, gdy jest to 3, to generowany jest harmonogram na kolejny miesiąc, na kolejny po nim oraz na kolejny po nim itd. Zawsze generujemy harmonogram, zaczynając od kolejnego miesiąca od aktualnego.
config.generateMonthCount = 1
employee-schedule-reminder-executor - przypomnienie o harmonogramie pracownika
config.fetch_month_shift = 0 config.monthly_schedule_completion_percentage = 80 config.email_topic = title %date% %manager_fullname% %schedule_date% %total_hours% config.email_header = email header %date% %manager_fullname% %schedule_date% %total_hours% config.email_item_template = item template %employee_fullname% %employee_role%
user-competence-reminder - notyfikacja o upływie terminu kompetencji
Zadanie analizuje termin upływu ważności kompetencji pracowników w podanym zakresie dni (from_today_start do from_today_end) np. 7-14 to następny tydzień. Jeśli w danym okresie upływa termin ważności kompetencji pracownika, to jest to dodawane do treści email’a. Konfiguracja zawartości email’a realizowana jest przez tytuł, nagłówek treści oraz linie jednej ważności kompetencji (dla wielu będzie to lista składająca się z tych linii). Można wykorzystać zmienne podane w przykładach.
config.from_today_start = 7 config.from_today_end = 14 config.emails = email@one.com, email@two.com, ... config.email_topic = title %date% config.email_header = email content %date% config.email_item_template = item template %competency_name% %user_fullname% %competency_evidence% %competency_validtill%
Środowisko i legislacja
energy-chemical-agent-reagent-notification - Notyfikacje o terminach badań Centralnego Rejestru Operatorów
Automat generujący powiadomienia o nadchodzących terminach przeglądów CRO. Jeśli włączona jest opcja notification_enable powiadomienia trafiają do paska powiadomień w aplikacji Web. Jeśli włączona jest flaga email_enable zostanie wysłany email. Treść komunikatów definiowana jest w pozostałych opcjach.
config.notification_enable = true|false config.notification_template = %reporting_name% %reporting_description% %date% config.email_enable = true|false config.email_topic = %date% config.email_header = %date% config.email_item_template = %reporting_name% %reporting_description% %date%
energy-emission-monitoring-notification - Notyfikacje o monitoringu emisji
Automat, który generuje informację przypominającą o wymaganych i oczekiwanych pomiarach monitoringu emisji. W ramach definicji monitoringu emisji określamy na jaki typ zdarzenia (pobranie próbki, otrzymanie raportu, wysłanie powiadomienia) chcemy otrzymać powiadomienie mailowe oraz ile dni przed wykonaniem tej czynności ma to być wykonane.
W schedulerze definiujemy tylko informacje, które mają znaleźć się w nagłówki, tytule i opisie poszczególnych elementów powiadomień. Za pomocą opcji language
określamy język użyty w emailu. Za pomocą opcji topic
określamy tytuł emaila, a za pomocą email_header
określamy treść nagłówka głównego maila (w treści). Każdy z elementów powiadomienia określamy za pomocą email_item_template
.
System generuje informacje o:
-
Przeterminowanych monitoringach
-
Wymaganych do wykonania dzisiaj
-
Planowanych (w zdefiniowanym zakresie czasu) pomiarach
config.language = pl|en config.email_topic = Emission Monitoring analysis for date: %date% config.email_header = Created on: <span style='color:green'> %date% </span>. config.email_item_template = %emission_name% %planned_date%
energy-formal-agreement-notification - Notyfikacje o terminach umów
Automat generujący powiadomienia o nadchodzących terminach umów. Jeśli włączona jest opcja notification_enable powiadomienia trafiają do paska powiadomień w aplikacji Web. Jeśli włączona jest flaga email_enable zostanie wysłany email. Treść komunikatów definiowana jest w pozostałych opcjach.
config.notification_enable = true|false config.notification_template = %date% %agreement_name% %agreement_description% %agreement_company% config.notification_limit_template = %date% %agreement_name% %agreement_description% %agreement_company% %limit% config.email_enable = true|false config.email_topic = %date% config.email_header = %date% config.email_header_date = Lista umów o zbliżającej się terminie zakończenia config.email_header_limit_warning = Lista umów o przekroczonym poziomie ostrzeżenia config.email_header_limit_critical = Lista umów o przekroczonym poziomie krytycznym config.email_item_template = %date% %agreement_name% %agreement_description% %agreement_company% config.email_item_warning_template = %date% %agreement_name% %agreement_description% %agreement_company% %limit% config.email_item_critical_template = %date% %agreement_name% %agreement_description% %agreement_company% %limit%
energy-formal-decision-notification - Notyfikacje o terminach decyzji
Automat generujący powiadomienia o nadchodzących terminach decyzji. Jeśli włączona jest opcja notification_enable powiadomienia trafiają do paska powiadomień w aplikacji Web. Jeśli włączona jest flaga email_enable zostanie wysłany email. Treść komunikatów definiowana jest w pozostałych opcjach.
config.notification_enable = true|false config.notification_template = %reporting_name% %reporting_description% %date% config.email_enable = true|false config.email_topic = %date% config.email_header = %date% config.email_item_template = %reporting_name% %reporting_description% %date%
energy-formal-reporting-notification - Notyfikacje o terminach raportowania
Automat generujący powiadomienia o nadchodzących terminach raportowania. Jeśli włączona jest opcja notification_enable powiadomienia trafiają do paska powiadomień w aplikacji Web. Jeśli włączona jest flaga email_enable zostanie wysłany email. Treść komunikatów definiowana jest w pozostałych opcjach.
config.notification_enable = true|false config.notification_template = %reporting_name% %reporting_description% %date% config.email_enable = true|false config.email_topic = %date% config.email_header = %date% config.email_item_template = %reporting_name% %reporting_description% %date%
Produkcja energii
energy-algorithm-runner - Uruchamianie algorytmów obliczeniowych
Automat generujący planowany harmonogram podziału produkcji energii w zakładach kogeneracji energii. System na podstawie wybranego za pomocą parametru energy_prices_type
źródła danych pobiera informacje o cenach energii. Na podstawie tych danych generuje plan produkcji energii elektrycznej i cieplnej. Wartości minimalne, średnie i maksymalne generacji energii określamy za pomocą parametrów min_heat_generation
, mean_heat_generation
, mean_electric_generation
, max_electric_generation
. System stara się zmaksymalizować zyski z produkcji energii. Algorytm następnie przedstawiany jest w analizach i raportach.
config.energy_prices_type=RDN config.min_heat_generation=20 config.mean_heat_generation=28 config.mean_electric_generation=12 config.max_electric_generation=16
energy-below-limit-notification - Powiadamianie o zaniku/przywróceniu generacji energii względem określonego poziomu
Zadanie sprawdza dwie poprzednie wartości dostarczanej energii w kwantach kwadransowych (15 minutówki). W przypadku, gdy ostatnia wartość dostarczonej energii spadnie poniżej wartości progowej (w tysiącach kW) zostanie wysłany email z komunikatami o wartościach "below". W przypadku gdy dla dwóch ostatnich wartości generacja wróci powyżej wartości granicznej wygenerowany zostanie kolejny email o wartościach "over".
config.emails = <email1> <email2> config.email_topic_energy_below_limit = AWARIA - generacja energii poniżej limitu w dniu %date% config.email_topic_energy_over_limit = OK - generacja energii powyżej limitu w dniu %date% config.email_header = Informacja o zmianie stanu dostarczanej energii poniżej/powyżej limitu w dnu %date%. config.email_energy_below_limit = Energia PONIŻEJ wartości progowej o wartości: %energy_limit%. Aktualna wartość dostarczonej energii %current_energy_value% . Poprzednia wartość dostarczonej energii %previous_energy_value% config.email_energy_over_limit = Energia POWYŻEJ wartości progowej o wartości: %energy_limit%. Aktualna wartość dostarczonej energii %current_energy_value% . Poprzednia wartość dostarczonej energii %previous_energy_value% config.energy_limit = 7500
energy-csv-exporter - Eksport danych rejestracji energii do formatu CSV
Generacja informacji o produkcji energii. Generuje plik do wykorzystania przez systemy wizualizacji. Zawiera dane o produkcji elektrycznej i cieplnej. Generujemy co trzy godziny. Plik docelowy opisany przez zmienną. Generujemy plik o kolumnach: data [yyyy-MM-dd]; godzina [0-23]; energia dostarczona [MWh]; energia wygenerowana [MWh]; energia cieplna dostarczona [GJ]
task.schedule = 0 0 *\/3 * * ? task.delay = 30 task.enabled = true config.target_file_path = /home/user/data.csv
energy-data-grabber - Pobieranie danych z rejestracji energii
Algorytm pobiera dane z rejestracji energii. Podajemy identyfikatory parametrów, które chcemy pobrać. W przypadku braku danych w systemie, algorytm generuje informację o braku danych. W przypadku, gdy dane są dostępne, algorytm generuje informację o pobranych danych. Parametry odpowiadają identyfikatorom parametrów produkcyjnych w systemie i oznaczają energy_prices_type
typ wyboru źródła danych o cenach energii. Pozostałe parametry to identyfikatory parametrów produkcyjnych, które chcemy pobrać.
config.energy_prices_type=RDN config.id_electrical_energy_external=100 config.id_electrical_energy_delivered=101 config.id_electrical_energy_generated=102 config.id_heat_energy_generated=103 config.id_waste_stream_line1=104 config.id_waste_stream_line2=105 config.id_waste_calor_line1=106 config.id_waste_calor_line2=107 config.id_steam_stream_line1=108 config.id_steam_stream_line2=109
energy-prices-heat-grabber - Pobieranie danych dot. cen energii cieplnej
Generator pobiera informacje o wartościach ceny za 1GJ energii cieplnej dostarczanej do sieci. W początkowej implementacji posiada statyczną konfigurację z pojedynczą ceną.
config.heat_price=45.32
energy-prices-rb-grabber - Pobieranie danych z Rynku Bilansującego
Generator pobiera informacje ze źródła PSE dla rynku bilansującego i wprowadza dane do systemu. Konfiguracja zawiera informacje o adresie z którego pobieramy dane.
config.url=https://www.pse.pl/getcsv/-/export/csv/PL_CENY_ROZL_RB/data/%date%
energy-prices-rdn-grabber - Pobieranie danych z Rynku Dnia Następnego
Generator pobiera informacje ze źródła TGE dla rynku dnia następnego i wprowadza dane do systemu. Konfiguracja zawiera informacje o adresie z którego pobieramy dane.
config.url=https://tge.pl/energia-elektryczna-rdn?dateShow=%date%
energy-production-data-reminder - Przypominanie o braku wprowadzenia danych produkcyjnych dot. energii
Przykładowa pliku konfiguracyjnego (wykonanie o 0:00 trzeciego dnia każdego miesiąca, opóźnienie uruchomienia 30 sekund, zadanie aktywne). Sprawdzamy poprzedni miesiąc i jeśli dla aktywnych danych produkcyjnych nie zostały wprowadzone dane za tamten miesiąc, to tworzone są emaile dla każdej osoby odpowiedzialnej za dane i wysyłany jest email do niego z listą danych produkcyjnych.
task.schedule = 0 0 0 3 * ? task.delay = 30 task.enabled = true config.email_topic = title %date% config.email_header = email content %date% config.email_item_template = item template %productionitem_name% %productionitem_category%
energy-yearly-limit-notification - Powiadamianie o przekroczeniu limitów w parametrach produkcji energii
Analizator danych produkcji energii. W przypadku wykrycia listy parametrów o przekroczonej w danym roku sumie wartości, generuje email z listą podzieloną na przekroczenia krytyczne i ostrzeżenia zgodnie z definicją w parametrach. W elementach tekstu można używa szablonów zgodnie z przykładem. Tylko limity parametrów z wyłączoną flagą "nie powiadamiaj" są uwzględniane na liście. Jeśli flaga notification_enable będzie ustawiona na 'true' to każdej osobie odpowiedzialnej zostanie wygenerowana notyfikacja w systemie z komunikatem w szablonie notification_template.
config.notification_enable = true|false config.notification_template = Element %productionitem_name% w kategorii %productionitem_category% i grupie %productionitem_group% z przekroczoną wartością. Aktualna wartość: %productionitem_current_value%. Wartość limitu %limit_value%. config.email_topic = Przekroczenie limitów danych produkcyjnych w dniu %date% config.email_header = Informacja o przekroczeniu limitów danych produkcyjnych dla dnia %date%. config.email_warning_header = Parametry o przekroczonym poziomie ostrzeżenia config.email_critical_header = Parametry o przekroczonym poziomie krytycznym config.email_item_template = Element %productionitem_name% w kategorii %productionitem_category% i grupie %productionitem_group% z przekroczoną wartością. Aktualna wartość: %productionitem_current_value% %productionitem_unit%. Wartość limitu %limit_value%.
production-data-creator - generacja nowych danych produkcyjnych
Generator, który tworzy nowe wpisy w danych produkcyjnych dla danego miesiąca. Powinien być uruchamiany raz w miesiącu na początku miesiąca. Utworzy wtedy nowy wpis do wprowadzania danych produkcyjnych. Uruchomienie wielokrotnie w ciągu danego miesiąca nie spowoduje żadnych akcji. Nie posiada dodatkowych parametrów konfiguracyjnych.
production-item-events-notification - Notyfikacje o zmianach wartości parametrów produkcyjnych
config.notification_enable = true|false config.notification_template_changed_value = %current_date% %message% %created_by% %tstamp% %resolved_tstamp% %production_item_date% %production_item_value% %production_item_name% config.email_enable = true|false config.email_topic = %current_date% config.email_header = %current_date% config.email_item_template = %current_date% %message% %created_by% %tstamp% %resolved_tstamp% %production_item_date% %production_item_value% %production_item_name%
production-item-new-limits-creator - generacja nowych limitów parametrów produkcyjnych
Automat generuje nowe limity dla parametrów produkcyjnych. W przypadku zaznaczenia odpowiednich opcji generuje nowy limit jako kopię poprzedniego limitu dla danego okresu.
config.yearly = false config.monthly = false config.weekly = false config.daily = false
Inspekcje
inspection-planner - Planner wykonań inspekcji
Planer inspekcji. Na podstawie zdefiniowanych planów inspekcji generowane są wykonania inspekcji. W szablonie planu inspekcji można włączyć automatyczne generowanie wykonań inspekcji X dni przed koniecznością wykonania takiej inspekcji. Automat zajmuje się generowaniem takich danych. Dla użytkownika generowana jest notyfikacja w systemie, że został przypisany do danej inspekcji jako wykonawca. Jeśli zdefiniujemy UUID zlecenia pracy, to automat automatycznie przypisze wykonanie inspekcji do danego zlecenia pracy.
config.notify_text = You have been assigned to execute inspection execution for %asset%. Deadline: %date% config.work_order_uuid = <uuid>
inspection-plan-reminder - Przypominanie o planowanych inspekcjach
Automat generujący email do listy użytkowników z informacjami dotyczącymi planu niezbędnych inspekcji w wybranym okresie. Podawana jest liczba dni od dnia wykonania skryptu, które mają być brane pod uwagę do analizy. Lista docelowa adresów email oraz tytuł, nagłówek wiadomości oraz pojedynczy element tekstu wiadomości (pojedyncze urządzenie) są możliwe do modyfikacji.
config.language = pl config.from_today_start = 7 config.from_today_end = 14 config.emails = <email1> <email2> config.email_topic=Inspection execution planned for dates %date_start% - %date_end% config.email_header=Inspection execution planed for dates: %date_start% - %date_end% config.email_item_template=* Inspection template **%template%** for asset **%asset%** with S/N: **%serial_number%** is planned on **%date%**. Execution will be scheduled: %scheduled_before% days before.
inspection-protocol-generator - Generator raportów inspekcji
Automat generujący raporty PDF wykonanych i sprawdzonych inspekcji. Po włączeniu możemy określić, czy plik wygenerowanego raportu ma mieć flagę Publiczny tj. być dostępny np. przez Portal Klienta. Czy wygenerowany raport zapisać w zleceniu pracy, do którego podpięta jest inspekcja. Czy zapisać w zasobie, którego dotyczy inspekcja oraz jaką kategorię nadać dołączanemu plikowi.
W trakcie wykonywania automatu sprawdzane są protokoły, które są wykonane, są sprawdzone, ale nie posiadają wygenerowanego raportu. Po wykonaniu akcji i zapisaniu raportów ustawiana jest dla inspekcji flaga Wygenerowano raport.
config.language = pl config.public_files = true|false config.store_in_workorder = true|false config.store_in_object = true|false config.attachment_category_uuid = <uuid>
inspection-supervision-state-changer
Automat, który automatycznie wprowadzi zapis stanu nadzoru do zasobu połączonego z inspekcją po jej wykonaniu. Pozwala to na powiązanie między sobą inspekcji oraz nadzoru danego zasobu. Dla przykładu po wykonaniu inspekcji automat może automatycznie wprowadzić stan "Wykonano inspekcję" dla nadzoru "Nadzór nad montażem" danego zasobu. Automatyzuje i łączy dwa moduły - Inspekcji i Nadzoru.
Konfiguracja pozwala na wskazanie identyfikatora szablonu inspekcji, której dotyczy automat inspection_template_uuid
. Wskazania, które flagi wywołają akcję inspection_executed
oraz inspection_checked
. Następnie podajemy identyfikator szablonu nadzoru supervision_template_uuid
oraz konkretnego stanu nadzoru supervision_template_state_uuid
. Wszystkie te dane możemy uzyskać w interfejsie użytkownika.
config.inspection_template_uuid = <UUID> config.inspection_executed = <true|false> config.inspection_checked = <true|false> config.supervision_template_uuid = <UUID> config.supervision_template_state_uuid = <UUID>
Automat zadziała jedynie dla stanów, które NIE mają ze sobą powiązanych parametrów (koniecznych do wprowadzenia w danym stanie nadzoru). Automat nie jest w stanie nadać tym parametrom wartości bez interakcji z użytkownikiem. |
inspection-to-check-reminder - Przypominanie o inspekcjach do sprawdzenia
Powiadamianie o inspekcjach oczekujących na sprawdzenie. Inspekcje, które zostały wykonane w okresie od from_today_start do from_today_end jako liczba dni od dziś posiadają flagi ukończone oraz nie posiadający flagi sprawdzone. Email zostanie wygenerowany zbiorczo dla osób, które są wskazane do weryfikacji inspekcji. Treść emaila i tytuł definiowany w opcjach.
config.language = pl config.from_today_start = -2 config.from_today_end = -1 config.email_topic = title %date% config.email_header = email content %date% config.email_item_template = item template %inspection_id% %template_name% %asset_name% %executed_by% %executed_on%
Obchody techniczne
inspection-round-reminder - Przypominanie o braku obchodów
Sprawdzamy obchody o UUID podane w liście. Jeśli czas od ostatniego wykonania > 48 h to wysyłamy komunikat na podane emaile.
config.inspectionround_uuid_list = <UUID1> <UUID2> config.inspectionround_delay_minutes = 2880 config.emails = email@one.com email@two.com config.email_topic = title %date% config.email_header = email content %date% %date_from% config.email_item_template = item template %inspectionround_name%
Dzierżawy
lease-end-reminder - przypominanie o zakończeniu czasu dzierżawy
Zadanie wysyła email z przypomnieniem w końcu realizacji danej dzierżawy w określonym w parametrze reminder_days_before_end dni przed zakończeniem czasu wykonania. Konieczne jest określenie UUID (lista) kontraktów, których dotyczy ten scheduler. W polach email_topic i email_content zawieramy tytuł i treść emaila. Można wykorzystać podane znaczniki, które zostaną zamienione na aktualną datę oraz nazwę zlecenia pracy. Przykładowa pliku konfiguracyjnego (wykonanie o 6:15, 14:15, 22:15, opóźnienie uruchomienia 30 sekund, zadanie aktywne).
task.schedule = 0 15 6,14,22 * * ? task.delay = 30 task.enabled = true config.contract_uuid_list = <UUID> <UUID> config.reminder_days_before_end = 5 config.email_topic = title %date% %workorder% config.email_content = email content %date% %workorder%
Legislacja
iso-correction-action-state-change-updater
Automat pozwala na automatyczną zmianę stanu rejestru ISO dotyczącego działań korygujących. Automat po włączeniu monitoruje zadania przypięte do danego działania korygującego i po wykryciu zakończenia wszystkich zadań automatycznie zmienia stan danego działania korygującego na wybrany a następnie przesyła wiadomości do osób tworzących/odpowiedzialnych za dany rejestr. Dodatkowo jeśli pojawią się jakieś nowe, niezakończone zadania lub zadania zmienią swój stan na niewykonany to system automatycznie przywróci stan początkowy danego rejestru.
Konfiguracja pozwala na wskazanie UUID stanu początkowego config.begin_state_uuid
oraz UUID stanu końcowego config.final_state_uuid
. Automat sprawdza obydwa stany i wykonuje odpowiednie akcje w zależności od stanu zadań. Do użytkowników wysyłane są komunikaty, które można dostosować za pomocą opcji config.text_finish_state
oraz config.text_begin_state
.
config.begin_state_uuid = <uuid> config.final_state_uuid = <uuid> config.text_finish_state = Changed ISO Correction Action %protocol_number% to final state %state_name%. All tasks finished config.text_begin_state = Changed BACK ISO Correction Action %protocol_number% to begin state %state_name%. Not all tasks are finished !
iso-rationalization-proposal-state-change-updater
Automat pozwala na automatyczną zmianę stanu rejestru ISO dotyczącego wniosków racjonalizatorskich. Automat po włączeniu monitoruje zadania przypięte do danego rejestru i po wykryciu zakończenia wszystkich zadań automatycznie zmienia stan danego wniosku na wybrany a następnie przesyła wiadomości do osób tworzących/odpowiedzialnych za dany rejestr. Dodatkowo jeśli pojawią się jakieś nowe, niezakończone zadania lub zadania zmienią swój stan na niewykonany to system automatycznie przywróci stan początkowy danego rejestru.
Konfiguracja pozwala na wskazanie KODU stanu początkowego config.begin_state_name
oraz KODU stanu końcowego config.final_state_name
. Automat sprawdza obydwa stany i wykonuje odpowiednie akcje w zależności od stanu zadań. Do użytkowników wysyłane są komunikaty, które można dostosować za pomocą opcji config.text_finish_state
oraz config.text_begin_state
.
config.begin_state_name = <PREPARATION, COMPLETED, SUCCESSFULLY_IMPLEMENTED> config.final_state_name = <PREPARATION, COMPLETED, SUCCESSFULLY_IMPLEMENTED> config.text_finish_state = Changed ISO Rationalization Proposal %protocol_number% to final state %state_name%. All tasks finished config.text_begin_state = Changed BACK ISO Correction Action %protocol_number% to begin state %state_name%. Not all tasks are finished ! \n";
iso-risk-opportunity-state-change-updater
Automat pozwala na automatyczną zmianę stanu rejestru ISO dotyczącego rejestru ryzyk/szans. Automat po włączeniu monitoruje zadania przypięte do danego rejestru i po wykryciu zakończenia wszystkich zadań automatycznie zmienia stan danego wniosku na wybrany a następnie przesyła wiadomości do osób tworzących/odpowiedzialnych za dany rejestr. Dodatkowo jeśli pojawią się jakieś nowe, niezakończone zadania lub zadania zmienią swój stan na niewykonany to system automatycznie przywróci stan początkowy danego rejestru.
Konfiguracja pozwala na wskazanie KODU stanu początkowego config.begin_state_name
oraz KODU stanu końcowego config.final_state_name
. Automat sprawdza obydwa stany i wykonuje odpowiednie akcje w zależności od stanu zadań. Do użytkowników wysyłane są komunikaty, które można dostosować za pomocą opcji config.text_finish_state
oraz config.text_begin_state
.
config.begin_state_name = <ACTIVE, RESOLVED> config.final_state_name = <ACTIVE, RESOLVED> config.text_finish_state = Changed ISO Risk Opportunity %protocol_number% to final state %state_name%. All tasks finished config.text_begin_state = Changed BACK ISO Risk Opportunity %protocol_number% to begin state %state_name%. Not all tasks are finished ! \n";
legislation-external-document-checker - Sprawdzanie zewnętrznych dokumentów legislacyjnych
Automat sprawdzający zewnętrzne źródła dokumentów legislacyjnych. W przypadku wykrycia nowych dokumentów, które nie są w systemie. System obsługuje API Sejmu RP i możliwość pobierania danych z Dziennika Ustaw oraz/lub Monitora Polskiego. Tagi tag1, tag2, tag3 są wykorzystywane do filtrowania dokumentów. W przypadku wykrycia nowych dokumentów automat generuje email z listą nowych dokumentów. W treści emaila można wykorzystać zmienne %date%, %labels%, %number%, %title%, %address%, %displayAddress%, %link%. Wartość %address% jest wykorzystywana do generowania linków do dokumentów.
config.tags = tag1|tag2|tag3 config.provider = PL-SEJM config.acts = DU|MP config.emails = email@one.com email@two.com config.email_topic = title %date% %labels% config.email_header = email content %date% %labels% config.email_item_template = * item template %number% %title% %labels% %address% %displayAddress% %link% config.email_link_template = https://isap.sejm.gov.pl/isap.nsf/DocDetails.xsp?id=%address%
legislation-reminder-executor - Przypominanie o terminach legislacyjnych
Automat generuje powiadomienie mailowe o zbliżających się terminach legislacyjnych. System automatycznie o określonej w schedulerze porze wyśle powiadomienia przypisane do danego dnia.
config.email_topic = title %date% %concerns% config.email_header = email content %date% %concerns%
Powiadomienia
notification-expired-cleaner - Czyszczenie notyfikacji w systemie
System AMAGE ma możliwość generacji notyfikacji dla użytkowników. Notyfikacje pojawiają się w systemie w komunikatach dla użytkownika dostępnych w menu systemowym ikona "dzwonka". System może określić termin ważności notyfikacji tj. znikną z powiadomienia np. po 48 godzinach jeśli użytkownik tego nie zatwierdzi jawnie. Scheduler pozwala na wyłączanie tych notyfikacji po upłynięciu tego czasu. Włączenie schedulera bez dodatkowych opcji pozwala na wyłączanie notyfikacji, które mają włączony czas ważności.
Dodatkowo niektóre notyfikacje pozwalają na wyświetlanie bez terminu ważności. Czasami zdarza się, że użytkownicy nie potwierdzają tych wiadomości i kolejkują się one cały czas dla użytkowników.
Scheduler pozwala na zamknięcie takich notyfikacji po określonym czasie od ich publikacji. Po włączeniu schedulera można w konfiguracji określić dodatkowe opcje, które będą zamykały notyfikacje bez terminu ważności. Należy ustawić opcję config.close_notification_without_expiration
na true oraz ustawić czas (dni), po którym notyfikacje te znikną z pola powiadomień użytkownika. Wartość ustawiamy w zmiennej config.close_notification_age_days
config.close_notification_without_expiration=true|false config.close_notification_age_days=14
Raporty
report-generator - generator raportów PDF i wysyłanie ich na email
Generator raportów w formie PDF. Generujemy raport na podstawie listy UUID zakładek raportu a następnie wysyłamy wynik na adresy e-mail. Zostanie wysłany jeden email z tyloma raportami ile wybranych zakładek. Nazwy plików to nazwy zakładek. W parametrach określamy listę emaili, na które ma być wysłany raport, temat emaila oraz treść emaila. Można użyć zmiennej %date% do wprowadzenia informacji kontekstowych do treści i tytułu emaila. Można określić język generowanego raportu poprzez zmienną language. W przypadku braku podania zmiennej ustawiany domyślny język serwera, na którym uruchamiany jest serwer synchronizacji.
config.bookmark_uuid = <UUID1> <UUID2> <UUID3> config.language = pl config.emails = email@one.com email@two.com config.email_topic = title %date% config.email_content = email content %date%
Zdarzenia serwisowe
service-event-stalled-notifier - notyfikacja na email w przypadku, gdy dany stan zgłoszenia serwisowego jest utrzymywany dłużej niż określony czas.
Zadanie weryfikuje czas ostatniej aktualizacji zdarzenia serwisowego w określonym stanie. Dla wszystkich zdarzeń serwisowych w stanie <state.uuid> lub <config.states_uuid> zadanie sprawdza czas ostatniej modyfikacji zadania. Jeśli nie podano stanów, to system wyszukuje wszystkie zgłoszenia serwisowe, których aktualny stan nie ma ustawionego stanu publicznego jako Rozwiązany
.
Następnie sprawdzany jest czas modyfikacji. Jeśli czas jest większy (starszy) niż podana w konfiguracji liczba minut <state.stalled_minutes> to jest wysyłany email z tytułem <config.email_topic> o treści <config.email_content> do adresatów <config.email_recipents> (adresy oddzielone spacjami). W treści i tytule można zamienić pola aktualnej daty, stanu zdarzenia oraz listy numerów zgłoszeń, które są przeterminowane. Ograniczenie typów zdarzeń serwisowych realizujemy przez podanie listy UUID typów, które mają być wybranego do tego automatu. Dodatkowo można wybrać opcję aby wysyłać powiadomienie osobno dla osoby przypisanej do zdarzenia <config.email_assigned> jako tworzący je lub do osoby aktualnie przypisanej < config.email_creator>.
state.uuid = <uuid> state.stalled_minutes = <long> config.state_uuids = <uuid1> <uuid2> <uuid3> config.type_uuids = <uuid1> <uuid2> <uuid3> config.email_assigned = true|false config.email_assigned_topic = title %date% %event_state% config.email_assigned_content = email content %date% %event_numbers% %event_state% config.email_creator = true|false config.email_creator_topic = title %date% %event_state% config.email_creator_content = email content %date% %event_numbers% %event_state% config.email_recipents = <email1> <email2> config.email_topic = title %date% %event_state% config.email_content = email content %date% %event_numbers% %event_state%
Dla osób nan głównej liście email zdarzenia wysyłane są zbiorczo tj. aministrator kontraktu dostanie wszystkie wiadomości. Dla przypisanych/tworzących wysyłane są osobne maile dla każdego zgłoszenia. |
service-event-state-updater - zmiana stanu zgłoszenia serwisowego ze stanu początkowego na stan końcowy
Zadanie zmienia stan zdarzenia serwisowego z stanu początkowego na końcowy. W trakcie zmiany stanu dodaje zapis (komentarz do zgłoszenia) wskazujący mechanizm zmiany oraz wskazuje stan końcowy na który zmieniło. W konfiguracji należy podać początkowy i końcowy UUID stanu zgłoszenia serwisowego. Ograniczenie typów zdarzeń serwisowych realizujemy przez podanie listy UUID typów, które mają być wybranego do tego automatu.
state.from = <uuid> state.to = <uuid> state.type_uuids = <uuid1> <uuid2> <uuid3>
service-protocol-generator - Generator protokołów serwisowych w formacie PDF i wysyłce do osoby odpowiedzialnej ze strony klienta.
Generacja raportów PDF z protokołów serwisowych.
Generuje plik PDF z protokołu serwisowego, który posiada flagi: WYKONANE i SPRAWDZONE ale nie posiada flagi RAPORT_WYGENEROWANO. Dla takich raportów generowany jest protokół na formacie zdefiniowanym w zakładce raportu o podanym UUID w parametrze 'report_bookmark_uuid'. Jeśli nie podano UUID zakładki, generowany jest domyślny wygląd raportu. Po wygenerowaniu plik zapisywany jest do nadrzędnego zgłoszenia serwisowego jeśli jest ustawiona flaga 'store_in_serviceevent'. Plik otrzymuje kategorię (opcjonalne) o UUID w parametrze 'attachment_category_uuid' oraz flagę publiczną jeśli ustawiona jest flaga 'public_files'. Włączenie opcji send_email_to_representative umożliwia przesłanie email’a do osoby wskazanej jako reprezentant ze strony zgłaszającego.
config.public_files = true config.store_in_serviceevent = true config.attachment_category_uuid = <uuid> config.report_bookmark_uuid = <uuid> config.language = pl config.send_email_to_representative = true config.email_topic = title %date% %protocol_number% config.email_content = email content %date% %protocol_number%
Struktura
equipment-validity-reminder - weryfikacja daty ważności sprawdzenia urządzeń
Zadanie analizuje termin upływu ważności sprawdzania wyposażenia w podanym zakresie dni (from_today_start do from_today_end) np. 7-14 to następny tydzień. Jeśli w danym okresie upływa termin ważności kalibracji urządzenia, to jest to dodawane do treści email’a. Konfiguracja zawartości email’a realizowana jest przez tytuł, nagłówek treści oraz linie jednej ważności kompetencji (dla wielu będzie to lista składająca się z tych linii). Można wykorzystać zmienne podane w przykładach.
config.from_today_start = 7 config.from_today_end = 14 config.emails = email@one.com, email@two.com, ... config.email_topic = title %date% config.email_header = email content %date% config.email_item_template = item template %equipment_name% %equipment_serial_number% %equipment_type% %holder_fullname% %owner_fullname% %equipment_validtill%
inventory-object-converter - Konwersja obiektów inwentaryzacji na produkty
Sprawdza obiekty inwentaryzacji i jeśli może powiązać wszystkie parametry do produktu, to automatycznie tworzy produkt w strukturze na podstawie inwentaryzacji. Dodatkowym parametrem jest wskazanie grupy produktów, do której dołączany będzie nowy produkt. W przypadku włączenia opcji product_subgroup_time
automatycznie będzie tworzona podrzędna grupa produktów z aktualną datą. Pozwala to na umieszczanie nowych produktów w strukturze z datami wprowadzenia ich do tej struktury. W przypadku włączenia opcji product_subgroup_delivery_number
dla obiektów inwentaryzacji pochodzących z dostaw nazwa grupy będzie miała numer dokumenty dostawy.
config.product_group_uuid = b56f5db6-89e6-4e3a-bf24-467bcec367c8 config.product_subgroup_time = true|false config.product_subgroup_delivery_number = true|false
Nadzór
supervision-initializer - Inicjalizator nadzoru
Inicjalizator nadzoru, który posiada dane dotyczące nadzoru określone w ramach wewnętrznej konfiguracji. Różnica w stosunku do uniwersalnego inicjalizatora jest możliwość podania grupy produktów (i podrzędnych grup) dla których zostanie zainicjalizowany nadzór.
Automat wykonuje następujące prace:
-
przegląda zdefiniowane kategorie nadzoru
type_categories
. Dla każdej z tych kategorii sprawdza, czy dany typ elementu ma zdefiniowany nadzór. Jeśli nie ma, to go automatycznie tworzy i przydziela mu szablon nadzorutemplate_uuid
. Pozwala to na automatyzację tworzenia nadzoru wg. typów dla każdego typu wybranej kategorii. -
następnie dla wszystkich typów, które posiadają kategorię
type_categories
generuje nadzór dla wszystkich zasobów danego typu który znajduje się w grupie produktówroot_group_uuid
oraz podrzędnych grupach. Realizowane jest to automatycznie i przydzielany jest nadzór określony w w/w konfiguracji.
Automat w konfiguracji pozwala na włączenie notyfikacji dla wybranych użytkowników notification_user_logins
. Do nich generowane są notyfikacje informujące o utworzeniu typów nadzoru oraz o utworzeniu nowych nadzorów dla nowych zasobów.
config.type_categories = <category1>, <category2> config.template_uuid = <uuid> config.root_group_uuid = <uuid> config.notification_enabled = false config.notification_user_logins = <login1> <login2> config.notification_type_template = Created %count% new supervision types config.notification_template = Created %count% new supervision items for template %template_name% config.notification_inactive_template = New supervision is INACTIVE for asset %name%
supervision-inspection-generator - Generator inspekcji dla nadzoru
Automat, który po osiągnięciu przez dany zasób określonego stanu w nadzorze, automatycznie generuje określoną inspekcję. Pozwala to na automatyczne utworzenie inspekcji dla jakiegoś nadzoru w przypadku, gdy zostanie osiągnięty jakiś stan nadzoru.
Dla przykładu - jeśli status montażu jakiegoś urządzenia osiągnie stan "podłączone i gotowe" to system może automatycznie wygenerować inspekcję dla tego zasobu o szablonie "Sprawdzenie końcowe urządzenia" i przydzielić ją do brygadzisty wraz ze zleceniem pracy.
Dane konfigurujemy w opcjach automatu. Określamy szablon inspekcji, jaki zostanie wykorzystany do generacji inspekcji inspection_template_uuid
. Określamy szablon nadzoru supervision_template_uuid
oraz konkretny stan nadzoru supervision_template_state_uuid
, który wyzwoli generację tej inspekcji. Podczas generacji inspekcji przydzielamy ją do użytkownika responsible_user_uuid
i przypisujemy ją do zlecenia pracy work_order_uuid
.
Inspekcje zostaną utworzone tylko dla zasobów w grupie produktów root_group_uuid
(oraz podrzędnych) oraz tylko dla zasobów o typach kategorii type_categories
Po wygenerowaniu inspekcji, dla użytkownika zostanie wygenerowana notyfikacja z określonym tekstem.
config.inspection_template_uuid = <UUID> config.supervision_template_uuid = <UUID> config.supervision_template_state_uuid = <UUID> config.responsible_user_uuid = <UUID> config.work_order_uuid = <UUID> config.root_group_uuid = <UUID> config.type_categories = <category1>, <category2> config.notification_text = You have been assigned to new inspection for asset %asset_name% config.notification_summary_text = Created %count% new inspection executions for supervision state change
supervision-universal-initializer - Uniwersalny inicjalizator nadzoru
Uniwersalny inicjalizator nadzoru bazujący na ustawieniach nadzoru w interfejsie użytkownika. Po jego włączeniu zgodnie z harmonogramem automat przegląda dane i wykonuje następujące czynności:
-
przegląda zdefiniowane kategorie nadzoru
Wg. kategorii typów
. Dla każdej z tych kategorii sprawdza, czy dany typ elementu ma zdefiniowany nadzór w zakresieWg. typów
. Jeśli nie ma, to go automatycznie tworzy. Pozwala to na automatyzację tworzenia nadzoru wg. typów dla każdego typu wybranej kategorii. -
następnie dla wszystkich typów, które są określone w zakładce
Wg. typów
generuje nadzór dla wszystkich zasobów danego typu. Realizowane jest to automatycznie i przydzielany jest nadzór określony w ww. konfiguracji.
Automat w konfiguracji pozwala na włączenie notyfikacji dla wybranych użytkowników notification_user_logins
. Do nich generowane są notyfikacje informujące o utworzeniu typów nadzoru oraz o utworzeniu nowych nadzorów dla nowych zasobów.
config.notification_enabled = false config.notification_user_logins = <login1> <login2> config.notification_type_template = Created %count% new supervision types config.notification_template = Created %count% new supervision items for template %template_name% config.notification_inactive_template = New supervision is INACTIVE for asset %name%
Magazyn
warehouse-current-count-validator - Weryfikacja stanów magazynowych
Automat weryfikuje ilości zadeklarowane w magazynie i porównuje je z ilościami wynikającymi z dokumentów magazynowych. W przypadku wykrycia nieścisłości generuje powiadomienie mailowe.
config.emails = <email1> <email2> config.language = pl config.email_topic=Warehouse items inconsistency found on date: %date% config.email_header=Warehouse items inconsistency found on date: %date% config.email_items_header=Items with count inconsistency config.email_item_template=* Warehouse item: %type_name% / Order number: %type_order_number has on warehouse %warehouse% and place %place% count difference Current count: **%current_count%** - count from documents **%documents_count%**";
warehouse-document-email-sender - Wysyłanie dokumentów magazynowych na email
Automat pozwala na wysyłanie dokumentów magazynowych na adresy email. W konfiguracji można określić typy dokumentów, które mają być wysyłane, odbiorców, język, treść emaila oraz załączniki. Algorytm tożsamy z wysyłaniem dokumentów zamówień.
config.document_type = RECEPTION, RELEASE, TRANSFER config.recipient_uuid = <uuid> config.language = pl config.attach_pdf = true config.attach_csv = false config.emails = <email1> <email2> config.email_topic = title %date% %document_number% %document_type% %contract% %contract_s %work_order% config.email_content = email content %date% %document_number% %document_type% %contract% %contract_scope% %work_order% config.email_success_notification_title = Success! %date% %document_number% %work_order%
warehouse-minimal-maximal-state-notifier - analiza stanów minimalnych na magazynie
Automat generuje raport zbiorczy stanów minimalnych na magazynie. W trakcie wykonania analizowane są wszystkie magazyny i generowany jest email zbiorczy do listy adresatów określonych w parametrze automatu. Treść nagłówka, tytułu i poszczególnych elementów można modyfikować dodatkowymi parametrami.
config.emails = <email1> <email2> config.language = pl config.email_topic=Minimal/maximal state reminder %date% config.email_header=State for minimal/maximal warehouse state on %date% config.email_minimal_header=Items with exceeded minimal state: config.email_maximal_header=Items with exceeded maximal state: config.email_item_minimal_template=* item %type_name% with order number %type_order_number% has on warehouse %warehouse% and place %place% exceeded minimal count **%minimal_count%** - current value **%current_count%** config.email_item_maximal_template=* item %type_name% with order number %type_order_number% has on warehouse %warehouse% and place %place% exceeded maximal count **%maximal_count%** - current value **%current_count%**
Zlecenia pracy
workorder-end-of-work-pause-updates - automatyczne zatrzymywanie zleceń pracy na koniec dnia
Automat pozwala na automatyczne zatrzymywanie zleceń pracy na koniec dnia roboczego. W konfiguracji można określić język, czas zakończenia pracy, szablon pracy oraz szablon powiadomienia. W przypadku zatrzymania zlecenia pracy automat dodaje komentarz do zlecenia z informacją o automatycznym zatrzymaniu zlecenia.
config.language = pl config.end_of_work_time = 17:00 config.worklog_template = Automatic work order pause at the end of day work. config.notification_template = Your Work Order %workorder% was automatically paused. Start it again when your work commence
work-order-reminder
Automat pozwala na przesyłanie emaili do osób z przypomnieniem o rozpoczynających się zadaniach lub takich, które są bliskie terminu zakończenia. Za pomocą odpowiednich opcji możemy definiować czas, w którym dana informacja zostanie wysłana, do jakich adresatów oraz jaka jest jej treść. Automat bazuje na terminach oczekiwanego rozpoczęcia i oczekiwanego zakończenia zadań.
W konfiguracji możemy określić za pomocą opcji config.expected_start_notify
liczbę dni od daty oczekiwanego rozpoczęcia, kiedy zostanie wysłany email. Może to być np. -5
czyli 5 dni przed lub 5
czyli pięć dni po danym terminie. To samo dotyczy opcji zakończenia zadania w parametrze config.expected_deadline_notify
. Za pomocą opcji config.email_assigned
określamy, czy wysłać email do osoby przypisanej do zadania a za pomocą config.emails
określamy dodatkowe adresy email, na które ma być wysłane powiadomienie.
Treść emaila określamy za pomocą elementów config.email_topic
, config.email_header
. Każde z zakresów możemy poprzedzić tekstami odpowiednio config.email_topic_item_start
oraz config.email_topic_item_deadline
. Każde z zadań zostanie wyświetlone w liście (zbiorczo), gdzie każdy rząd definiujemy za pomocą config.email_item_template
.
config.language = pl|en config.expected_start_notify = <-5|5> config.expected_deadline_notify = <-5|5> config.email_assigned = <true|false> config.filter_workorder_type_list = <name1> | <name2> | <name3> config.emails = email@one.com email@two.com config.email_topic = title %date% %expected_deadline_date% %expected_start_date% config.email_header = email content %date% %expected_deadline_date% %expected_start_date% config.email_topic_item_start = Approaching start for Work Orders: config.email_topic_item_deadline = Approaching deadline for Work Orders: config.email_item_template = item work order %date% %name% %number% %deadline_date% %start_date% %state%";
parameter-setting-value-change-notifier - Powiadomienie o zmianie wartości parametru
Automat, który pozwala na powiadomienie wybranych użytkowników o braku zmiany wartości parametru w czasie lub braku nowych wartości parametru w czasie. Taki automat pozwala na wykrycie braku komunikacji z wybranymi urządzeniami lub zewnętrznymi systemami, które powinny dostarczać informacji na bieżąco. Pozwala również na szybką reakcję na brak danych, co może być kluczowe w przypadku monitorowania ważnych parametrów.
Parametr language
pozwalają na określenie języka powiadomień dla tekstów wbudowanych w aplikację. Parametr parameter_setting_uuid
definuje UUID parametru, który monitorujemy. config_no_entry
włącza powiadomienie przy braku zapisów historii parametru. notify_no_entry_minutes
definuje czas, po którym powiadomienie zostanie wysłane. notify_no_entry_template
pozwala na określenie treści powiadomienia. Analogicznie dla notify_no_value_change
, notify_no_value_change_minutes
oraz notify_no_value_change_template
, które określają powiadomienie dla braku zmiany wartości parametru. Opcje application_notify
oraz email_notify
pozwalają na określenie, czy powiadomienie ma być wysłane do użytkowników aplikacji w ramach powiadomień lub na adresy email. W przypadku emaili można określić dodatkowe parametry takie jak emails
, email_topic
, email_header
. Dla powiadomień w aplikacji należy określić dodatkowe parametry takie jak application_notify_logins
, które definuje listę loginów użytkowników, którzy mają otrzymać powiadomienie. W przypadku braku podania języka w konfiguracji, automat korzysta z języka serwera, na którym uruchomiony jest serwer synchronizacji.
config.language = pl config.parameter_setting_uuid = <uuid> config.notify_no_entry = <true|false> config.notify_no_entry_minutes = <minutes> config.notify_no_entry_template = no entry %parameter_name% %parameter_setting_value% %no_entry_minutes% %date% config.notify_no_value_change = <true|false> config.notify_no_value_change_minutes = <minutes> config.notify_no_value_change_template = no value change %parameter_name% %parameter_setting_value% %no_change_minutes% %date% config.application_notify = <true|false> config.application_notify_logins = <login1> <login2> <login3> config.email_notify = <true|false> config.emails = email@one.com email@two.com config.email_topic = title %parameter_name% %date% config.email_header = email content %parameter_name% %date%
parameter-setting-value-transformer - Transformacja wartości parametru do innego parametru lub danej produkcyjnej
Automat, który pozwala na transformację wartości jednego parametru do innego parametru lub do danej produkcyjnej. Automat pozwala na przykład przepisać dane z parametru pobieranego ciągle z jakiegoś urządzenia (wartość licznika energii) lub danych z zewnętrznych systemów IT przechowywanych w ustawieniach parametrów do danej produkcyjnej pod koniec miesiąca wykorzystując dodatkowe działania i agregację.
Za pomocą parametru language
ustawiamy język komunikatów zapisanych na stałe w systemie. parameter_setting_uuid
określa UUID parametru, który będzie przetwarzany. Następnie wybieramy albo UUID danej produkcyjnej, albo UUID innego ustawienia parametru, który będzie celem transformacji. Za pomocą target_value_equation
mamy możliwość dodatkowego przetwarzania wartości z parametru za pomocą dodatkowego mechanizmu równań (podzielenie, wymnożenie itp.). Dodatkowo za pomocą operation_type
możemy określić wartość parametru, który przetwarzamy. CURRENT określa aktualną wartość parametru. LAST - poprzednią wartość parametru. SUM - wykona sumę zapisów ustawień parametru w określonym czxasie, DIFFERENCE/MEAN - odpowiednio różnicę i wartość średnią arytmetyczną z wartości pomiarów w danym zakresie. Zakres dat określamy za pomoc operation_interval_type
oraz operation_interval_value
.
Dodatkowo możemy określić, czy powiadomienie ma być wysłane do użytkowników aplikacji za pomocą application_notify
, application_notify_logins
, application_notify_template
oraz czy ma być wysłane na adresy email za pomocą email_notify
, emails
, email_topic
, email_header
, email_item_template
.
config.language = pl config.parameter_setting_uuid = <uuid> config.target_value_equation = {value}*100 config.target_production_item_uuid = <uuid> config.target_production_item_message = <message> config.target_parameter_setting_uuid = <uuid> config.operation_type = <CURRENT|LAST|SUM|DIFFERENCE|MEAN> config.operation_interval_type = <CURRENT|MINUTE|HOUR|DAY|WEEK|MONTH|YEAR|THIS_MINUTE|THIS_HOUR|THIS_DAY|THIS_MONTH|THIS_YEAR> config.operation_interval_value = <value> e.g. 10 MINUTES, 1 DAY from NOW config.application_notify = <true|false> config.application_notify_logins = <login1> <login2> <login3> config.application_notify_template = application template %parameter_name% %target_parameter_name% %target_production_item_name% %date% %value% config.email_notify = <true|false> config.emails = email@one.com email@two.com config.email_topic = title %date% config.email_header = email content %date% config.email_item_template = item template %parameter_name% %target_parameter_name% %target_production_item_name% %date% %value%
merit-warehouse-document-integration - Integracja z systemem magazynowym Asseco Merit/Xpertis
Automat pozwalający na synchronizację dokumentów magazynowych systemu Merit z AMAGE. Automat pobiera określone dokumenty magazynowe z systemu Merit a następnie tworzy odpowiednie dokumenty magazynowe w systemie AMAGE wraz z zapisami stanów na magazynie/miejscu składowania oraz utworzeniu typów elementów w przypadku ich braku w systemie. Za pomocą opcji db_alias
, db_login
oraz db_password
podajemy konfigurację dostępu do bazy danych poprzez interfejs ODBC. Opcja documents_type
wskazuje typy dokumentów, które należy pobrać do systemu AMAGE. Opcja area_numbers
podaje numery obszarów (sekcji) z systemu Merit, których dokumenty będą podlegały synchronizacji. Za pomocą measurement_unit_map
definiujemy nazwy jednostek w systemie Merit i odpowiednie kody jednostek w systemie AMAGE, aby odpowiednio zsynchronizować ten typ danych. Za pomocą default_supplier_uuid
podajemy UUID identyfikator domyślnego dostawcy w przypadku konieczności utworzenia nowych typów materiału (system Merit nie udostępnia tych danych). Za pomocą default_warehouse_uuid
oraz default_warehouse_place_uuid
podajemy identyfikatory magazynu i miejsca składowania, do którego będą synchronizowane dokumenty. Za pomocą receive_documents_months
określamy ilość miesięcy, w których mają być pobierane dokumenty z systemu Merit. Z czego wartość = 1 oznacza aktualny miesiąc, wartość 2 aktualny i poprzedni itp.
System synchronizuje dane i wykrywa istniejące dokumenty po ich numeracji. Jeśli je wykryje, to nie są przetwarzane ponownie.
config.db_alias = merit config.db_login = amage config.db_password = amage config.documents_type = RW,PW,PZ,WZ config.area_numbers = 01,05,06 config.default_supplier_uuid = <uuid> config.default_warehouse_uuid = <uuid> config.default_warehouse_place_uuid = <uuid> config.measurement_unit_map= 'merit unit'|UNIT_CODE, 'merit_unit2'|UNIT_CODE config.receive_documents_months = 2
Konfigurację dostępu ODBC dla oprogramowania Xpertis/Merit można znaleźć w innym dokumencie typu case-study Połączenie ODBC dla baz MacroLogic. |