Exemple #1
0
 /**
  * 
  */
 public function printAction()
 {
     $this->_helper->layout()->setLayout('print');
     $id = $this->_getParam('id');
     $vacancy = $this->_mapperVacancy->detailVacancy($id);
     $this->view->vacancy = $vacancy;
     $this->view->shortlist = $this->_mapper->listShortlist($id);
 }
 /**
  * 
  */
 public function printListAction()
 {
     $this->_helper->layout()->setLayout('print');
     $id = $this->_getParam('id');
     $this->view->user = Zend_Auth::getInstance()->getIdentity();
     $this->view->quick = $this->_mapper->detailQuickList($id);
     $this->view->list = $this->_mapper->listQuickList($id);
 }
Exemple #3
0
 /**
  * 
  */
 public function notifyJobVacancyExpired()
 {
     $dbAdapter = Zend_Db_Table_Abstract::getDefaultAdapter();
     $dbAdapter->beginTransaction();
     try {
         // Search all the expired job vacancy
         $jobVacancyMapper = new Job_Model_Mapper_JobVacancy();
         $selectJob = $jobVacancyMapper->getSelectVacancy();
         $selectJob->where('jv.active = ?', 1)->where('jv.close_date < ?', Zend_Date::now()->toString('yyyy-MM-dd'));
         $dbJobVacancy = App_Model_DbTable_Factory::get('JOBVacancy');
         $rows = $dbJobVacancy->fetchAll($selectJob);
         // Search the user who must receive notes when job vacancy are expired
         $noteTypeMapper = new Admin_Model_Mapper_NoteType();
         $users = $noteTypeMapper->getUsersByNoteType(Admin_Model_Mapper_NoteType::JOB_EXPIRED);
         $noteModelMapper = new Default_Model_Mapper_NoteModel();
         $noteMapper = new Default_Model_Mapper_Note();
         $userMapper = new Admin_Model_Mapper_SysUser();
         $ceopsUser = array();
         foreach ($rows as $row) {
             $usersWarning = $users;
             if (empty($ceopsUser[$row->fk_id_dec])) {
                 // Search all the users from the same CEOP
                 $usersCeop = $userMapper->listAll($row->fk_id_dec);
                 foreach ($usersCeop as $userCeop) {
                     $ceopsUser[$row->fk_id_dec][] = $userCeop->id_sysuser;
                 }
                 $usersWarning += $ceopsUser[$row->fk_id_dec];
             } else {
                 $usersWarning += $ceopsUser[$row->fk_id_dec];
             }
             $dataNote = array('title' => 'VAGA EMPREGU LORON TAKA LIU TIHA ONA', 'level' => 0, 'message' => $noteModelMapper->getJobExpired($row->id_jobvacancy), 'users' => $usersWarning);
             $noteMapper->setData($dataNote)->saveNote();
         }
         $dbAdapter->commit();
         return true;
     } catch (Exception $e) {
         $dbAdapter->rollBack();
         echo "Error sending job vacancy expired notifications: " . $e->getMessage() . "\n";
         return false;
     }
 }
Exemple #4
0
 /**
  *
  * @param array $data
  * @return string
  */
 public function geJobShortlist($data)
 {
     $mapperJobVacancy = new Job_Model_Mapper_JobVacancy();
     $mapperClient = new Client_Model_Mapper_Client();
     $mapperCase = new Client_Model_Mapper_Case();
     $vacancy = $mapperJobVacancy->detailVacancy($data['vacancy']);
     $client = $mapperClient->detailClient($data['client']);
     $case = $mapperCase->detailCase($data['case']);
     $view = Zend_Layout::getMvcInstance()->getView();
     $link = '<a href="%s" target="_blank">%s</a>';
     $vacancyName = str_pad($vacancy->id_jobvacancy, 5, '0', STR_PAD_LEFT) . ' - ' . $vacancy->vacancy_titule;
     $clientName = Client_Model_Mapper_Client::buildNumRow($client) . ' - ' . Client_Model_Mapper_Client::buildName($client);
     $aVacancy = sprintf($link, $view->baseUrl('/job/vacancy/view/id/' . $vacancy->id_jobvacancy), $vacancy->name_dec . ' - ' . $vacancyName);
     $aClient = sprintf($link, $view->baseUrl('/client/client/print/id/' . $client->id_perdata), $clientName);
     $idCase = str_pad($case->id_action_plan, 5, '0', STR_PAD_LEFT);
     return sprintf(self::JOB_SHORTLIST, $aClient, $idCase, $case->name_dec, $case->name, $aVacancy, $vacancy->name_dec);
 }
 /**
  * 
  */
 public function jobClientAction()
 {
     $this->_helper->layout()->disableLayout();
     $mapperVacancy = new Job_Model_Mapper_JobVacancy();
     $vacancy = $mapperVacancy->detailVacancy($this->_getParam('vacancy'));
     $this->view->vacancy = $vacancy;
 }
