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
PackagingUnits.- Author:
- Heiko Scherrer
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.springframework.context.ApplicationEventPublisherprivate final LoadUnitServiceprivate final LocationServiceprivate static final org.slf4j.Loggerprivate final PackagingUnitCreatorprivate final PackagingUnitFinderprivate final ProductServiceprivate final PackagingUnitRepositoryprivate 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 LoadUnitgetLoadUnit(String transportUnitBK, String loadUnitPosition) private voidmove(List<PackagingUnit> pus, String sku, Consumer<PackagingUnit> consumer) private voidmove(List<PackagingUnit> pusOnSource, String sku, org.openwms.core.units.api.Measurable quantity, Consumer<PackagingUnit> onMovePU, Consumer<PackagingUnit> onSplitPU) voidmoveAll(@NotEmpty String sourceTransportUnitBK, @NotEmpty String sourceLoadUnitPosition, @NotEmpty String targetTransportUnitBK, @NotEmpty String targetLoadUnitPosition, @NotNull ProductVO product) voidmoveAllToLocation(@NotEmpty String sourceTransportUnitBK, @NotEmpty String sourceLoadUnitPosition, @NotNull LocationVO targetLocation, @NotNull ProductVO product) voidmoveBetweenLocations(@NotNull List<MovePURequestVO> requests) Move one or morePackagingUnits between Locations.private voidmoveBetweenLocations(MovePURequestVO request) voidmoveQuantity(@NotBlank String sourceTransportUnitBK, @NotBlank String sourceLoadUnitPosition, @NotBlank String targetTransportUnitBK, @NotBlank String targetLoadUnitPosition, @NotNull org.openwms.core.units.api.Measurable quantity, @NotNull ProductVO product) voidmoveQuantityToLocation(@NotEmpty String sourceTransportUnitBK, @NotEmpty String sourceLoadUnitPosition, @NotNull LocationVO targetLocation, @NotNull org.openwms.core.units.api.Measurable quantity, @NotNull ProductVO product) voidmoveToLoadUnit(@NotNull MovePURequestVO request) Move one or morePackagingUnits from a Location to a LoadUnit.private Locationresolve(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:
moveAllin 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:
moveAllToLocationin 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(@NotBlank @NotBlank String sourceTransportUnitBK, @NotBlank @NotBlank String sourceLoadUnitPosition, @NotBlank @NotBlank String targetTransportUnitBK, @NotBlank @NotBlank String targetLoadUnitPosition, @NotNull @NotNull org.openwms.core.units.api.Measurable quantity, @NotNull @NotNull ProductVO product) - Specified by:
moveQuantityin 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:
moveQuantityToLocationin 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> pusOnSource, String sku, org.openwms.core.units.api.Measurable quantity, Consumer<PackagingUnit> onMovePU, Consumer<PackagingUnit> onSplitPU) -
moveBetweenLocations
Move one or morePackagingUnits between Locations. If a quantity is given, the amount ofPackagingUnits that are going to be moved is calculated. If no quantity is present in therequest, allPackagingUnits are moved from the source Location to the target Location.- Specified by:
moveBetweenLocationsin interfacePackagingUnitMover- Parameters:
requests- All requests that contain the details for the move
-
moveBetweenLocations
-
getLoadUnit
-
moveToLoadUnit
Move one or morePackagingUnits from a Location to a LoadUnit. If a quantity is given, the amount ofPackagingUnits that are going to be moved is calculated. If no quantity is present in therequest, allPackagingUnits are moved from the source Location to the target LoadUnit.- Specified by:
moveToLoadUnitin interfacePackagingUnitMover- Parameters:
request- All the details for the move
-