Exemplo n.º 1
0
 /**
  * 
  * @return array
  */
 public function sendingReport()
 {
     $dbDepartment = App_Model_DbTable_Factory::get('Department');
     $mapperCampaign = new Sms_Model_Mapper_Campaign();
     $select = $mapperCampaign->getSelectSent();
     $select->join(array('d' => $dbDepartment), 'd.id_department = c.fk_id_department', array('department' => 'name'));
     $filters = $this->_data;
     $date = new Zend_Date();
     if (!empty($filters['date_start'])) {
         $select->where('DATE(cs.date_time) >= ?', $date->set($filters['date_start'])->toString('yyyy-MM-dd'));
     }
     if (!empty($filters['date_finish'])) {
         $select->where('DATE(cs.date_time) <= ?', $date->set($filters['date_finish'])->toString('yyyy-MM-dd'));
     }
     if (!empty($filters['fk_id_department'])) {
         $select->where('c.fk_id_department = ?', $filters['fk_id_department']);
     }
     if (!empty($filters['fk_id_campaign'])) {
         $select->where('cs.fk_id_campaign = ?', $filters['fk_id_campaign']);
     }
     if (!empty($filters['status_sending'])) {
         $select->where('cs.status = ?', $filters['status_sending']);
     }
     $rows = $dbDepartment->fetchAll($select);
     $total = 0;
     foreach ($rows as $row) {
         $total += $row->cost;
     }
     return array('rows' => $rows, 'total' => $total);
 }