Exemple #6
0
 /**
  *
  * @return array
  */
 public function registerReport()
 {
     $mapperVacancy = new Job_Model_Mapper_JobVacancy();
     $select = $mapperVacancy->getSelectVacancy();
     $dbVacancy = App_Model_DbTable_Factory::get('JOBVacancy');
     $date = new Zend_Date();
     $filters = $this->_data;
     $select->where('jv.active = ?', (int) $filters['active']);
     if (!empty($filters['fk_id_profocupation'])) {
         $select->where('jv.fk_id_profocupation = ?', $filters['fk_id_profocupation']);
     }
     if (!empty($filters['fk_id_fefpenterprise'])) {
         $select->where('jv.fk_id_fefpenterprise = ?', $filters['fk_id_fefpenterprise']);
     }
     if (!empty($filters['date_start'])) {
         $select->where('jv.open_date >= ?', $date->set($filters['date_start'])->toString('yyyy-MM-dd'));
     }
     if (!empty($filters['date_finish'])) {
         $select->where('jv.close_date <= ?', $date->set($filters['date_finish'])->toString('yyyy-MM-dd'));
     }
     if (!empty($filters['fk_id_dec'])) {
         $select->where('jv.fk_id_dec = ?', $filters['fk_id_dec']);
     }
     $rows = $dbVacancy->fetchAll($select);
     return array('rows' => $rows);
 }
Exemple #7
0
 /**
  * 
  */
 public function jobListAction()
 {
     $mapperJob = new Job_Model_Mapper_JobVacancy();
     $filters = array('active' => 1);
     $this->view->rows = $mapperJob->listByFilters($filters);
 }
Exemple #8
0
 /**
  *
  * @param int $barrier
  * @return Zend_Db_Table_Rowset
  */
 public function listJobIntervention($intervention, $case)
 {
     $mapperVacancy = new Job_Model_Mapper_JobVacancy();
     $selectVacancy = $mapperVacancy->getSelectVacancy();
     $dbActionPlanBarrier = App_Model_DbTable_Factory::get('Action_Plan_Barrier');
     $dbActionPlanReferences = App_Model_DbTable_Factory::get('Action_Plan_References');
     $dbActionpPlanHasGroup = App_Model_DbTable_Factory::get('Action_Plan_has_Group');
     $selectVacancy->join(array('apr' => $dbActionPlanReferences), 'apr.fk_id_jobvacancy = jv.id_jobvacancy', array())->join(array('apb' => $dbActionPlanBarrier), 'apb.id_action_barrier = apr.fk_id_action_barrier', array())->join(array('apg' => $dbActionpPlanHasGroup), 'apg.fk_id_action_plan = apb.fk_id_action_plan', array())->where('apg.fk_id_action_plan_group = ?', $case)->where('apb.fk_id_barrier_intervention = ?', $intervention)->group(array('id_jobvacancy'));
     return $dbActionPlanReferences->fetchAll($selectVacancy);
 }
