Ignore:
Timestamp:
02/24/10 15:22:40 (14 years ago)
Author:
pedroerp
Message:

Ticket #869 - Inseridas tags 'titular' e 'substituto' na lista de usuários da adm do organograma.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/workflow/inc/class.so_orgchart.inc.php

    r2056 r2063  
    699699                $this->_checkAccess($organizationID); 
    700700 
    701                 $supervisors = '{' . implode(', ', $this->db->GetRow('SELECT COALESCE(a.titular_funcionario_id, -1) AS titular_funcionario_id, COALESCE(s.funcionario_id, -1) AS substituto_funcionario_id FROM area a LEFT OUTER JOIN substituicao s ON ((a.area_id = s.area_id) AND (CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim)) WHERE (area_id = ?) AND (organizacao_id = ?)', array($areaID, $organizationID))) . '}'; 
     701                /* gather some info from the area */ 
     702                $areaInfo = $this->db->query('SELECT COALESCE(a.titular_funcionario_id, -1) AS titular_funcionario_id, COALESCE(s.funcionario_id, -1) AS substituto_funcionario_id FROM area a LEFT OUTER JOIN substituicao s ON ((a.area_id = s.area_id) AND (CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim)) WHERE (a.organizacao_id = ?) AND (a.area_id = ?)', array($organizationID, $areaID))->GetArray(-1); 
     703                if (empty($areaInfo)) 
     704                        return false; 
     705                $areaInfo = $areaInfo[0]; 
     706                $supervisors = '{' . implode(', ', $areaInfo) . '}'; 
     707 
    702708                $query = "SELECT funcionario_id, funcionario_status_id, centro_custo_id, localidade_id, organizacao_id, area_id, cargo_id, nivel, funcionario_categoria_id, titulo FROM funcionario WHERE ((area_id = ?) AND (organizacao_id = ?)) OR (funcionario_id = ANY (?))"; 
    703709                $result = $this->db->query($query, array($areaID, $organizationID, $supervisors)); 
     
    711717                        $output[$i]['funcionario_id_desc'] = ''; 
    712718                        $output[$i]['uid'] = ''; 
     719 
     720                        if (in_array($output[$i]['funcionario_id'], $areaInfo)) 
     721                                $output[$i]['chief'] = ($output[$i]['funcionario_id'] == $areaInfo['titular_funcionario_id']) ? 1 : 2; 
     722 
    713723                        if (($entry = $cachedLDAP->getEntryByID($output[$i]['funcionario_id']))) 
    714724                        { 
Note: See TracChangeset for help on using the changeset viewer.