public function revertleadassigntoidAction() { $page = $this->getRequest()->getQuery('page', 1); $currentItem = $this->getRequest()->getQuery('currentItem', 0); $dbSql = $this->getServiceLocator()->get('dbSql'); $dbAdapter = $this->getServiceLocator()->get('dbAdapter'); $select = $dbSql->select(array('l' => \Crm\Model\LeadMapper::TABLE_NAME)); $select->where(['assignedToId IS NOT NULL']); $select->order(['id ASC']); $paginatorAdapter = new \Zend\Paginator\Adapter\DbSelect($select, $dbAdapter); $paginator = new \Zend\Paginator\Paginator($paginatorAdapter); $paginator->setItemCountPerPage(100); $paginator->setCurrentPageNumber($page); $leadUserMapper = $this->getServiceLocator()->get('\\Crm\\Model\\Lead\\UserMapper'); $leadMapper = $this->getServiceLocator()->get('\\Crm\\Model\\LeadMapper'); $currentDateTime = DateBase::getCurrentDateTime(); foreach ($paginator as $row) { $row = (array) $row; $leadUser = new \Crm\Model\Lead\User(); $leadUser->setLeadId($row['id']); $leadUser->setType(\Crm\Model\Lead\User::TYPE_SALE); $leadUser->setUserId($row['assignedToId']); $leadUser->setCreatedById($this->user()->getIdentity()); $leadUser->setCreatedDateTime($currentDateTime); if (!$leadUserMapper->isExisted($leadUser)) { $leadUserMapper->save($leadUser); $currentItem++; $lead = new \Crm\Model\Lead(); $lead->exchangeArray($row); $lead->setStatus(\Crm\Model\Lead::STATUS_ASSIGNTED); $leadMapper->save($lead); } } if ($paginator->getCurrentPageNumber() >= $paginator->getTotalItemCount() / $paginator->getItemCountPerPage()) { $this->getViewModel()->setVariable('defaultRedirectUri', '/system/tool/revertleadassigntoid'); $this->getViewModel()->setVariable('page', $currentItem); $this->getViewModel()->setVariable('totalPages', $paginator->getTotalItemCount()); return $this->getViewModel(); } $this->getViewModel()->setVariable('redirectUri', '/system/tool/revertleadassigntoid?page=' . ($page + 1) . '¤tItem=' . $currentItem); $this->getViewModel()->setVariable('defaultRedirectUri', '/system/tool/revertleadassigntoid'); $this->getViewModel()->setVariable('page', $currentItem); $this->getViewModel()->setVariable('totalPages', $paginator->getTotalItemCount()); return $this->getViewModel(); }