Exemplo n.º 1
0
 /**
  * @access public
  * @return void
  */
 public function init()
 {
     parent::init();
     $this->getElement('path')->setValue(self::PATH);
     $this->getElement('title')->setValue(self::TITLE);
     $elements = array();
     $adapter = App_Model_DbTable_Abstract::getDefaultAdapter();
     $mapper = new Fefop_Model_Mapper_Contract();
     $rows = $adapter->fetchAll($mapper->getSelectBeneficiary());
     $optUsers = array();
     array_unshift($optUsers, '');
     foreach ($rows as $row) {
         $optUsers[$row['id']] = $row['name'];
     }
     $elements[] = $this->createElement('select', 'id_beneficiary')->setDecorators($this->getDefaultElementDecorators())->setAttrib('class', 'm-wrap span12 chosen')->setLabel('Benefisiariu')->addMultiOptions($optUsers);
     $this->addElements($elements);
 }
Exemplo n.º 2
0
 /**
  * 
  * @access 	protected
  * @param 	array $data
  * @param 	App_Model_DbTable_Abstract $dbTable
  * @return 	array
  */
 protected function _cleanData(array $data, App_Model_DbTable_Abstract $dbTable)
 {
     $fields = $dbTable->info(App_Model_DbTable_Abstract::COLS);
     foreach ($data as $key => $value) {
         if (!in_array($key, $fields)) {
             unset($data[$key]);
         }
     }
     return $data;
 }
Exemplo n.º 3
0
 /**
  * 
  * @return Zend_Db_Select
  */
 public function getSelectBeneficiary()
 {
     $dbClient = App_Model_DbTable_Factory::get('PerData');
     $dbEduInstitution = App_Model_DbTable_Factory::get('FefpEduInstitution');
     $dbEnterprise = App_Model_DbTable_Factory::get('FEFPEnterprise');
     $dbFPContract = App_Model_DbTable_Factory::get('FPContract');
     $dbAnnualPlanning = App_Model_DbTable_Factory::get('FPAnnualPlanning');
     $dbRiContract = App_Model_DbTable_Factory::get('RIContract');
     $dbFPBeneficiary = App_Model_DbTable_Factory::get('FPBeneficiary');
     $dbDRHContract = App_Model_DbTable_Factory::get('DRHContract');
     $dbDRHBeneficiary = App_Model_DbTable_Factory::get('DRHBeneficiary');
     $dbStaff = App_Model_DbTable_Factory::get('Staff');
     $dbFEContract = App_Model_DbTable_Factory::get('FEContract');
     $dbBusinessPlan = App_Model_DbTable_Factory::get('BusinessPlan');
     $dbPCEContract = App_Model_DbTable_Factory::get('PCEContract');
     $dbPCEGroup = App_Model_DbTable_Factory::get('PCEGroup');
     $dbPerContract = App_Model_DbTable_Factory::get('PERContract');
     $selectEduInstitution = $dbEduInstitution->select()->from(array('ei' => $dbEduInstitution), array('id' => 'id_fefpeduinstitution', 'code' => new Zend_Db_Expr('NULL'), 'name' => 'institution', 'type' => new Zend_Db_Expr("'IE'"), 'label' => new Zend_Db_Expr("'Inst Ensinu'")))->setIntegrityCheck(false);
     $selectClient = $dbClient->select()->from(array('cl' => $dbClient), array('id' => 'id_perdata', 'code' => new Zend_Db_Expr("CONCAT(cl.num_district, '-', cl.num_subdistrict, '-', cl.num_servicecode, '-', cl.num_year, '-', cl.num_sequence)"), 'name' => new Zend_Db_Expr("CONCAT(cl.num_district, '-', cl.num_subdistrict, '-', cl.num_servicecode, '-', cl.num_year, '-', cl.num_sequence, ' - ', cl.first_name, ' ', IF(cl.medium_name, CONCAT( cl.medium_name, ' '), '' ), cl.last_name)"), 'type' => new Zend_Db_Expr("'CL'"), 'label' => new Zend_Db_Expr("'Kliente'")))->setIntegrityCheck(false);
     $selectEnterprise = $dbClient->select()->from(array('et' => $dbEnterprise), array('id' => 'id_fefpenterprise', 'code' => new Zend_Db_Expr('NULL'), 'name' => 'enterprise_name', 'type' => new Zend_Db_Expr("'EM'"), 'label' => new Zend_Db_Expr("'Empreza'")))->setIntegrityCheck(false);
     $selectsUnion = array();
     /**
      *  SELECT MODULE RI
      */
     $selectRi = clone $selectEduInstitution;
     $selectRi->join(array('ri' => $dbRiContract), 'ri.fk_id_fefpeduinstitution = ei.id_fefpeduinstitution', array('fk_id_fefop_contract', 'target' => new Zend_Db_Expr('1')));
     $selectsUnion[] = $selectRi;
     /**
      *  SELECT MODULE FP - TARGET BENEFICIARY
      */
     $selectFpTarget = clone $selectEduInstitution;
     $selectFpTarget->join(array('ap' => $dbAnnualPlanning), 'ap.fk_id_fefpeduinstitution = ei.id_fefpeduinstitution', array())->join(array('fp' => $dbFPContract), 'fp.fk_id_annual_planning = ap.id_annual_planning', array('fk_id_fefop_contract', 'target' => new Zend_Db_Expr('1')));
     $selectsUnion[] = $selectFpTarget;
     /**
      *  SELECT MODULE FP - CLIENT BENEFICIARY
      */
     $selectFpClient = clone $selectClient;
     $selectFpClient->join(array('fpb' => $dbFPBeneficiary), 'fpb.fk_id_perdata = cl.id_perdata', array())->join(array('fp' => $dbFPContract), 'fpb.fk_id_fp_contract = fp.id_fp_contract', array('fk_id_fefop_contract', 'target' => new Zend_Db_Expr('0')));
     $selectsUnion[] = $selectFpClient;
     /**
      *  SELECT MODULE DRH
      */
     $selectDrh = clone $selectClient;
     $selectDrh->join(array('stf' => $dbStaff), 'stf.fk_id_perdata = cl.id_perdata', array())->join(array('dhb' => $dbDRHBeneficiary), 'dhb.fk_id_staff = stf.id_staff', array())->join(array('dhc' => $dbDRHContract), 'dhb.id_drh_beneficiary = dhc.fk_id_drh_beneficiary', array('fk_id_fefop_contract', 'target' => new Zend_Db_Expr('1')));
     $selectsUnion[] = $selectDrh;
     /**
      *  SELECT MODULE FE - ENTERPRISE
      */
     $selectFeEnterprise = clone $selectEnterprise;
     $selectFeEnterprise->join(array('feet' => $dbFEContract), 'feet.fk_id_fefpenterprise = et.id_fefpenterprise', array('fk_id_fefop_contract', 'target' => new Zend_Db_Expr('0')));
     $selectsUnion[] = $selectFeEnterprise;
     /**
      *  SELECT MODULE FE - EDUCATIONAL INSTITUTE
      */
     $selectFeEduInstitute = clone $selectEduInstitution;
     $selectFeEduInstitute->join(array('feei' => $dbFEContract), 'feei.fk_id_fefpeduinstitution = ei.id_fefpeduinstitution', array('fk_id_fefop_contract', 'target' => new Zend_Db_Expr('0')));
     $selectsUnion[] = $selectFeEduInstitute;
     /**
      *  SELECT MODULE FE - CLIENT
      */
     $selectFeClient = clone $selectClient;
     $selectFeClient->join(array('fecl' => $dbFEContract), 'fecl.fk_id_perdata = cl.id_perdata', array('fk_id_fefop_contract', 'target' => new Zend_Db_Expr('1')));
     $selectsUnion[] = $selectFeClient;
     /**
      *  SELECT MODULE PCE - TARGET
      */
     $selectPceTarget = clone $selectClient;
     $selectPceTarget->join(array('pct' => $dbBusinessPlan), 'pct.fk_id_perdata = cl.id_perdata', array('fk_id_fefop_contract', 'target' => new Zend_Db_Expr('1')))->where('pct.fk_id_fefop_contract IS NOT NULL');
     $selectsUnion[] = $selectPceTarget;
     /**
      *  SELECT MODULE PCE FASE I - TARGET
      */
     $selectPceFaseITarget = clone $selectClient;
     $selectPceFaseITarget->join(array('pci' => $dbPCEContract), 'pci.fk_id_perdata = cl.id_perdata', array('fk_id_fefop_contract', 'target' => new Zend_Db_Expr('1')));
     $selectsUnion[] = $selectPceFaseITarget;
     /**
      *  SELECT MODULE PCE - GROUP
      */
     $selectPceGroup = clone $selectClient;
     $selectPceGroup->join(array('pcg' => $dbPCEGroup), 'pcg.fk_id_perdata = cl.id_perdata AND pcg.status = 1', array())->join(array('pctg' => $dbBusinessPlan), 'pcg.fk_id_businessplan = pctg.id_businessplan', array('fk_id_fefop_contract', 'target' => new Zend_Db_Expr('0')))->where('pctg.fk_id_fefop_contract IS NOT NULL');
     $selectsUnion[] = $selectPceGroup;
     /**
      *  SELECT MODULE PER
      */
     $selectPer = clone $selectEnterprise;
     $selectPer->join(array('perc' => $dbPerContract), 'perc.fk_id_fefpenterprise = et.id_fefpenterprise', array('fk_id_fefop_contract', 'target' => new Zend_Db_Expr('1')));
     $selectsUnion[] = $selectPer;
     $adapter = App_Model_DbTable_Abstract::getDefaultAdapter();
     $select = $adapter->select()->union($selectsUnion, Zend_Db_Select::SQL_UNION_ALL);
     return $select;
 }
Exemplo n.º 4
0
 /**
  * 
  * @return array
  */
 public function donorContractCostReport()
 {
     $dbFEFOPFund = App_Model_DbTable_Factory::get('FEFOPFund');
     $dbFEFOPContractFund = App_Model_DbTable_Factory::get('FEFOPContractFund');
     $dbFEFOPContract = App_Model_DbTable_Factory::get('FEFOPContract');
     $dbBudgetCategoryType = App_Model_DbTable_Factory::get('BudgetCategoryType');
     $dbFEFOPTransaction = App_Model_DbTable_Factory::get('FEFOPTransaction');
     //Donors
     $subSelect = $dbFEFOPFund->select()->setIntegrityCheck(false)->distinct()->from($dbFEFOPFund, array('id_fefopfund', 'name_fund', 'type', 'planning' => new Zend_Db_Expr('IFNULL((' . $this->_columnPlanningByFund() . '), 0)'), 'contract' => new Zend_Db_Expr('IFNULL((' . $this->_columnContractByFund() . '), 0)'), 'financial' => new Zend_Db_Expr('IFNULL((' . $this->_columnFinancialByFund() . '), 0)'), 'addcosts' => new Zend_Db_Expr('IFNULL((' . $this->_columnAdditionalCostsByFund() . '), 0)'), 'addcostsplanning' => new Zend_Db_Expr('IFNULL((' . $this->_addCostsPlanningByFund() . '), 0)'), 'bankstmt' => new Zend_Db_Expr('IFNULL((' . $this->_columnBankStatementsByFund() . '), 0)'), 'balance' => new Zend_Db_Expr('IFNULL((' . $this->_columnTotalByFund() . '), 0)')));
     //		->joinLeft(
     //		    $dbFEFOPContractFund->__toString(),
     //		    'FEFOP_Contract_Fund.fk_id_fefopfund = FEFOPFund.id_fefopfund',
     //		    array()
     //		)
     //		->joinLeft(
     //		    $dbFEFOPContract->__toString(),
     //		    'FEFOP_Contract.id_fefop_contract = FEFOP_Contract_Fund.fk_id_fefop_contract',
     //		    array()
     //		);
     //
     //$this->_whereDefault( $subSelect );
     //
     //	if ( !empty( $this->_data['year_start'] ) ) {
     //	    $subSelect->where( '(FEFOP_Contract.id_fefop_contract IS NULL' );
     //	    $subSelect->orWhere( 'YEAR(FEFOP_Contract.date_inserted) >= ?)', $this->_data['year_start'] );
     //	}
     //
     //	if ( !empty( $this->_data['year_finish'] ) ) {
     //	    $subSelect->where( '(FEFOP_Contract.id_fefop_contract IS NULL' );
     //	    $subSelect->orWhere( 'YEAR(FEFOP_Contract.date_inserted) <= ?)', $this->_data['year_finish'] );
     //	}
     $adapter = App_Model_DbTable_Abstract::getDefaultAdapter();
     $rows = $adapter->fetchAll($subSelect);
     $donor = array();
     $totalDonor = array('planning' => 0, 'contract' => 0, 'financial' => 0, 'addcosts' => 0, 'addcostsplanning' => 0, 'bankstmt' => 0, 'balance' => 0);
     foreach ($rows as $row) {
         $donor[$row['type']][$row['id_fefopfund']]['name'] = $row['name_fund'];
         $donor[$row['type']][$row['id_fefopfund']]['planning'] = $row['planning'];
         $donor[$row['type']][$row['id_fefopfund']]['contract'] = $row['contract'];
         $donor[$row['type']][$row['id_fefopfund']]['financial'] = $row['financial'];
         $donor[$row['type']][$row['id_fefopfund']]['addcosts'] = $row['addcosts'];
         $donor[$row['type']][$row['id_fefopfund']]['addcostsplanning'] = $row['addcostsplanning'];
         $donor[$row['type']][$row['id_fefopfund']]['bankstmt'] = $row['bankstmt'];
         $donor[$row['type']][$row['id_fefopfund']]['balance'] = $row['balance'];
         $totalDonor['planning'] += App_General_String::toFloat($row['planning']);
         $totalDonor['contract'] += App_General_String::toFloat($row['contract']);
         $totalDonor['financial'] += App_General_String::toFloat($row['financial']);
         $totalDonor['addcosts'] += App_General_String::toFloat($row['addcosts']);
         $totalDonor['addcostsplanning'] += App_General_String::toFloat($row['addcostsplanning']);
         $totalDonor['bankstmt'] += App_General_String::toFloat($row['bankstmt']);
         $totalDonor['balance'] += App_General_String::toFloat($row['balance']);
     }
     //Dados do Contrato
     $select = $dbFEFOPContract->select()->setIntegrityCheck(false)->distinct()->from($dbFEFOPContract->__toString(), array());
     $this->_joinDefault($select);
     $this->_whereDefault($select);
     //Período
     if (!empty($this->_data['year_start'])) {
         $select->where('YEAR(FEFOP_Contract.date_inserted) >= ?', $this->_data['year_start']);
     }
     if (!empty($this->_data['year_finish'])) {
         $select->where('YEAR(FEFOP_Contract.date_inserted) <= ?', $this->_data['year_finish']);
     }
     $select->columns(array('FEFOP_Modules.id_fefop_modules', 'FEFOP_Programs.id_fefop_programs', 'acronym_module' => 'FEFOP_Modules.acronym', 'acronym_program' => 'FEFOP_Programs.acronym', 'planning' => new Zend_Db_Expr('(' . $this->_columnPlanningByProgramModule() . ')'), 'transfer' => new Zend_Db_Expr('(' . $this->_columnTransferByProgramModule() . ')'), 'total' => new Zend_Db_Expr('(' . $this->_columnTotalByProgramModule() . ')')));
     $rows = $dbFEFOPContract->fetchAll($select);
     $contract = array();
     foreach ($rows as $row) {
         if (!in_array($row['id_fefop_programs'], array_keys($contract))) {
             $contract[$row['id_fefop_programs']]['acronym'] = $row['acronym_program'];
             $contract[$row['id_fefop_programs']]['module'] = array();
             $contract[$row['id_fefop_programs']]['planning'] = 0;
             $contract[$row['id_fefop_programs']]['transfer'] = 0;
             $contract[$row['id_fefop_programs']]['total'] = 0;
         }
         $contract[$row['id_fefop_programs']]['module'][$row['id_fefop_modules']]['acronym'] = $row['acronym_module'];
         if (!isset($contract[$row['id_fefop_programs']]['module'][$row['id_fefop_modules']]['planning'])) {
             $contract[$row['id_fefop_programs']]['module'][$row['id_fefop_modules']]['planning'] = 0;
         }
         if (!isset($contract[$row['id_fefop_programs']]['module'][$row['id_fefop_modules']]['transfer'])) {
             $contract[$row['id_fefop_programs']]['module'][$row['id_fefop_modules']]['transfer'] = 0;
         }
         if (!isset($contract[$row['id_fefop_programs']]['module'][$row['id_fefop_modules']]['total'])) {
             $contract[$row['id_fefop_programs']]['module'][$row['id_fefop_modules']]['total'] = 0;
         }
         $contract[$row['id_fefop_programs']]['module'][$row['id_fefop_modules']]['planning'] += App_General_String::toFloat($row['planning']);
         $contract[$row['id_fefop_programs']]['module'][$row['id_fefop_modules']]['transfer'] += App_General_String::toFloat($row['transfer']);
         $contract[$row['id_fefop_programs']]['module'][$row['id_fefop_modules']]['total'] += App_General_String::toFloat($row['total']);
         $contract[$row['id_fefop_programs']]['planning'] += App_General_String::toFloat($row['planning']);
         $contract[$row['id_fefop_programs']]['transfer'] += App_General_String::toFloat($row['transfer']);
         $contract[$row['id_fefop_programs']]['total'] += App_General_String::toFloat($row['total']);
     }
     //Dados dos Custos
     $select = $dbBudgetCategoryType->select()->setIntegrityCheck(false)->from($dbBudgetCategoryType->__toString(), array('id_budget_category_type', 'description'))->join($dbFEFOPTransaction->__toString(), 'FEFOP_Transaction.fk_id_budget_category_type = BudgetCategoryType.id_budget_category_type', array('amount' => new Zend_Db_Expr('IFNULL(SUM(FEFOP_Transaction.amount), 0)')))->join($dbFEFOPContract->__toString(), 'FEFOP_Contract.id_fefop_contract = FEFOP_Transaction.fk_id_fefop_contract', array());
     $this->_whereDefault($select);
     //Período
     if (!empty($this->_data['year_start'])) {
         $select->where('YEAR(FEFOP_Contract.date_inserted) >= ?', $this->_data['year_start']);
     }
     if (!empty($this->_data['year_finish'])) {
         $select->where('YEAR(FEFOP_Contract.date_inserted) <= ?', $this->_data['year_finish']);
     }
     $select->group(array('BudgetCategoryType.id_budget_category_type'));
     $rows = $dbBudgetCategoryType->fetchAll($select);
     $cost = array();
     foreach ($rows as $row) {
         $cost[$row['id_budget_category_type']]['description'] = $row['description'];
         $cost[$row['id_budget_category_type']]['amount'] = $row['amount'];
     }
     return array('item' => array('donor' => $donor, 'total' => $totalDonor, 'contract' => $contract, 'cost' => $cost));
 }
Exemplo n.º 5
0
 /**
  * 
  * @return Zend_Db_Select
  */
 public function getSelect()
 {
     $dbFEFOPReceipt = App_Model_DbTable_Factory::get('FEFOPReceipt');
     $dbEnterprise = App_Model_DbTable_Factory::get('FEFPEnterprise');
     $dbFEFOPTransactionReceipt = App_Model_DbTable_Factory::get('FEFOPTransactionReceipt');
     $dbFEFOPTransactionHistory = App_Model_DbTable_Factory::get('FEFOPTransactionHistory');
     $dbFEFOPTransactionStatus = App_Model_DbTable_Factory::get('FEFOPTransactionStatus');
     $dbFEFOPTypeTransaction = App_Model_DbTable_Factory::get('FEFOPTypeTransaction');
     $dbFEFOPTransaction = App_Model_DbTable_Factory::get('FEFOPTransaction');
     $dbBudgetCategory = App_Model_DbTable_Factory::get('BudgetCategory');
     $dbBudgetCategoryType = App_Model_DbTable_Factory::get('BudgetCategoryType');
     $dbFEFOPContract = App_Model_DbTable_Factory::get('FEFOPContract');
     $dbFEFOPPrograms = App_Model_DbTable_Factory::get('FEFOPPrograms');
     $dbFEFOPModules = App_Model_DbTable_Factory::get('FEFOPModules');
     //Status Contract
     $dbFEFOPStatus = App_Model_DbTable_Factory::get('FEFOPStatus');
     $dbFEFOPContractStatus = App_Model_DbTable_Factory::get('FEFOPContractStatus');
     $mapperContract = new Fefop_Model_Mapper_Contract();
     $selectBeneficiary = $mapperContract->getSelectBeneficiary();
     $selectWhereBeneficiary = $dbFEFOPTransaction->select()->setIntegrityCheck(false)->from(array('t' => new Zend_Db_Expr('(' . $selectBeneficiary . ')')))->where('target = 1');
     $subSelectContract = $dbFEFOPStatus->select()->setIntegrityCheck(false)->from($dbFEFOPStatus->__toString(), array('id_fefop_status', 'status_description'))->join($dbFEFOPContractStatus->__toString(), 'FEFOP_Status.id_fefop_status = FEFOP_Contract_Status.fk_id_fefop_status', array('fk_id_fefop_contract'))->where('FEFOP_Contract_Status.status = ?', 1)->order('FEFOP_Contract_Status.date_inserted DESC');
     $adapter = App_Model_DbTable_Abstract::getDefaultAdapter();
     $selectStatusContract = $adapter->select()->from(array('s' => new Zend_Db_Expr('(' . $subSelectContract . ')')), array('*'))->group('s.fk_id_fefop_contract');
     $selectHistory = $dbFEFOPTransactionHistory->select()->from(array('th' => $dbFEFOPTransactionHistory), array('fk_id_fefop_transaction'))->setIntegrityCheck(false)->join(array('ts' => $dbFEFOPTransactionStatus), 'ts.id_fefop_transaction_status = th.fk_id_fefop_transaction_status')->where('th.status = ?', 1)->order('id_fefop_transaction_history DESC');
     $select = $dbFEFOPTransaction->select()->from(array('t' => $dbFEFOPTransaction))->setIntegrityCheck(false)->join(array('tt' => $dbFEFOPTypeTransaction), 'tt.id_fefop_type_transaction = t.fk_id_fefop_type_transaction', array('type_transaction' => 'description', 'code_transaction' => 'acronym'))->join(array('ben' => new Zend_Db_Expr('(' . $selectWhereBeneficiary . ')')), 'ben.fk_id_fefop_contract = t.fk_id_fefop_contract', array('beneficiary' => new Zend_Db_Expr('GROUP_CONCAT(ben.name)')))->joinLeft(array('bc' => $dbBudgetCategory), 'bc.id_budget_category = t.fk_id_budget_category', array('expense' => 'description'))->joinLeft(array('bct' => $dbBudgetCategoryType), 'bct.id_budget_category_type = t.fk_id_budget_category_type', array('component' => 'description'))->joinLeft(array('tr' => $dbFEFOPTransactionReceipt), 'tr.fk_id_fefop_transaction = t.id_fefop_transaction', array('fk_id_fefop_receipt'))->joinLeft(array('trc' => $dbFEFOPReceipt), 'tr.fk_id_fefop_receipt = trc.id_fefop_receipt', array('identifier', 'fk_id_fefpenterprise'))->joinLeft(array('et' => $dbEnterprise), 'et.id_fefpenterprise = trc.fk_id_fefpenterprise', array('enterprise_name'))->join(array('ths' => new Zend_Db_Expr('(' . $selectHistory . ')')), 't.id_fefop_transaction = ths.fk_id_fefop_transaction', array('id_fefop_transaction_status', 'status_description' => 'description'))->join($dbFEFOPContract->__toString(), 'FEFOP_Contract.id_fefop_contract = t.fk_id_fefop_contract', array('code_contract' => new Zend_Db_Expr("CONCAT(FEFOP_Contract.num_program, '-', FEFOP_Contract.num_module, '-', FEFOP_Contract.num_district, '-', FEFOP_Contract.num_year, '-', FEFOP_Contract.num_sequence)")))->join(array('s' => new Zend_Db_Expr('(' . $selectStatusContract . ')')), 's.fk_id_fefop_contract = FEFOP_Contract.id_fefop_contract', array('status_contract' => 's.status_description'))->join($dbFEFOPPrograms->__toString(), 'FEFOP_Programs.id_fefop_programs = FEFOP_Contract.fk_id_fefop_programs', array('program' => new Zend_Db_Expr("CONCAT(FEFOP_Programs.acronym, ' - ', FEFOP_Programs.description)")))->join($dbFEFOPModules->__toString(), 'FEFOP_Modules.id_fefop_modules = FEFOP_Contract.fk_id_fefop_modules', array('module' => new Zend_Db_Expr("CONCAT(FEFOP_Modules.acronym, ' - ', FEFOP_Modules.description)")))->group(array('id_fefop_transaction'))->order(array('id_fefop_transaction DESC'));
     return $select;
 }
