Advertisement
Guest User

Untitled

a guest
Jul 24th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.78 KB | None | 0 0
  1. package br.com.ciser.fulfilmentprocess.actions.order;
  2.  
  3. import org.apache.log4j.Logger;
  4. import org.springframework.beans.factory.annotation.Required;
  5.  
  6. import br.com.ciser.sapintegration.sapordermanagement.services.SapOrderManagementService;
  7. import de.hybris.platform.core.enums.ExportStatus;
  8. import de.hybris.platform.core.model.order.OrderModel;
  9. import de.hybris.platform.orderprocessing.model.OrderProcessModel;
  10. import de.hybris.platform.processengine.action.AbstractSimpleDecisionAction;
  11. import de.hybris.platform.site.BaseSiteService;
  12. import de.hybris.platform.task.RetryLaterException;
  13. import de.hybris.platform.util.Config;
  14.  
  15. public class SendOrderToERPAction extends AbstractSimpleDecisionAction<OrderProcessModel> {
  16.  
  17. private static final Logger LOG = Logger.getLogger(SendOrderToERPAction.class);
  18.  
  19. private SapOrderManagementService sapOrderManagementService;
  20.  
  21. protected BaseSiteService baseSiteService;
  22.  
  23. private final int TIME_WAITING_DEFAULT = 120;
  24.  
  25. @Override
  26. public Transition executeAction(final OrderProcessModel process) throws RetryLaterException
  27. {
  28. final OrderModel order = process.getOrder();
  29.  
  30. if (order == null)
  31. {
  32. LOG.error("Missing the order, exiting the process");
  33. return Transition.NOK;
  34. }
  35. try {
  36.  
  37. getBaseSiteService().setCurrentBaseSite(order.getSite(), false);
  38.  
  39. getSapOrderManagementService().replicateOrderToSAP(order);
  40.  
  41. return Transition.OK;
  42. } catch (Exception e) {
  43. LOG.error("Cannot send order to ERP", e);
  44. final RetryLaterException retryException = new RetryLaterException("cannot send order to ERP");
  45.  
  46. final int timeWaiting = getTimeWaiting();
  47.  
  48. retryException.setRollBack(false);
  49. retryException.setDelay(timeWaiting * 60 * 1000);
  50.  
  51. throw retryException;
  52. }
  53.  
  54. }
  55.  
  56. private int getTimeWaiting()
  57. {
  58. final String time = Config.getParameter("send.order.integration.time.waiting");
  59.  
  60. if (time != null && Integer.valueOf(time).intValue() > 0)
  61. {
  62. return Integer.valueOf(time).intValue();
  63. }
  64.  
  65. return TIME_WAITING_DEFAULT;
  66. }
  67.  
  68. protected SapOrderManagementService getSapOrderManagementService()
  69. {
  70. return sapOrderManagementService;
  71. }
  72.  
  73. @Required
  74. public void setSapOrderManagementService(final SapOrderManagementService sapOrderManagementService)
  75. {
  76. this.sapOrderManagementService= sapOrderManagementService;
  77. }
  78.  
  79. public BaseSiteService getBaseSiteService() {
  80. return baseSiteService;
  81. }
  82.  
  83. public void setBaseSiteService(BaseSiteService baseSiteService) {
  84. this.baseSiteService = baseSiteService;
  85. }
  86.  
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement