Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package br.com.ciser.fulfilmentprocess.actions.order;
- import org.apache.log4j.Logger;
- import org.springframework.beans.factory.annotation.Required;
- import br.com.ciser.sapintegration.sapordermanagement.services.SapOrderManagementService;
- import de.hybris.platform.core.enums.ExportStatus;
- import de.hybris.platform.core.model.order.OrderModel;
- import de.hybris.platform.orderprocessing.model.OrderProcessModel;
- import de.hybris.platform.processengine.action.AbstractSimpleDecisionAction;
- import de.hybris.platform.site.BaseSiteService;
- import de.hybris.platform.task.RetryLaterException;
- import de.hybris.platform.util.Config;
- public class SendOrderToERPAction extends AbstractSimpleDecisionAction<OrderProcessModel> {
- private static final Logger LOG = Logger.getLogger(SendOrderToERPAction.class);
- private SapOrderManagementService sapOrderManagementService;
- protected BaseSiteService baseSiteService;
- private final int TIME_WAITING_DEFAULT = 120;
- @Override
- public Transition executeAction(final OrderProcessModel process) throws RetryLaterException
- {
- final OrderModel order = process.getOrder();
- if (order == null)
- {
- LOG.error("Missing the order, exiting the process");
- return Transition.NOK;
- }
- try {
- getBaseSiteService().setCurrentBaseSite(order.getSite(), false);
- getSapOrderManagementService().replicateOrderToSAP(order);
- return Transition.OK;
- } catch (Exception e) {
- LOG.error("Cannot send order to ERP", e);
- final RetryLaterException retryException = new RetryLaterException("cannot send order to ERP");
- final int timeWaiting = getTimeWaiting();
- retryException.setRollBack(false);
- retryException.setDelay(timeWaiting * 60 * 1000);
- throw retryException;
- }
- }
- private int getTimeWaiting()
- {
- final String time = Config.getParameter("send.order.integration.time.waiting");
- if (time != null && Integer.valueOf(time).intValue() > 0)
- {
- return Integer.valueOf(time).intValue();
- }
- return TIME_WAITING_DEFAULT;
- }
- protected SapOrderManagementService getSapOrderManagementService()
- {
- return sapOrderManagementService;
- }
- @Required
- public void setSapOrderManagementService(final SapOrderManagementService sapOrderManagementService)
- {
- this.sapOrderManagementService= sapOrderManagementService;
- }
- public BaseSiteService getBaseSiteService() {
- return baseSiteService;
- }
- public void setBaseSiteService(BaseSiteService baseSiteService) {
- this.baseSiteService = baseSiteService;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement