Exemplo n.º 1
0
 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) . '&currentItem=' . $currentItem);
     $this->getViewModel()->setVariable('defaultRedirectUri', '/system/tool/revertleadassigntoid');
     $this->getViewModel()->setVariable('page', $currentItem);
     $this->getViewModel()->setVariable('totalPages', $paginator->getTotalItemCount());
     return $this->getViewModel();
 }