Class PackagingUnitCreatorImpl

java.lang.Object
org.openwms.wms.inventory.impl.PackagingUnitCreatorImpl
All Implemented Interfaces:
PackagingUnitCreator

@Validated @TxService class PackagingUnitCreatorImpl extends Object implements PackagingUnitCreator
A PackagingUnitCreatorImpl is a Spring managed transactional bean that is responsible for creating PackagingUnits.
Author:
Heiko Scherrer
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • timeProvider

      private final TimeProvider timeProvider
    • eventPublisher

      private final org.springframework.context.ApplicationEventPublisher eventPublisher
    • translator

      private final org.ameba.i18n.Translator translator
    • repository

      private final PackagingUnitRepository repository
    • loadUnitService

      private final LoadUnitService loadUnitService
    • locationService

      private final LocationService locationService
    • productService

      private final ProductService productService
  • Constructor Details

  • Method Details

    • createInContainer

      @Measured public PackagingUnit createInContainer(@NotBlank @NotBlank String transportUnitBK, @NotBlank @NotBlank String luPos, @NotNull @NotNull PackagingUnit packagingUnit, String loadUnitType)
      Create a new PackagingUnit with the given packagingUnit that is located in the named LoadUnit on the named TransportUnit.
      Specified by:
      createInContainer in interface PackagingUnitCreator
      Parameters:
      transportUnitBK - The business key of the TransportUnit the PackagingUnit is carried on
      luPos - The position of the LoadUnit within the TransportUnit
      packagingUnit - The PackagingUnit to create
      loadUnitType - In case the LoadUnit needs to be created this is the type that is used
      Returns:
      The created instance
    • createInternal

      private PackagingUnit createInternal(LoadUnit loadUnit, PackagingUnit packagingUnit)
    • getOrCreateLoadUnit

      private LoadUnit getOrCreateLoadUnit(String transportUnitBK, String luPos, String loadUnitType)
    • createMultipleInContainer

      @Measured public void createMultipleInContainer(@NotBlank @NotBlank String transportUnitBK, @NotBlank @NotBlank String luPos, @NotEmpty @NotEmpty List<PackagingUnit> packagingUnits, String loadUnitType)
      Create multiple PackagingUnits in the named LoadUnit on the named TransportUnit.
      Specified by:
      createMultipleInContainer in interface PackagingUnitCreator
      Parameters:
      transportUnitBK - The business key of the TransportUnit the PackagingUnits are carried on
      luPos - The position of the LoadUnit within the TransportUnit
      packagingUnits - The PackagingUnits to create
      loadUnitType - In case the LoadUnit needs to be created this is the type that is used
    • create

      @Measured @Validated(CreatePackagingUnit.class) public PackagingUnit create(@NotNull @Valid @NotNull @Valid PackagingUnit packagingUnit)
      Create a new PackagingUnit.
      Specified by:
      create in interface PackagingUnitCreator
      Parameters:
      packagingUnit - The PackagingUnit to create
      Returns:
      The created instance