Exemple #9
0
 /**
  *
  * @param int $id
  * @return Zend_Db_Table_Rowset
  */
 public function listAutomatic($id)
 {
     $select = $this->_selectMatchClient($id);
     $mapperVacancy = new Job_Model_Mapper_JobVacancy();
     $dbPerExperience = App_Model_DbTable_Factory::get('PerExperience');
     $dbJobVacancy = App_Model_DbTable_Factory::get('JOBVacancy');
     $dbJobLocation = App_Model_DbTable_Factory::get('JOBVacancy_has_Location');
     $dbJobScholarity = App_Model_DbTable_Factory::get('JOBVacancy_has_PerScholarity');
     $dbJobTraining = App_Model_DbTable_Factory::get('JOBVacancy_has_Training');
     $dbJobLanguage = App_Model_DbTable_Factory::get('JOBVacancy_has_PerLanguage');
     $dbAddress = App_Model_DbTable_Factory::get('AddAddress');
     $dbPerScholarity = App_Model_DbTable_Factory::get('PerScholarity_has_PerTypeScholarity');
     $dbPerLanguage = App_Model_DbTable_Factory::get('PerLanguage_has_PerLevelKnowledge');
     $dbProfOcupation = App_Model_DbTable_Factory::get('PROFOcupationTimor');
     $dbHandicapped = App_Model_DbTable_Factory::get('handicapped');
     $vacancy = $mapperVacancy->detailVacancy($id);
     // Minimum Age
     if (!empty($vacancy->minimum_age)) {
         $select->having('age >= ?', $vacancy->minimum_age);
     }
     // Maximum Age
     if (!empty($vacancy->maximum_age)) {
         $select->having('age <= ?', $vacancy->maximum_age);
     }
     // Gender
     if (!empty($vacancy->gender)) {
         $select->where('LEFT(c.gender, 1) = ?', $vacancy->gender);
     }
     $selectOcupation = $dbProfOcupation->select()->setIntegrityCheck(false)->from(array('pot1' => $dbProfOcupation))->where('pot1.fk_id_profocupation = pot.fk_id_profocupation')->where('pot1.id_profocupationtimor = ?', $vacancy->fk_id_profocupation);
     // Minimal Experience and the Profesional Occupation
     $select->join(array('xp' => $dbPerExperience), 'xp.fk_id_perdata = c.id_perdata', array())->join(array('pot' => $dbProfOcupation), 'pot.id_profocupationtimor = xp.fk_id_profocupation', array())->where('EXISTS (?)', new Zend_Db_Expr('(' . $selectOcupation . ')'));
     // Minimal Experience
     if (!empty($vacancy->minimum_experience)) {
         $select->where('xp.experience_year >= ?', $vacancy->minimum_experience);
     }
     // Search by SubDistrict
     $subDistricts = $mapperVacancy->listAddress($id);
     if ($subDistricts->count() > 0) {
         $selectAddress = $dbJobLocation->select()->from(array('jl' => $dbJobLocation), array(new Zend_Db_Expr('NULL')))->setIntegrityCheck(false)->where('jl.fk_id_jobvacancy = ?', $id)->where('( jl.fk_id_addcountry = ad.fk_id_addcountry')->orWhere('jl.fk_id_adddistrict = ad.fk_id_adddistrict )');
         $select->join(array('ad' => $dbAddress), 'ad.fk_id_perdata = c.id_perdata', array())->where('EXISTS (?)', new Zend_Db_Expr('(' . $selectAddress . ')'));
     }
     // Search By Scholarity
     $scholarities = $mapperVacancy->listScholarity($id);
     if ($scholarities->count() > 0) {
         $selectScholarity = $dbJobScholarity->select()->from(array('js' => $dbJobScholarity), array(new Zend_Db_Expr('NULL')))->setIntegrityCheck(false)->where('js.fk_id_perscholarity = ps.fk_id_perscholarity')->where('js.fk_id_jobvacancy = ?', $id);
         $select->join(array('ps' => $dbPerScholarity), 'ps.fk_id_perdata = c.id_perdata', array())->where('EXISTS (?)', new Zend_Db_Expr('(' . $selectScholarity . ')'));
     }
     // Search By Training
     $trainings = $mapperVacancy->listTraining($id);
     if ($trainings->count() > 0) {
         $selectTraining = $dbJobTraining->select()->from(array('jt' => $dbJobTraining), array(new Zend_Db_Expr('NULL')))->where('jt.fk_id_perscholarity = pt.fk_id_perscholarity')->where('jt.fk_id_jobvacancy = ?', $id);
         $select->join(array('pt' => $dbPerScholarity), 'pt.fk_id_perdata = c.id_perdata', array())->where('EXISTS (?)', new Zend_Db_Expr('(' . $selectTraining . ')'));
     }
     // Search By Language
     $languages = $mapperVacancy->listLanguage($id);
     if ($languages->count() > 0) {
         $selectLanguage = $dbJobLanguage->select()->from(array('jl' => $dbJobLanguage), array(new Zend_Db_Expr('NULL')))->where('jl.fk_id_perlanguage = pl.fk_id_perlanguage')->where('jl.fk_id_jobvacancy = ?', $id);
         $select->join(array('pl' => $dbPerLanguage), 'pl.fk_id_perdata = c.id_perdata', array())->where('EXISTS (?)', new Zend_Db_Expr('(' . $selectLanguage . ')'));
     }
     // Search by handicapped
     $handicapped = $mapperVacancy->listHandicapped($id);
     if ($handicapped->count() > 0) {
         $selectHandicapped = $dbHandicapped->select()->from(array('hd' => $dbHandicapped), array(new Zend_Db_Expr('NULL')))->where('hd.fk_id_typehandicapped = ph.fk_id_typehandicapped')->where('hd.fk_id_jobvacancy = ?', $id);
         $select->join(array('ph' => $dbHandicapped), 'ph.fk_id_perdata = c.id_perdata', array())->where('EXISTS (?)', new Zend_Db_Expr('(' . $selectHandicapped . ')'));
     }
     $select->where('c.active = ?', 1)->where('c.hired = ?', 0)->group('id_perdata')->order(array('date_registration'));
     return $dbJobVacancy->fetchAll($select);
 }
