From ec7320e55cca5d37bdef14ce5da990cc0edf5327 Mon Sep 17 00:00:00 2001 From: Teo Sarca Date: Tue, 21 Nov 2017 14:23:33 +0200 Subject: [PATCH] when taking out HUs from picking slots, deactivate the picking candidates https://github.com/metasfresh/metasfresh-webui-api/issues/679 --- .../process/WEBUI_PickingSlot_TakeOutHU.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/de/metas/ui/web/pickingslot/process/WEBUI_PickingSlot_TakeOutHU.java b/src/main/java/de/metas/ui/web/pickingslot/process/WEBUI_PickingSlot_TakeOutHU.java index 943d2d9b9..1ec1ea28c 100644 --- a/src/main/java/de/metas/ui/web/pickingslot/process/WEBUI_PickingSlot_TakeOutHU.java +++ b/src/main/java/de/metas/ui/web/pickingslot/process/WEBUI_PickingSlot_TakeOutHU.java @@ -8,6 +8,7 @@ import org.adempiere.ad.trx.api.ITrx; import org.adempiere.model.InterfaceWrapperHelper; import org.adempiere.util.Services; +import org.springframework.beans.factory.annotation.Autowired; import com.google.common.base.Objects; import com.google.common.base.Preconditions; @@ -19,8 +20,10 @@ import de.metas.handlingunits.IHandlingUnitsBL; import de.metas.handlingunits.model.I_M_HU; import de.metas.handlingunits.model.I_M_Locator; +import de.metas.handlingunits.model.X_M_Picking_Candidate; import de.metas.handlingunits.movement.api.IHUMovementBL; import de.metas.handlingunits.picking.IHUPickingSlotBL; +import de.metas.handlingunits.picking.PickingCandidateRepository; import de.metas.process.IProcessPrecondition; import de.metas.process.ProcessPreconditionsResolution; import de.metas.ui.web.handlingunits.HUEditorView; @@ -53,6 +56,9 @@ public class WEBUI_PickingSlot_TakeOutHU extends ViewBasedProcessTemplate implements IProcessPrecondition { + @Autowired + private PickingCandidateRepository pickingCandidateRepository; + private final List huIdsRemoved = new ArrayList<>(); @Override @@ -111,6 +117,15 @@ protected String doIt() } } + // + // Inactive all those picking candidates + pickingCandidateRepository.retrievePickingCandidatesByHUIds(ImmutableList.of(hu.getM_HU_ID())) + .forEach(pickingCandidate -> { + pickingCandidate.setIsActive(false); + pickingCandidate.setStatus(X_M_Picking_Candidate.STATUS_CL); + save(pickingCandidate); + }); + huIdsRemoved.add(hu.getM_HU_ID()); return MSG_OK;