PHP语言:
返回调度人员或者部门审批人数组
<?php
//返回调度人员或者部门审批人数组
// @param<string> $methoddeptverify(部门审批)、despmanage(调度员)
// @return array
function getvehiclemanager($method = 'deptverify') {
$uidarr = array();
$purvarr = array();
if ($method != 'despmanage' && $method != 'deptverify') {
return $purvarr;
}
//找出后台权限表中有调度员权限的岗位
$sql = "SELECTpositionid FROM ".DB::table('common_position_purview')."WHERE module='vehicle' AND method='$method' AND val=1";
$query = DB::query($sql);
$pids_array = array(); //有调度权限的职位id
while($row = DB::fetch($query)){
$pids_array[] = $row['positionid'];
}
$pids_str = implode(',', $pids_array);
$sql = "SELECT username,uid,realname FROM ".DB::table('common_member')."WHERE positionid IN($pids_str) AND status='0'";
$query = DB::query($sql);
while ($mrow = DB::fetch($query)) {
$uidarr[] = $mrow['uid'];
$mrow['online'] = false; //默认是下线
$purvarr[$mrow['uid']] = $mrow;
}
$uid_str = implode(',',$uidarr);
$sql = "SELECT uid,invisible FROM ".DB::table('common_session')."WHERE FIND_IN_SET(uid,'$uid_str')";
$query = DB::query($sql); //查询是否上线
while ($row = DB::fetch($query)) {
if (!$row['invisible']) { //如果不是隐身的
$purvarr[$row['uid']]['online'] = true;
}
}
rsort($purvarr); //重排
//在线的排在前面begin
$onlineArray = $notlineArray = array();
foreach($purvarr as $key => $value){
if($value['online']){
$onlineArray[] = $value;
}else{
$notlineArray[] = $value;
}
}
$purvarr = array_merge($onlineArray,$notlineArray);
//在线的排在前面end
return $purvarr;
}//endfunction
?>