/** * @param int $idSalesOrderItem * @param \DateInterval $timeout * * @return void */ public function moveItemAfterTimeOut($idSalesOrderItem, \DateInterval $timeout) { $omsEventTimeoutQuery = new SpyOmsEventTimeoutQuery(); $omsEventTimeout = $omsEventTimeoutQuery->findOneByFkSalesOrderItem($idSalesOrderItem); $dateTime = clone $omsEventTimeout->getTimeout(); $dateTime->sub($timeout); $omsEventTimeout->setTimeout($dateTime); $omsEventTimeout->save(); }
/** * @param \Spryker\Zed\Oms\Business\Process\ProcessInterface $process * @param string $stateId * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem * * @return void */ public function dropOldTimeout(ProcessInterface $process, $stateId, SpySalesOrderItem $orderItem) { $sourceState = $this->getStateFromProcess($stateId, $process); if ($sourceState->hasTimeoutEvent()) { SpyOmsEventTimeoutQuery::create()->filterByOrderItem($orderItem)->delete(); } }