Exemplo n.º 6
0
 /**
  * 
  * @access 	public
  * @param 	App_Model_DbTable_Abstract $dbTable
  * @param 	mixed $param
  * @return 	boolean
  */
 protected function _updateStatus(App_Model_DbTable_Abstract $dbTable, $param)
 {
     try {
         $data = array('liberado' => $param['action']);
         $where = $dbTable->getAdapter()->quoteInto('id IN(?)', $param['value']);
         $dbTable->update($data, $where);
         return true;
     } catch (Exception $e) {
         return false;
     }
 }
Exemplo n.º 7
0
 /**
  * 
  */
 public function getFilters()
 {
     $filters = $this->_data;
     if (!empty($this->_data['fk_id_dec'])) {
         $dbDec = App_Model_DbTable_Factory::get('Dec');
         $select = $dbDec->select()->from($dbDec, array('name_dec'))->where('id_dec IN(?)', $this->_data['fk_id_dec']);
         $rows = $dbDec->fetchAll($select);
         $filters['ceop'] = '';
         foreach ($rows as $key => $row) {
             $filters['ceop'] .= $row->name_dec;
             if ($rows->count() != ++$key) {
                 $filters['ceop'] .= ', ';
             }
         }
     }
     if (!empty($this->_data['fk_id_counselor'])) {
         $dbSysUser = App_Model_DbTable_Factory::get('SysUser');
         $select = $dbSysUser->select()->from($dbSysUser, array('name'))->where('id_sysuser IN(?)', $this->_data['fk_id_counselor']);
         $rows = $dbSysUser->fetchAll($select);
         $filters['fk_id_counselor'] = '';
         foreach ($rows as $key => $row) {
             $filters['fk_id_counselor'] .= $row->name;
             if ($rows->count() != ++$key) {
                 $filters['fk_id_counselor'] .= ', ';
             }
         }
     }
     if (!empty($this->_data['fk_id_addcountry'])) {
         $mapperCountry = new Register_Model_Mapper_AddCountry();
         $contry = $mapperCountry->fetchRow($this->_data['fk_id_addcountry']);
         $filters['country'] = $contry->country;
     }
     if (!empty($this->_data['fk_id_adddistrict'])) {
         $mapperDistrict = new Register_Model_Mapper_AddDistrict();
         $district = $mapperDistrict->fetchRow($this->_data['fk_id_adddistrict']);
         $filters['district'] = $district->District;
     }
     if (!empty($this->_data['fk_id_fefpenterprise'])) {
         $mapperEnterprise = new Register_Model_Mapper_Enterprise();
         $enterprise = $mapperEnterprise->fetchRow($this->_data['fk_id_fefpenterprise']);
         $filters['enterprise'] = $enterprise->enterprise_name;
     }
     if (!empty($this->_data['fk_id_fefpeduinstitution'])) {
         $mapperEducationInstititue = new Register_Model_Mapper_EducationInstitute();
         $educationInstititute = $mapperEducationInstititue->fetchRow($this->_data['fk_id_fefpeduinstitution']);
         $filters['institute'] = $educationInstititute->institution;
     }
     if (!empty($this->_data['fk_id_profocupation'])) {
         $mapperOccupation = new Register_Model_Mapper_ProfOcupationTimor();
         $occupation = $mapperOccupation->fetchRow($this->_data['fk_id_profocupation']);
         $filters['occupation'] = $occupation['acronym'] . ' ' . $occupation['ocupation_name_timor'];
     }
     if (!empty($this->_data['fk_id_scholarity_area'])) {
         $mapperScholarityArea = new Register_Model_Mapper_ScholarityArea();
         $area = $mapperScholarityArea->fetchRow($this->_data['fk_id_scholarity_area']);
         $filters['area'] = $area['scholarity_area'];
     }
     if (!empty($this->_data['fk_id_pertypescholarity'])) {
         $mapperTypeScholarity = new Register_Model_Mapper_PerTypeScholarity();
         $typeScholarity = $mapperTypeScholarity->fetchRow($this->_data['fk_id_pertypescholarity']);
         $filters['type_scholarity'] = $typeScholarity['type_scholarity'];
     }
     if (!empty($this->_data['fk_typeinstitution'])) {
         $mapperTypeInstitution = App_Model_DbTable_Factory::get('TypeInstitution');
         $typeInstitution = $mapperTypeInstitution->fetchRow(array('id_typeinstitution = ?' => $this->_data['fk_typeinstitution']));
         $filters['type_institution'] = $typeInstitution['type_institution'];
     }
     if (!empty($this->_data['fk_id_sectorindustry'])) {
         $mapperIsicClass = App_Model_DbTable_Factory::get('ISICClassTimor');
         $sectorIndustry = $mapperIsicClass->fetchRow(array('id_isicclasstimor = ?' => $this->_data['fk_id_sectorindustry']));
         $filters['sector_industry'] = $sectorIndustry['name_classtimor'];
     }
     if (!empty($this->_data['fk_fefptypeenterprite'])) {
         $mapperTypeEnterprise = App_Model_DbTable_Factory::get('FEFPTypeEnterprise');
         $typeEnterprise = $mapperTypeEnterprise->fetchRow(array('id_fefptypeenterprise = ?' => $this->_data['fk_fefptypeenterprite']));
         $filters['type_enterprise'] = $typeEnterprise['type_enterprise'];
     }
     if (!empty($this->_data['fk_id_perlevelscholarity'])) {
         $dbLevelScholarity = App_Model_DbTable_Factory::get('PerLevelScholarity');
         $levelScholarity = $dbLevelScholarity->fetchRow(array('id_perlevelscholarity = ?' => $this->_data['fk_id_perlevelscholarity']));
         $filters['level_scholarity'] = $levelScholarity['level_scholarity'];
     }
     if (!empty($this->_data['fk_id_perscholarity'])) {
         $mapperScholarity = new Register_Model_Mapper_PerScholarity();
         $course = $mapperScholarity->fetchRow($this->_data['fk_id_perscholarity']);
         $filters['course'] = (empty($course['external_code']) ? '' : $course['external_code'] . ' - ') . $course['scholarity'];
     }
     if (!empty($this->_data['fk_id_sysuser'])) {
         $mapperSysUser = new Admin_Model_Mapper_SysUser();
         $user = $mapperSysUser->fetchRow($this->_data['fk_id_sysuser']);
         $filters['user'] = $user['name'] . ' (' . $user['login'] . ')';
     }
     if (!empty($this->_data['fk_id_department'])) {
         $mapperDepartment = new Admin_Model_Mapper_Department();
         $department = $mapperDepartment->fetchRow($this->_data['fk_id_department']);
         $filters['department'] = $department['name'];
     }
     if (!empty($this->_data['fk_id_campaign_type'])) {
         $mapperCampaignType = new Sms_Model_Mapper_CampaignType();
         $campaignType = $mapperCampaignType->fetchRow($this->_data['fk_id_campaign_type']);
         $filters['campaign_type'] = $campaignType['campaign_type'];
     }
     if (!empty($this->_data['status_campaign'])) {
         $view = Zend_Layout::getMvcInstance()->getView();
         $optStatuses = $view->campaign()->getStatuses();
         $filters['status_campaign'] = $optStatuses[$this->_data['status_campaign']];
     }
     if (!empty($this->_data['fk_id_campaign'])) {
         $mapperCampaign = new Sms_Model_Mapper_Campaign();
         $campaign = $mapperCampaign->fetchRow($this->_data['fk_id_campaign']);
         $filters['campaign_title'] = $campaign['campaign_title'];
     }
     if (!empty($this->_data['id_fefop_programs']) || !empty($this->_data['fk_id_fefop_programs'])) {
         $dbFEFOPPrograms = App_Model_DbTable_Factory::get('FEFOPPrograms');
         if (!empty($this->_data['id_fefop_programs'])) {
             if (!is_array($this->_data['id_fefop_programs'])) {
                 $row = $dbFEFOPPrograms->find($this->_data['id_fefop_programs'])->current();
                 $filters['fefop_program'] = $row->acronym . ' - ' . $row->description;
             } else {
                 $select = $dbFEFOPPrograms->select()->from($dbFEFOPPrograms, array('description', 'acronym'))->where('id_fefop_programs IN(?)', $this->_data['id_fefop_programs']);
                 $rows = $dbFEFOPPrograms->fetchAll($select);
                 $filters['fefop_program'] = '';
                 foreach ($rows as $key => $row) {
                     $filters['fefop_program'] .= $row->acronym . ' - ' . $row->description;
                     if ($rows->count() != ++$key) {
                         $filters['fefop_program'] .= ', ';
                     }
                 }
             }
         } else {
             if (!empty($this->_data['fk_id_fefop_programs'])) {
                 $row = $dbFEFOPPrograms->find($this->_data['fk_id_fefop_programs'])->current();
                 $filters['fefop_program'] = $row->acronym . ' - ' . $row->description;
             }
         }
     }
     if (!empty($this->_data['id_fefop_modules']) || !empty($this->_data['fk_id_fefop_modules'])) {
         $dbFEFOPModules = App_Model_DbTable_Factory::get('FEFOPModules');
         if (!empty($this->_data['id_fefop_modules'])) {
             if (!is_array($this->_data['id_fefop_modules'])) {
                 $row = $dbFEFOPModules->find($this->_data['id_fefop_modules'])->current();
                 $filters['fefop_module'] = $row->acronym . ' - ' . $row->description;
             } else {
                 $select = $dbFEFOPModules->select()->from($dbFEFOPModules, array('description', 'acronym'))->where('id_fefop_modules IN(?)', $this->_data['id_fefop_modules']);
                 $rows = $dbFEFOPModules->fetchAll($select);
                 $filters['fefop_module'] = '';
                 foreach ($rows as $key => $row) {
                     $filters['fefop_module'] .= $row->acronym . ' - ' . $row->description;
                     if ($rows->count() != ++$key) {
                         $filters['fefop_module'] .= ', ';
                     }
                 }
             }
         } else {
             if (!empty($this->_data['fk_id_fefop_modules'])) {
                 $row = $dbFEFOPModules->find($this->_data['fk_id_fefop_modules'])->current();
                 $filters['fefop_module'] = $row->acronym . ' - ' . $row->description;
             }
         }
     }
     if (!empty($this->_data['id_adddistrict'])) {
         $dbAddDistrict = App_Model_DbTable_Factory::get('AddDistrict');
         if (is_array($this->_data['id_adddistrict'])) {
             $select = $dbAddDistrict->select()->from($dbAddDistrict, array('District'))->where('id_adddistrict IN(?)', $this->_data['id_adddistrict']);
             $rows = $dbAddDistrict->fetchAll($select);
             $filters['district'] = '';
             foreach ($rows as $key => $row) {
                 $filters['district'] .= $row->District;
                 if ($rows->count() != ++$key) {
                     $filters['district'] .= ', ';
                 }
             }
         } else {
             $row = $dbAddDistrict->find($this->_data['id_adddistrict'])->current();
             $filters['district'] = $row->District;
         }
     }
     if (!empty($this->_data['num_district'])) {
         $row = App_Model_DbTable_Factory::get('AddDistrict')->fetchRow(array('acronym = ?' => $this->_data['num_district']));
         $filters['district'] = $row->District;
     }
     if (!empty($this->_data['id_scholarity_area'])) {
         $row = App_Model_DbTable_Factory::get('ScholarityArea')->find($this->_data['id_scholarity_area'])->current();
         $filters['scholarity_area'] = (empty($row->acronym) ? '' : $row->acronym . ' - ') . $row->scholarity_area;
     }
     if (!empty($this->_data['id_profocupationtimor'])) {
         $row = App_Model_DbTable_Factory::get('PROFOcupationTimor')->find($this->_data['id_profocupationtimor'])->current();
         $filters['ocupationtimor'] = $row->acronym . ' - ' . $row->ocupation_name_timor;
     }
     if (!empty($this->_data['id_fefpeduinstitution'])) {
         $row = App_Model_DbTable_Factory::get('FefpEduInstitution')->find($this->_data['id_fefpeduinstitution'])->current();
         $filters['institution'] = $row->institution;
     }
     if (!empty($this->_data['fk_id_user_inserted'])) {
         $row = App_Model_DbTable_Factory::get('SysUser')->find($this->_data['fk_id_user_inserted'])->current();
         $filters['user_inserted'] = $row->name;
     }
     if (!empty($this->_data['fk_id_user_removed'])) {
         $row = App_Model_DbTable_Factory::get('SysUser')->find($this->_data['fk_id_user_removed'])->current();
         $filters['user_removed'] = $row->name;
     }
     if (array_key_exists('status', $this->_data) && is_numeric($this->_data['status'])) {
         $filters['status_description'] = $this->_data['status'] ? 'Loos' : 'Lae';
     }
     if (!empty($this->_data['date_registration_ini'])) {
         $filters['date_registration_ini'] = $this->_data['date_registration_ini'];
     }
     if (!empty($this->_data['date_registration_fim'])) {
         $filters['date_registration_fim'] = $this->_data['date_registration_fim'];
     }
     if (!empty($this->_data['num_year'])) {
         $filters['num_year'] = $this->_data['num_year'];
     }
     if (!empty($this->_data['num_sequence'])) {
         $filters['num_sequence'] = $this->_data['num_sequence'];
     }
     if (array_key_exists('minimum_amount', $this->_data) && array_key_exists('maximum_amount', $this->_data)) {
         $min = new Zend_Currency('en_US');
         $min->setValue($this->_data['minimum_amount']);
         $max = new Zend_Currency('en_US');
         $max->setValue($this->_data['maximum_amount']);
         $filters['minmaxamount'] = $min . ' - ' . $max;
     }
     if (!empty($this->_data['id_fefop_status']) || !empty($this->_data['fk_id_fefop_status'])) {
         $dbFEFOPStatus = App_Model_DbTable_Factory::get('FEFOPStatus');
         if (!empty($this->_data['id_fefop_status'])) {
             if (!is_array($this->_data['id_fefop_status'])) {
                 $row = $dbFEFOPStatus->find($this->_data['id_fefop_status'])->current();
                 $filters['fefop_status'] = $row->status_description;
             } else {
                 $select = $dbFEFOPStatus->select()->from($dbFEFOPStatus, array('status_description'))->where('id_fefop_status IN(?)', $this->_data['id_fefop_status']);
                 $rows = $dbFEFOPStatus->fetchAll($select);
                 $filters['fefop_status'] = '';
                 foreach ($rows as $key => $row) {
                     $filters['fefop_status'] .= $row->status_description;
                     if ($rows->count() != ++$key) {
                         $filters['fefop_status'] .= ', ';
                     }
                 }
             }
         } else {
             $row = $dbFEFOPStatus->find($this->_data['fk_id_fefop_status'])->current();
             $filters['fefop_status'] = $row->status_description;
         }
     }
     if (!empty($this->_data['id_budget_category_type'])) {
         $row = App_Model_DbTable_Factory::get('BudgetCategoryType')->find($this->_data['id_budget_category_type'])->current();
         $filters['budget_category_type'] = $row->description;
     }
     if (!empty($this->_data['type_fefopfund'])) {
         if ('G' == $this->_data['type_fefopfund']) {
             $filters['description_type_fefopfund'] = 'Governo';
         } else {
             $filters['description_type_fefopfund'] = 'Donor';
         }
     }
     if (!empty($this->_data['id_beneficiary'])) {
         $mapper = new Fefop_Model_Mapper_Contract();
         $adapter = App_Model_DbTable_Abstract::getDefaultAdapter();
         $select = $adapter->select()->from(array('b' => new Zend_Db_Expr('(' . $mapper->getSelectBeneficiary() . ')')), array('name'))->where('b.id = ?', $this->_data['id_beneficiary']);
         $row = $adapter->fetchRow($select);
         $filters['beneficiary'] = $row['name'];
     }
     if (!empty($this->_data['type_beneficiary'])) {
         switch ($this->_data['type_beneficiary']) {
             case 'fk_id_staff':
                 $type_beneficiary = 'Empreza Staff';
                 break;
             case 'fk_id_fefpenterprise':
                 $type_beneficiary = 'Empreza';
                 break;
             case 'fk_id_fefpeduinstitution':
                 $type_beneficiary = 'Inst Ensinu';
                 break;
             case 'fk_id_perdata':
                 $type_beneficiary = 'Kliente';
                 break;
             default:
                 $type_beneficiary = 'N/A';
         }
         $filters['type_beneficiary'] = $type_beneficiary;
     }
     return $filters;
 }