Changeset 2056
- Timestamp:
- 02/23/10 15:28:20 (14 years ago)
- Location:
- trunk/workflow
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/workflow/inc/class.so_orgchart.inc.php
r2042 r2056 699 699 $this->_checkAccess($organizationID); 700 700 701 $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 areaWHERE (area_id = ?) AND (organizacao_id = ?)', array($areaID, $organizationID))) . '}';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))) . '}'; 702 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 (?))"; 703 703 $result = $this->db->query($query, array($areaID, $organizationID, $supervisors)); … … 863 863 $this->_checkAccess($organizationID); 864 864 865 $query = 'SELECT sigla FROM area WHERE (? IN (titular_funcionario_id, substituto_funcionario_id,auxiliar_funcionario_id))';865 $query = 'SELECT DISTINCT(a.sigla) FROM area a LEFT OUTER JOIN substituicao s USING (area_id) WHERE (? IN (a.titular_funcionario_id, s.funcionario_id, a.auxiliar_funcionario_id))'; 866 866 $areas = array(); 867 867 $resultSet = $this->db->query($query, $employeeID); … … 871 871 { 872 872 $errors = array( 873 "O funcionário \"" . $GLOBALS['workflow']['factory']->getInstance('WorkflowLDAP')->getName($employeeID) . "\" é titular, substituto ouauxiliar administrativo das seguintes áreas: " . implode(", ", $areas),873 "O funcionário \"" . $GLOBALS['workflow']['factory']->getInstance('WorkflowLDAP')->getName($employeeID) . "\" é titular, substituto, já participou de substituição ou é auxiliar administrativo das seguintes áreas: " . implode(", ", $areas), 874 874 '-----------------', 875 875 'Se você quiser excluir este funcionário, precisa removê-lo dos "cargos" que ele possui nas áreas citadas.' … … 901 901 $area_condition = ""; 902 902 if (($areaID != -1) && !empty($areaID)) { 903 $area_condition = " AND a rea_id = ? ";903 $area_condition = " AND a.area_id = ? "; 904 904 $values[]= $areaID; 905 905 } 906 906 907 $query = "SELECT a rea_id, centro_custo_id, organizacao_id, area_status_id, titular_funcionario_id, superior_area_id, sigla, descricao, ativa, auxiliar_funcionario_id FROM areaWHERE organizacao_id = ? " . $area_condition . " ORDER BY sigla";907 $query = "SELECT a.area_id, a.centro_custo_id, a.organizacao_id, a.area_status_id, a.titular_funcionario_id, a.superior_area_id, a.sigla, a.descricao, a.ativa, a.auxiliar_funcionario_id, s.funcionario_id 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 organizacao_id = ? " . $area_condition . " ORDER BY sigla"; 908 908 $result = $this->db->query($query, $values); 909 909 $this->_checkError($result); -
trunk/workflow/inc/class.so_userinterface.inc.php
r2048 r2056 234 234 235 235 /* gather some info from the area */ 236 $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 USING(area_id) WHERE (a.organizacao_id = ?) AND (a.area_id = ?) AND ((CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim) OR (s.substituicao_id IS NULL))', array($organizationID, $areaID))->GetArray(-1);236 $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); 237 237 if (empty($areaInfo)) 238 238 return false; … … 509 509 function getAreaWithSubtituteBoss( $organizationID ) 510 510 { 511 $result = $this -> db -> query( "SELECT a.sigla as area, a.titular_funcionario_id as titular, s.funcionario_id as substituto, s.data_inicio, s.data_fim FROM area a INNER JOIN substituicao s USING (area_id) WHERE (organizacao_id = ?) and CURRENT_DATE BETWEEN data_inicio AND data_fimORDER BY area", array( $organizationID ) );511 $result = $this -> db -> query( "SELECT a.sigla as area, a.titular_funcionario_id as titular, s.funcionario_id as substituto, s.data_inicio, s.data_fim FROM area a INNER JOIN substituicao s ON ((a.area_id = s.area_id) AND (CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim)) WHERE (organizacao_id = ?) ORDER BY area", array( $organizationID ) ); 512 512 513 513 $cachedLDAP = $GLOBALS[ 'workflow' ][ 'factory' ] -> newInstance( 'CachedLDAP' ); -
trunk/workflow/inc/local/classes/class.wf_orgchart.php
r2042 r2056 139 139 " FROM area a " . 140 140 " LEFT OUTER JOIN substituicao s " . 141 " USING(area_id) " .141 " ON ((a.area_id = s.area_id) AND (CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim)) " . 142 142 " WHERE " . 143 143 " (a.organizacao_id = ?) " . 144 " AND " .145 " ((CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim) " .146 " OR " .147 " (s.substituicao_id is null)) " .148 144 " ORDER BY a.sigla, a.descricao"; 149 145 … … 334 330 " FROM area a " . 335 331 " LEFT OUTER JOIN substituicao s " . 336 " USING(area_id) " .332 " ON ((a.area_id = s.area_id) AND (CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim)) " . 337 333 " WHERE " . 338 334 " (a.area_id = ?) " . 339 " AND " .340 " ((CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim) " .341 " OR " .342 " (s.substituicao_id is null)) " .343 335 " ORDER BY a.sigla, a.descricao"; 344 336 … … 381 373 " FROM area a " . 382 374 " LEFT OUTER JOIN substituicao s " . 383 " USING(area_id) " .375 " ON ((a.area_id = s.area_id) AND (CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim)) " . 384 376 " WHERE " . 385 377 " (UPPER(a.sigla) = UPPER(?)) " . 386 378 " AND " . 387 379 " (a.organizacao_id = ?) " . 388 " AND " .389 " ((CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim) " .390 " OR " .391 " (s.substituicao_id is null)) " .392 380 " ORDER BY a.sigla, a.descricao"; 393 381 … … 431 419 " FROM area a " . 432 420 " LEFT OUTER JOIN substituicao s " . 433 " USING(area_id) " .421 " ON ((a.area_id = s.area_id) AND (CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim)) " . 434 422 " WHERE " . 435 423 " (a.area_status_id = ?) " . 436 " AND " .437 " ((CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim) " .438 " OR " .439 " (s.substituicao_id is null)) " .440 424 " ORDER BY a.sigla, a.descricao"; 441 425 … … 483 467 " FROM area a " . 484 468 " LEFT OUTER JOIN substituicao s " . 485 " USING(area_id) " .469 " ON ((a.area_id = s.area_id) AND (CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim)) " . 486 470 " WHERE " . 487 471 " (a.area_id IN ($areas)) " . 488 " AND " .489 " ((CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim) " .490 " OR " .491 " (s.substituicao_id is null)) " .492 472 " ORDER BY a.sigla, a.descricao"; 493 473 … … 561 541 " FROM area a " . 562 542 " LEFT OUTER JOIN substituicao s " . 563 " USING(area_id) " .543 " ON ((a.area_id = s.area_id) AND (CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim)) " . 564 544 " WHERE " . 565 " (a.superior_area_id = ?) " . 566 " AND " . 567 " ((CURRENT_DATE BETWEEN s.data_inicio AND s.data_fim) " . 568 " OR " . 569 " (s.substituicao_id is null)) "; 545 " (a.superior_area_id = ?) "; 570 546 571 547 -
trunk/workflow/js/orgchart/organization.js
r2042 r2056 884 884 885 885 // get the list of substitutions 886 objSubstitution.generateUpdateTable({'organiza tion_id': organizationID, 'area_id': $(area_id).value}, divLB);886 objSubstitution.generateUpdateTable({'organizacao_id': organizationID, 'area_id': $(area_id).value}, divLB); 887 887 } 888 888 objArea.list(info_callback, {'organizacao_id': organizationID, 'area_id': $(area_id).value});
Note: See TracChangeset
for help on using the changeset viewer.