/** * */ public function notifyFollowupCase() { $dbAdapter = Zend_Db_Table_Abstract::getDefaultAdapter(); $dbAdapter->beginTransaction(); try { $filters = array('status' => 1); $today = new Zend_Date(); $mapperCase = new Client_Model_Mapper_Case(); $rows = $mapperCase->listByFilters($filters); // Search the user who must receive notes to follow up cases $noteTypeMapper = new Admin_Model_Mapper_NoteType(); $users = $noteTypeMapper->getUsersByNoteType(Admin_Model_Mapper_NoteType::CASE_FOLLOW_UP); $noteModelMapper = new Default_Model_Mapper_NoteModel(); $noteMapper = new Default_Model_Mapper_Note(); foreach ($rows as $row) { $dateCase = new Zend_Date($row->date_start, 'dd/MM/yyyy'); $days = $today->sub($dateCase); $measure = new Zend_Measure_Time($days->toValue(), Zend_Measure_Time::SECOND); $diffDays = $measure->convertTo(Zend_Measure_Time::DAY, 0); $diff = (double) preg_replace('/[^0-9]/i', '', $diffDays); if ($diff % 15 != 0) { continue; } $usersWarning = $users; $usersWarning[] = $row->fk_id_counselor; $dataNote = array('title' => 'HALO AKOMPAÑAMENTU KAZU HO KLIENTE', 'level' => 0, 'message' => $noteModelMapper->getFollowUpCase($row->client), 'users' => $usersWarning); $noteMapper->setData($dataNote)->saveNote(); } $dbAdapter->commit(); return true; } catch (Exception $e) { $dbAdapter->rollBack(); echo "Error sending cases follow-ups notifications: " . $e->getMessage() . "\n"; return false; } }
/** * */ public function searchCaseAction() { $this->_helper->layout()->disableLayout(); $this->view->rows = $this->_mapper->listByFilters($this->_getAllParams()); }