Exemple #10
0
 /**
  * 
  * @return int|bool
  */
 public function clientVacancy()
 {
     $dbAdapter = Zend_Db_Table_Abstract::getDefaultAdapter();
     $dbAdapter->beginTransaction();
     try {
         $dbJobCandidates = App_Model_DbTable_Factory::get('JOBVacancy_Candidates');
         $dbPersonHistory = App_Model_DbTable_Factory::get('Person_History');
         $dbActionPlanReferences = App_Model_DbTable_Factory::get('Action_Plan_References');
         // Fetch the case
         $case = $this->fetchRow($this->_data['id']);
         // Fetch the vacancy
         $mapperVacancy = new Job_Model_Mapper_JobVacancy();
         $vacancy = $mapperVacancy->fetchRow($this->_data['vacancy']);
         if ($vacancy->active != 1) {
             $this->_message->addMessage('Vaga ida ne\'e taka tiha ona, la bele tau kliente iha lista kandidatu.', App_Message::ERROR);
             return false;
         }
         $where = array('fk_id_jobvacancy = ?' => $this->_data['vacancy'], 'fk_id_perdata = ?' => $case->fk_id_perdata);
         $hasCandidateList = $dbJobCandidates->fetchRow($where);
         // If the candidate is already in candidate list
         if (!empty($hasCandidateList)) {
             $this->_message->addMessage('Kliente iha Lista Kandidatu tiha ona ba vaga empregu iha ne\'e.', App_Message::ERROR);
             return false;
         }
         // Add the client to the shortlist
         $row = $dbJobCandidates->createRow();
         $row->fk_id_jobvacancy = $this->_data['vacancy'];
         $row->fk_id_perdata = $case->fk_id_perdata;
         $row->fk_id_sysuser = Zend_Auth::getInstance()->getIdentity()->id_sysuser;
         $row->source = 'C';
         $row->save();
         // Save history to client
         $rowHistory = $dbPersonHistory->createRow();
         $rowHistory->fk_id_perdata = $case->fk_id_perdata;
         $rowHistory->fk_id_jobvacancy = $this->_data['vacancy'];
         $rowHistory->fk_id_sysuser = Zend_Auth::getInstance()->getIdentity()->id_sysuser;
         $rowHistory->fk_id_dec = Zend_Auth::getInstance()->getIdentity()->fk_id_dec;
         $rowHistory->date_time = Zend_Date::now()->toString('yyyy-MM-dd HH:mm');
         $rowHistory->action = sprintf('KLIENTE SELECIONADO BA LISTA KANDIDATU VAGA EMPREGU NUMERO:%s ', $this->_data['vacancy']);
         $rowHistory->description = 'KLIENTE SELECIONADO BA LISTA KANDIDATU BA VAGA EMPREGU';
         $rowHistory->save();
         // Save the auditing
         $history = sprintf('KLIENTE BA LISTA KANDIDATU: %s - BA VAGA EMPREGU NUMERU: %s ', $case->fk_id_perdata, $this->_data['vacancy']);
         $this->_sysAudit($history);
         // Insert the reference to the action barrier
         $rowReference = $dbActionPlanReferences->createRow();
         $rowReference->fk_id_perdata = $case->fk_id_perdata;
         $rowReference->fk_id_action_plan = $this->_data['id'];
         $rowReference->fk_id_action_barrier = $this->_data['barrier'];
         $rowReference->fk_id_sysuser = Zend_Auth::getInstance()->getIdentity()->id_sysuser;
         $rowReference->fk_id_jobvacancy = $this->_data['vacancy'];
         $rowReference->save();
         $dbAdapter->commit();
         return $this->_data['id'];
     } catch (Exception $e) {
         $dbAdapter->rollBack();
         $this->_message->addMessage($this->_config->messages->error, App_Message::ERROR);
         return false;
     }
 }