Ignore:
Timestamp:
08/03/09 09:52:13 (15 years ago)
Author:
rodsouza
Message:

Ticket #589 - itens (doc. anexo ao ticket) 1, 2, 3, 4 e 5 integralmente e item 6 parcialmente.

File:
1 edited

Legend:

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

    r795 r1245  
    142142 
    143143                if ($this->isAdmin) 
    144                         $query = "SELECT organizacao_id, nome, descricao, ativa, url_imagem FROM organizacao ORDER BY nome"; 
     144                        $query = "SELECT organizacao_id, nome, descricao, ativa, url_imagem, sitio FROM organizacao ORDER BY nome"; 
    145145                else 
    146146                { 
     
    169169         * @access public 
    170170         */ 
    171         function addOrganization($name, $description, $imageURL, $active) 
     171        function addOrganization($name, $description, $imageURL, $active, $siteURL) 
    172172        { 
    173173                $this->_checkAccess(null, true); 
    174174 
    175                 $query = "INSERT INTO organizacao(nome, descricao, url_imagem, ativa) VALUES(?, ?, ?, ?)"; 
    176                 $result = $this->db->query($query, array($name, $description, $imageURL, $active)); 
     175                $query = "INSERT INTO organizacao(nome, descricao, url_imagem, ativa, sitio) VALUES(?, ?, ?, ?, ?)"; 
     176                $result = $this->db->query($query, array($name, $description, $imageURL, $active, $siteURL)); 
    177177                $this->_checkError($result); 
    178178 
     
    190190         * @access public 
    191191         */ 
    192         function updateOrganization($name, $description, $imageURL, $active, $organizationID) 
    193         { 
    194                 $this->_checkAccess($organizationID); 
    195  
    196                 $query = "UPDATE organizacao SET nome = ?, descricao = ?, url_imagem = ?, ativa = ? WHERE (organizacao_id = ?)"; 
    197                 $result = $this->db->query($query, array($name, $description, $imageURL, $active, $organizationID)); 
     192        function updateOrganization($name, $description, $imageURL, $active, $organizationID, $siteURL) 
     193        { 
     194                $this->_checkAccess($organizationID); 
     195 
     196                $query = "UPDATE organizacao SET nome = ?, descricao = ?, url_imagem = ?, ativa = ?, sitio = ? WHERE (organizacao_id = ?)"; 
     197                $result = $this->db->query($query, array($name, $description, $imageURL, $active, $siteURL, $organizationID)); 
    198198                $this->_checkError($result); 
    199199 
     
    618618                $this->_checkAccess($organizationID); 
    619619 
    620                 $query = "SELECT organizacao_id, localidade_id, centro_custo_id, descricao FROM localidade WHERE organizacao_id = ? ORDER BY descricao"; 
     620                $query_fields = 'organizacao_id, localidade_id, centro_custo_id, descricao, empresa, endereco, complemento, cep, bairro, cidade, uf'; 
     621                $query = "SELECT {$query_fields} FROM localidade WHERE organizacao_id = ? ORDER BY descricao"; 
    621622                $result = $this->db->query($query, array($organizationID)); 
    622623                $this->_checkError($result); 
     
    638639         * @access public 
    639640         */ 
    640         function addLocal($organizationID, $costCenter, $description) 
    641         { 
    642                 $this->_checkAccess($organizationID); 
    643  
    644                 $query = "INSERT INTO localidade(organizacao_id, centro_custo_id, descricao) VALUES(?, ?, ?)"; 
    645                 $result = $this->db->query($query, array($organizationID, $costCenter, $description)); 
     641        function addLocal($organizationID, $costCenter, $description, $company, $address, $complement, $zipCode, $neighborhood, $city, $state ) 
     642        { 
     643                $this->_checkAccess($organizationID); 
     644 
     645                $query = "INSERT INTO localidade(organizacao_id, centro_custo_id, descricao, empresa, endereco, complemento, cep, bairro, cidade, uf) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; 
     646                $result = $this->db->query($query, array($organizationID, $costCenter, $description, $company, $address, $complement, $zipCode, $neighborhood, $city, $state )); 
    646647                $this->_checkError($result); 
    647648 
     
    658659         * @access public 
    659660         */ 
    660         function updateLocal($organizationID, $costCenter, $description, $localID) 
    661         { 
    662                 $this->_checkAccess($organizationID); 
    663  
    664                 $query = "UPDATE localidade SET organizacao_id = ?, centro_custo_id = ?, descricao = ? WHERE (localidade_id = ?)"; 
    665                 $result = $this->db->query($query, array($organizationID, $costCenter, $description, $localID)); 
     661        function updateLocal($organizationID, $costCenter, $description, $localID, $company, $address, $complement, $zipCode, $neighborhood, $city, $state ) 
     662        { 
     663                $this->_checkAccess($organizationID); 
     664 
     665                $query = "UPDATE localidade SET organizacao_id = ?, centro_custo_id = ?, descricao = ?, empresa = ?, endereco = ?, complemento = ?, cep = ?, bairro = ?, cidade = ?, uf = ? WHERE (localidade_id = ?)"; 
     666                $result = $this->db->query($query, array($organizationID, $costCenter, $description, $company, $address, $complement, $zipCode, $neighborhood, $city, $state, $localID) ); 
    666667                $this->_checkError($result); 
    667668 
     
    699700 
    700701                $supervisors = '{' . implode(', ', $this->db->GetRow('SELECT COALESCE(titular_funcionario_id, -1) AS titular_funcionario_id, COALESCE(substituto_funcionario_id, -1) AS substituto_funcionario_id FROM area WHERE (area_id = ?) AND (organizacao_id = ?)', array($areaID, $organizationID))) . '}'; 
    701                 $query = "SELECT funcionario_id, funcionario_status_id, centro_custo_id, localidade_id, organizacao_id, area_id, cargo_id, nivel, funcionario_categoria_id FROM funcionario WHERE ((area_id = ?) AND (organizacao_id = ?)) OR (funcionario_id = ANY (?))"; 
     702                $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 (?))"; 
    702703                $result = $this->db->query($query, array($areaID, $organizationID, $supervisors)); 
    703704                $this->_checkError($result); 
     
    772773 
    773774                /* load employee information */ 
    774                 $query = "SELECT f.funcionario_id, f.funcionario_status_id, f.centro_custo_id, f.localidade_id, f.organizacao_id, f.area_id, f.cargo_id, f.nivel, f.funcionario_categoria_id, a.sigla AS area_sigla FROM funcionario f, area a WHERE (f.area_id = a.area_id) AND (f.organizacao_id = $organizationID) AND (f.funcionario_id IN (" . implode(',', array_keys($unifiedResult))  ."))"; 
     775                $query = "SELECT f.funcionario_id, f.funcionario_status_id, f.centro_custo_id, f.localidade_id, f.organizacao_id, f.area_id, f.cargo_id, f.nivel, f.funcionario_categoria_id, f.titulo, a.sigla AS area_sigla FROM funcionario f, area a WHERE (f.area_id = a.area_id) AND (f.organizacao_id = $organizationID) AND (f.funcionario_id IN (" . implode(',', array_keys($unifiedResult))  ."))"; 
    775776                $result = $this->db->query($query); 
    776777                $this->_checkError($result); 
     
    803804         * @access public 
    804805         */ 
    805         function addEmployee($employeeID, $organizationID, $areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID) 
     806        function addEmployee($employeeID, $organizationID, $areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID, $title) 
    806807        { 
    807808                $this->_checkAccess($organizationID); 
     
    818819                } 
    819820 
    820                 $query = "INSERT INTO funcionario(funcionario_id, organizacao_id, area_id, centro_custo_id, localidade_id, funcionario_status_id, cargo_id, nivel, funcionario_categoria_id) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)"; 
    821                 $result = $this->db->query($query, array($employeeID, $organizationID, $areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID)); 
     821                $query = "INSERT INTO funcionario(funcionario_id, organizacao_id, area_id, centro_custo_id, localidade_id, funcionario_status_id, cargo_id, nivel, funcionario_categoria_id, titulo) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; 
     822                $result = $this->db->query($query, array($employeeID, $organizationID, $areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID, $title)); 
    822823                $this->_checkError($result); 
    823824 
     
    839840         * @access public 
    840841         */ 
    841         function updateEmployee($employeeID, $organizationID, $areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID) 
    842         { 
    843                 $this->_checkAccess($organizationID); 
    844  
    845                 $query = "UPDATE funcionario SET area_id = ?, centro_custo_id = ?, localidade_id = ?, funcionario_status_id = ?, cargo_id = ?, nivel = ?, funcionario_categoria_id = ? WHERE (funcionario_id = ?) AND (organizacao_id = ?)"; 
    846                 $result = $this->db->query($query, array($areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID, $employeeID, $organizationID)); 
     842        function updateEmployee($employeeID, $organizationID, $areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID, $title) 
     843        { 
     844                $this->_checkAccess($organizationID); 
     845 
     846                $query = "UPDATE funcionario SET area_id = ?, centro_custo_id = ?, localidade_id = ?, funcionario_status_id = ?, cargo_id = ?, nivel = ?, funcionario_categoria_id = ?, titulo = ? WHERE (funcionario_id = ?) AND (organizacao_id = ?)"; 
     847                $result = $this->db->query($query, array($areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID, $title, $employeeID, $organizationID)); 
    847848                $this->_checkError($result); 
    848849 
     
    10841085                if ($entry === false) 
    10851086                        return array('error' => 'Funcionário não encontrado.'); 
     1087 
    10861088                $outputInfo[] = array( 
    10871089                        'name' => 'Nome', 
    10881090                        'value' => $employeeEntry['cn']); 
     1091 
     1092                $outputInfo[] = array( 
     1093                        'name' => 'Telefone', 
     1094                        'value' => ( ! empty( $employeeEntry['telephonenumber'] ) ? $employeeEntry['telephonenumber'] : '' ) ); 
    10891095 
    10901096                if (!empty($employeeEntry['employeenumber'])) 
     
    11011107                $employeeInfo = $orgchart->getEmployee($employeeID); 
    11021108                $employeeStatusInfo = $orgchart->getEmployeeStatus($employeeInfo['funcionario_status_id']); 
     1109 
    11031110                $outputInfo[] = array( 
    11041111                        'name' => 'Status', 
     
    11131120                } 
    11141121 
    1115                 if (!empty($employeeInfo['cargo_id'])) 
     1122                $cargo = NULL; 
     1123                if ( !empty( $employeeInfo['titulo'] ) ) 
     1124                { 
     1125                        $cargo = $employeeInfo['titulo']; 
     1126                } 
     1127                else if ( !empty($employeeInfo['cargo_id']) ) 
    11161128                { 
    11171129                        $jobTitleInfo = $orgchart->getJobTitle($employeeInfo['cargo_id']); 
    1118                         $outputInfo[] = array( 
    1119                                 'name' => 'Cargo', 
    1120                                 'value' => $jobTitleInfo['descricao'] . ((!empty($employeeInfo['nivel'])) ? (' (Nível: ' . $employeeInfo['nivel'] . ')') : '')); 
    1121                 } 
     1130                        $cargo = $jobTitleInfo['descricao']; 
     1131                } 
     1132 
     1133                if ( $cargo ) 
     1134                        $cargo .= ( !empty($employeeInfo['nivel']) ? " (Nível: {$employeeInfo['nivel']})" : '' ); 
     1135 
     1136                $outputInfo[] = array( 
     1137                        'name' => 'Cargo', 
     1138                        'value' => ( $cargo ? $cargo : '' ) 
     1139                ); 
    11221140 
    11231141                $areaInfo = $orgchart->getArea($employeeInfo['area_id']); 
     
    11301148                        'name' => 'Localidade', 
    11311149                        'value' => $localInfo['descricao']); 
     1150 
     1151                $outputInfo[] = array( 
     1152                        'name' => 'Empresa', 
     1153                        'value' => ( ! empty( $localInfo['empresa'] ) ? $localInfo['empresa'] : '') );; 
     1154 
     1155                $outputInfo[] = array( 
     1156                        'name' => 'Endereço', 
     1157                        'value' => ( ! empty( $localInfo['endereco'] ) ? $localInfo['endereco'] : '') ); 
     1158 
     1159                $outputInfo[] = array( 
     1160                        'name' => 'Complemento', 
     1161                        'value' => ( ! empty( $localInfo['complemento'] ) ? $localInfo['complemento'] : '') );; 
     1162 
     1163                $outputInfo[] = array( 
     1164                        'name' => 'Cep', 
     1165                        'value' => ( ! empty( $localInfo['cep'] ) ? $localInfo['cep'] : '') ); 
     1166 
     1167                $outputInfo[] = array( 
     1168                        'name' => 'Bairro', 
     1169                        'value' => ( ! empty( $localInfo['bairro'] ) ? $localInfo['bairro'] : '') ); 
     1170 
     1171                $outputInfo[] = array( 
     1172                        'name' => 'Cidade', 
     1173                        'value' => ( ! empty( $localInfo['cidade'] ) ? $localInfo['cidade'] : '') ); 
    11321174 
    11331175                if (!empty($employeeInfo['centro_custo_id'])) 
     
    11381180                        'name' => 'Centro de Custo', 
    11391181                        'value' => $costCenterInfo['descricao']); 
     1182 
     1183                $outputInfo[] = array( 
     1184                        'name' => 'e-mail', 
     1185                        'value' => $employeeEntry['mail']); 
     1186 
     1187                $organizationInfo = $orgchart->getOrganization( $employeeInfo['organizacao_id'] ); 
     1188 
     1189                $outputInfo[] = array( 
     1190                        'name' => 'sitio', 
     1191                        'value' => $organizationInfo['sitio']); 
    11401192 
    11411193                return array('info' => $outputInfo); 
     
    12041256                return array('info' => $outputInfo); 
    12051257        } 
     1258 
     1259        /** 
     1260         * Lista todos os telefones da organização. 
     1261         * @return array Lista de telefones da organização. 
     1262         * @access public 
     1263         */ 
     1264        function getTelephones( $organizationID ) 
     1265        { 
     1266                $this -> _checkAccess( $organizationID ); 
     1267 
     1268                $query = "SELECT organizacao_id, telefone_id, descricao, numero FROM telefone WHERE organizacao_id = ? ORDER BY descricao"; 
     1269                $result = $this -> db -> query( $query, array( $organizationID ) ); 
     1270                $this -> _checkError( $result ); 
     1271 
     1272                $output = $result->GetArray(-1); 
     1273                for ($i = 0; $i < count($output); $i++) 
     1274                        for ($j = 0; $j < $result->_numOfFields; $j++) 
     1275                                unset($output[$i][$j]); 
     1276 
     1277                return $output; 
     1278        } 
     1279 
     1280        /** 
     1281         * Adiciona um telefone a uma organização. 
     1282         * @param int $organizationID O ID da organização. 
     1283         * @param string $description A descrição da localidade. 
     1284         * @param string $number String com os números de telefones. 
     1285         * @return bool TRUE se a ação foi concluída com êxito e FALSE caso contrário. 
     1286         * @access public 
     1287         */ 
     1288        function addTelephone( $organizationID, $description, $number ) 
     1289        { 
     1290                $this->_checkAccess( $organizationID ); 
     1291 
     1292                $query = "INSERT INTO telefone( organizacao_id, descricao, numero ) VALUES( ?, ?, ? )"; 
     1293                $result = $this -> db -> query( $query, array( $organizationID, $description, $number ) ); 
     1294                $this -> _checkError( $result ); 
     1295 
     1296                return (($result === false) ? false : true); 
     1297        } 
     1298 
     1299        /** 
     1300         * Remove um telefone. 
     1301         * @param int $organizationID O ID da organização. 
     1302         * @param int $telephoneID O ID do telefone. 
     1303         * @return bool TRUE se a ação foi concluída com êxito e FALSE caso contrário. 
     1304         * @access public 
     1305         */ 
     1306        function removeTelephone( $organizationID, $telephoneID ) 
     1307        { 
     1308                $this->_checkAccess( $organizationID ); 
     1309 
     1310                $query = "DELETE FROM telefone WHERE (telefone_id = ?) AND (organizacao_id = ?)"; 
     1311                $result = $this -> db -> query( $query, array( $telephoneID, $organizationID ) ); 
     1312                $this -> _checkError( $result ); 
     1313 
     1314                return ( ( $result === false ) ? false : true ); 
     1315        } 
     1316 
     1317        /** 
     1318         * Atualiza um telefone. 
     1319         * @param int $organizationID O ID da organização. 
     1320         * @param int $telephoneID O ID do telefone. 
     1321         * @param string $description A descrição do telefone. 
     1322         * @param string $number String com os números de telefones. 
     1323         * @return bool TRUE se a ação foi concluída com êxito e FALSE caso contrário. 
     1324         * @access public 
     1325         */ 
     1326        function updateTelephone( $organizationID, $telephoneID, $description, $number ) 
     1327        { 
     1328                $this->_checkAccess( $organizationID ); 
     1329 
     1330                $query = "UPDATE telefone SET descricao = ?, numero = ? WHERE (telefone_id = ?)"; 
     1331                $result = $this -> db -> query( $query, array( $description, $number, $telephoneID ) ); 
     1332                $this->_checkError( $result ); 
     1333 
     1334                return ( ( $result === false ) ? false : true ); 
     1335        } 
    12061336} 
    12071337?> 
Note: See TracChangeset for help on using the changeset viewer.