Skip to content

Commit

Permalink
WEBUI_M_HU_ReturnToVendor
Browse files Browse the repository at this point in the history
  • Loading branch information
teosarca committed May 23, 2017
1 parent 7e56507 commit e256768
Showing 1 changed file with 77 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
package de.metas.ui.web.handlingunits.process;

import java.sql.Timestamp;
import java.util.List;
import java.util.Set;

import org.adempiere.util.Services;
import org.compiere.util.Env;

import de.metas.handlingunits.inout.IHUInOutBL;
import de.metas.handlingunits.model.I_M_HU;
import de.metas.process.IProcessPrecondition;
import de.metas.process.ProcessPreconditionsResolution;

/*
* #%L
* metasfresh-webui-api
* %%
* Copyright (C) 2017 metas GmbH
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-2.0.html>.
* #L%
*/

/**
* Return the selected HUs back to vendor.
*
* @author metas-dev <dev@metasfresh.com>
* @task initial task https://github.com/metasfresh/metasfresh-webui-api/issues/396
*/
public class WEBUI_M_HU_ReturnToVendor extends HUEditorProcessTemplate implements IProcessPrecondition
{
private List<I_M_HU> husToReturn = null;

@Override
protected ProcessPreconditionsResolution checkPreconditionsApplicable()
{
final Set<Integer> huIds = getSelectedHUIds();
if (huIds.isEmpty())
{
return ProcessPreconditionsResolution.reject("No HUs selected");
}

return ProcessPreconditionsResolution.accept();
}

@Override
protected String doIt() throws Exception
{
husToReturn = getSelectedHUs();
final Timestamp movementDate = Env.getDate(getCtx());
Services.get(IHUInOutBL.class).createVendorReturnInOutForHUs(husToReturn, movementDate);
return MSG_OK;
}

@Override
protected void postProcess(final boolean success)
{
if (husToReturn != null && !husToReturn.isEmpty())
{
getView().removesHUsAndInvalidate(getSelectedHUs());
}
}

}

0 comments on commit e256768

Please sign in to comment.