Definicja Hook Contract do zleceń magazynowych

Wprowadzenie

Definicja hook contract dla zleceń magazynowych służy do rozszerzania procesów transportowych przy użyciu zleceń magazynowych za pomocą implementacji hook contract.
W artykule opisano, jakie rozszerzenia można wdrożyć za pomocą definicji hook contract oraz jakie ograniczenia i szczególne przypadki należy wziąć pod uwagę.

Definicja Hook: Pozycje zlecenia magazynowego – Kryterium (com.cisag.app.inventory.location.hook.log.TransportOrderDetailCriterion)

umożliwia wpływ na automatyczne grupowanie i sortowanie pozycji zlecenia magazynowego.

W tym celu udostępniono następujący interfejs Hook:

com.cisag.app.inventory.location.hook.log.TransportOrderDetailCriterionHook

Metoda interfejsu getValue(TransportOrderDetailView) zwraca odpowiednie kryterium. Opcjonalnie kryterium można wykorzystać do rozbudowania wygenerowanego zlecenia magazynowego o dodatkowe informacje. W tym celu dostępny jest następujący interfejs: com.cisag.app.inventory.location.log.TransportOrderAdditionalInfo . Poprzez implementację interfejsu, samo kryterium służy jako dodatkowa informacja.
Aby sprawdzić, czy dane kryterium może być użyte w kontekście określonego magazynu lub rodzaju zlecenia magazynowego, udostępniono poniższe interfejsy walidujące:
com.cisag.app.inventory.log.StorageAreaCriterionValidator com.cisag.app.inventory.log.TransportOrderTypeCriterionValidator

Jeśli kryterium nie może być użyte dla kontekstu, nie będzie ono wyświetlane np. w aplikacji rodzaje zleceń magazynowych.

Informacje dotyczące infrastruktury hooków można znaleźć w artykule Hook Contracts.

Grupa docelowa

  • Programiści

Opis

Definicja hook contract dla zleceń magazynowych obsługuje dodawanie dodatkowych kryteriów do automatycznego grupowania i sortowania pozycji zleceń magazynowych za pomocą odpowiednich implementacji.
Można do tego wykorzystać implementacje hook contract:

com.cisag.app.inventory.location.hook.log.TransportOrderDetailCriterion

Kryteria grupowania i sortowania, które mają być używane, można wybrać w aplikacjach Magazyny i Rodzaje zleceń magazynowych. Wybrane ustawienia są uwzględniane podczas generowania zlecenia magazynowego.

Dla każdej grupy pozycje zlecenia magazynowego są łączone w jedno. Zdefiniowane sortowanie wpływa na końcową kolejność pozycji w zleceniu, określając tym samym ich sekwencję wewnątrz zlecenia magazynowego.

Aby zaimplementować dane kryterium jako rozszerzenie typu Hook, należy zaimplementować następujący interfejs:

com.cisag.app.inventory.location.hook.log.TransportOrderDetailCriterionHook

Dla każdego kryterium należy utworzyć dwa obiekty deweloperskie:

  • Logical data type – identyfikuje implementację hooka w sposób jednoznaczny i jest wskazywany jako ograniczenie w implementacji hook contract, np.:

<restriction><logicalDatatype id="TransportOrderDetailCriterion">

  • Data description LDT – definiuje nazwę, pod którą dane kryterium będzie wyświetlane na interfejsie użytkownika, poprzez wartość wpisaną w polu Etykieta.

W standardzie wszystkie dostępne kryteria zostały już zaimplementowane jako hooki. Mogą one służyć jako przykłady do tworzenia własnych, niestandardowych kryteriów.

Kryterium Implemetacja hook contract
Strefa magazynowa com.cisag.app.inventory.location.log.TransportOrderDetailCriterionZoneImpl

Istniejące implementacje mogą również służyć jako przykłady implementacji, np.:

Implementacja Klasa Java
Strefa magazynowa com.cisag.app.inventory.location.log.TransportOrderDetailCriterionHookZoneImpl

Dla rozszerzonej funkcjonalności umożliwiającej rozbudowanie zlecenia magazynowego o dodatkowe informacje, poniższa istniejąca implementacja może służyć jako przykład:

Kryterium Klasa Java
Obszary magazynowania com.cisag.app.inventory.location.log.TransportOrderDetailCriterionHookWarehouseAreaImpl

Dla rozszerzonej funkcjonalności umożliwiającej weryfikację przydatności danego kryterium zlecenia magazynowego w kontekście konkretnego magazynu lub rodzaju zlecenia magazynowego, można posłużyć się istniejącymi implementacjami jako przykładami, np.:

Implementacja Klasa Java
Rząd com.cisag.app.inventory.location.log.TransportOrderDetailCriterionHookRowImpl



Czy ten artykuł był pomocny?