Changeset 6201 for branches/2.2
- Timestamp:
- 05/15/12 18:49:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/workflow/inc/local/classes/class.wf_orgchart.php
r3835 r6201 16 16 */ 17 17 var $db; 18 var $ldap; 18 19 19 20 /** … … 26 27 $this->db = &Factory::getInstance('WorkflowObjects')->getDBWorkflow()->Link_ID; 27 28 $this->db->setFetchMode(ADODB_FETCH_ASSOC); 29 30 $this->ldap = Factory::getInstance('wf_cached_ldap'); 28 31 } 29 32 … … 1136 1139 1137 1140 /** 1141 * Busca lista de funcionários pela sua localidade. 1142 * 1143 * Este método busca todos os funcionários de uma localidade, ou, caso a localidade não seja passada, retorna todos os funcionários. 1144 * @param int $localID O ID da localidade. 1145 * @param int $organizationID O ID da organização. 1146 * @param boolean $searchLdap True, caso seja necessário buscar no LDAP os dados dos usuários. Ou false, caso contrário. 1147 * @return array Uma array contendo os dados dos usários e sua localidade 1148 * @access public 1149 */ 1150 function getEmployeesByLocalID($localID = 0, $organizationID = 1, $searchLdap = false) 1151 { 1152 if(!is_numeric($localID) || !is_numeric($organizationID)) 1153 return false; 1154 1155 $query = "SELECT DISTINCT " . 1156 " l.organizacao_id, " . 1157 " l.localidade_id, " . 1158 " l.descricao AS localidade_descricao, " . 1159 " f.funcionario_id, " . 1160 " f.area_id, " . 1161 " a.sigla AS area_sigla " . 1162 "FROM funcionario f " . 1163 "INNER JOIN localidade l " . 1164 "ON (f.localidade_id = l.localidade_id) " . 1165 "INNER JOIN area a " . 1166 "ON (f.area_id = a.area_id) " . 1167 "INNER JOIN funcionario_status fs " . 1168 "ON (f.funcionario_status_id = fs.funcionario_status_id) " . 1169 "WHERE (l.organizacao_id = ?) AND (fs.exibir = 'S') "; 1170 1171 $param[] = $organizationID; 1172 if(!empty($localID)){ 1173 $query .= " AND l.localidade_id = ? "; 1174 $param[] = $localID; 1175 } 1176 1177 $query .= "ORDER BY l.descricao, a.sigla "; 1178 1179 $result = $this->db->query($query, $param); 1180 if (!$result) 1181 return false; 1182 1183 $output = $result->GetArray(-1); 1184 1185 if(is_array($output) && $searchLdap){ 1186 foreach($output AS $k => $value){ 1187 $user_data = $this->ldap->getEntryByID($value['funcionario_id']); 1188 $output[$k]['nome'] = $user_data['cn']; 1189 $output[$k]['telefone'] = $user_data['telephonenumber']; 1190 } 1191 } 1192 1193 return $output; 1194 } 1195 1196 /** 1138 1197 * Busca lista de funcionários de uma área pelo ID da área. 1139 1198 *
Note: See TracChangeset
for help on using the changeset viewer.