Package org.openwms.wms.inventory.impl
Class PackagingUnitMoverImpl
java.lang.Object
org.openwms.wms.inventory.impl.PackagingUnitMoverImpl
- All Implemented Interfaces:
PackagingUnitMover
A PackagingUnitMoverImpl is a Spring managed transactional bean that is responsible for moving
PackagingUnit
s.- Author:
- Heiko Scherrer
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.springframework.context.ApplicationEventPublisher
private final LoadUnitService
private final LocationService
private static final org.slf4j.Logger
private final PackagingUnitCreator
private final PackagingUnitFinder
private final ProductService
private final PackagingUnitRepository
private final org.ameba.i18n.Translator
-
Constructor Summary
ConstructorsConstructorDescriptionPackagingUnitMoverImpl
(org.springframework.context.ApplicationEventPublisher eventPublisher, org.ameba.i18n.Translator translator, PackagingUnitRepository repository, PackagingUnitCreator packagingUnitCreator, PackagingUnitFinder packagingUnitFinder, ProductService productService, LocationService locationService, LoadUnitService loadUnitService) -
Method Summary
Modifier and TypeMethodDescriptionprivate LoadUnit
getLoadUnit
(String transportUnitBK, String loadUnitPosition) private void
move
(List<PackagingUnit> pus, String sku, Consumer<PackagingUnit> consumer) private void
move
(List<PackagingUnit> pus, String sku, org.openwms.core.units.api.Measurable quantity, Consumer<PackagingUnit> onMovePU, Consumer<PackagingUnit> onSplitPU) void
moveAll
(@NotEmpty String sourceTransportUnitBK, @NotEmpty String sourceLoadUnitPosition, @NotEmpty String targetTransportUnitBK, @NotEmpty String targetLoadUnitPosition, @NotNull ProductVO product) void
moveAllToLocation
(@NotEmpty String sourceTransportUnitBK, @NotEmpty String sourceLoadUnitPosition, @NotNull LocationVO targetLocation, @NotNull ProductVO product) void
moveBetweenLocations
(@NotNull MovePURequestVO request) Move one or morePackagingUnit
s between Locations.void
moveQuantity
(@NotEmpty String sourceTransportUnitBK, @NotEmpty String sourceLoadUnitPosition, @NotEmpty String targetTransportUnitBK, @NotEmpty String targetLoadUnitPosition, @NotNull org.openwms.core.units.api.Measurable quantity, @NotNull ProductVO product) void
moveQuantityToLocation
(@NotEmpty String sourceTransportUnitBK, @NotEmpty String sourceLoadUnitPosition, @NotNull LocationVO targetLocation, @NotNull org.openwms.core.units.api.Measurable quantity, @NotNull ProductVO product) void
moveToLoadUnit
(@NotNull MovePURequestVO request) Move one or morePackagingUnit
s from a Location to a LoadUnit.private Location
resolve
(LocationVO location)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
eventPublisher
private final org.springframework.context.ApplicationEventPublisher eventPublisher -
translator
private final org.ameba.i18n.Translator translator -
repository
-
packagingUnitCreator
-
packagingUnitFinder
-
productService
-
locationService
-
loadUnitService
-
-
Constructor Details
-
PackagingUnitMoverImpl
PackagingUnitMoverImpl(org.springframework.context.ApplicationEventPublisher eventPublisher, org.ameba.i18n.Translator translator, PackagingUnitRepository repository, PackagingUnitCreator packagingUnitCreator, PackagingUnitFinder packagingUnitFinder, ProductService productService, LocationService locationService, LoadUnitService loadUnitService)
-
-
Method Details
-
moveAll
@Measured public void moveAll(@NotEmpty @NotEmpty String sourceTransportUnitBK, @NotEmpty @NotEmpty String sourceLoadUnitPosition, @NotEmpty @NotEmpty String targetTransportUnitBK, @NotEmpty @NotEmpty String targetLoadUnitPosition, @NotNull @NotNull ProductVO product) - Specified by:
moveAll
in interfacePackagingUnitMover
- Parameters:
sourceTransportUnitBK
- The source TransportUnit where to take the PackagingUnits fromsourceLoadUnitPosition
- The source LoadUnit where to take the PackagingUnits fromtargetTransportUnitBK
- The target TransportUnit where to move the PackagingUnits totargetLoadUnitPosition
- The target LoadUnit where to move the PackagingUnits toproduct
- The Product to move
-
moveAllToLocation
@Measured public void moveAllToLocation(@NotEmpty @NotEmpty String sourceTransportUnitBK, @NotEmpty @NotEmpty String sourceLoadUnitPosition, @NotNull @NotNull LocationVO targetLocation, @NotNull @NotNull ProductVO product) - Specified by:
moveAllToLocation
in interfacePackagingUnitMover
- Parameters:
sourceTransportUnitBK
- The source TransportUnit where to take the PackagingUnits fromsourceLoadUnitPosition
- The source LoadUnit where to take the PackagingUnits fromtargetLocation
- The target Location where to move the PackagingUnits toproduct
- The Product to move
-
moveQuantity
@Measured public void moveQuantity(@NotEmpty @NotEmpty String sourceTransportUnitBK, @NotEmpty @NotEmpty String sourceLoadUnitPosition, @NotEmpty @NotEmpty String targetTransportUnitBK, @NotEmpty @NotEmpty String targetLoadUnitPosition, @NotNull @NotNull org.openwms.core.units.api.Measurable quantity, @NotNull @NotNull ProductVO product) - Specified by:
moveQuantity
in interfacePackagingUnitMover
- Parameters:
sourceTransportUnitBK
- The source TransportUnit where to take the PackagingUnits fromsourceLoadUnitPosition
- The source LoadUnit where to take the PackagingUnits fromtargetTransportUnitBK
- The target TransportUnit where to move the PackagingUnits totargetLoadUnitPosition
- The target LoadUnit where to move the PackagingUnits toquantity
- The demanded quantity to moveproduct
- The Product to move
-
moveQuantityToLocation
@Measured public void moveQuantityToLocation(@NotEmpty @NotEmpty String sourceTransportUnitBK, @NotEmpty @NotEmpty String sourceLoadUnitPosition, @NotNull @NotNull LocationVO targetLocation, @NotNull @NotNull org.openwms.core.units.api.Measurable quantity, @NotNull @NotNull ProductVO product) - Specified by:
moveQuantityToLocation
in interfacePackagingUnitMover
- Parameters:
sourceTransportUnitBK
- The source TransportUnit where to take the PackagingUnits fromsourceLoadUnitPosition
- The source LoadUnit where to take the PackagingUnits fromtargetLocation
- The target Location where to move the PackagingUnits toquantity
- The demanded quantity to moveproduct
- The Product to move
-
resolve
-
move
-
move
private void move(List<PackagingUnit> pus, String sku, org.openwms.core.units.api.Measurable quantity, Consumer<PackagingUnit> onMovePU, Consumer<PackagingUnit> onSplitPU) -
moveBetweenLocations
Move one or morePackagingUnit
s between Locations. If a quantity is given, the amount ofPackagingUnit
s that are going to be moved is calculated. If no quantity is present in therequest
, allPackagingUnit
s are moved from the source Location to the target Location.- Specified by:
moveBetweenLocations
in interfacePackagingUnitMover
- Parameters:
request
- All the details for the move
-
getLoadUnit
-
moveToLoadUnit
Move one or morePackagingUnit
s from a Location to a LoadUnit. If a quantity is given, the amount ofPackagingUnit
s that are going to be moved is calculated. If no quantity is present in therequest
, allPackagingUnit
s are moved from the source Location to the target LoadUnit.- Specified by:
moveToLoadUnit
in interfacePackagingUnitMover
- Parameters:
request
- All the details for the move
-