11 use Psr\Log\LoggerInterface as Logger;
30 private $statusMapper;
35 private $operationStatus;
40 private $calculatedStatusSql;
57 EntityFactory $entityFactory,
59 FetchStrategy $fetchStrategy,
60 EventManager $eventManager,
64 $mainTable =
'magento_bulk',
66 $identifierName =
'uuid' 68 $this->userContext = $userContextInterface;
69 $this->statusMapper = $statusMapper;
70 $this->calculatedStatusSql = $calculatedStatusSql;
91 'status' => $this->calculatedStatusSql->get($this->getTable(
'magento_operation'))
95 $this->userContext->getUserId()
107 $item->setStatus($this->statusMapper->operationStatusToBulkSummaryStatus(
$item->getStatus()));
109 return parent::_afterLoad();
117 if ($field ==
'status') {
118 if (is_array($condition)) {
119 foreach ($condition as
$value) {
120 $this->operationStatus = $this->statusMapper->bulkSummaryStatusToOperationStatus(
$value);
121 if (is_array($this->operationStatus)) {
122 foreach ($this->operationStatus as $statusValue) {
123 $this->
getSelect()->orHaving(
'status = ?', $statusValue);
127 $this->
getSelect()->having(
'status = ?', $this->operationStatus);
132 return parent::addFieldToFilter($field, $condition);
140 $select = parent::getSelectCountSql();
141 $select->columns([
'status' => $this->calculatedStatusSql->get($this->getTable(
'magento_operation'))]);
143 if (isset($this->operationStatus)) {
addFieldToFilter($field, $condition=null)
__construct(EntityFactory $entityFactory, Logger $logger, FetchStrategy $fetchStrategy, EventManager $eventManager, UserContextInterface $userContextInterface, StatusMapper $statusMapper, CalculatedStatusSql $calculatedStatusSql, $mainTable='magento_bulk', $resourceModel=null, $identifierName='uuid')