";
$result = mysqli_query($pubConn,$sqlstring) or
die("Invalid query: $sqlstring\n" . mysqli_error($pubConn));
$row = mysqli_fetch_row($result);
$isbsplus = $row[0];
if($isbsplus == 0)
$sqlstring = "select ObjectId from OMCR_BSSTREE where ObjectId like 'Bts.%' and ObjectId not like 'Bts.0%' and Presence=1 and bssid=$bss_id";
else
$sqlstring = "select ObjectId from OMCR_BSSTREE where ObjectId like 'Bts.%' and Presence=1 and bssid=$bss_id";
//echo $sqlstring . "
";
$result = mysqli_query($pubConn,$sqlstring) or
die("Invalid query: $sqlstring\n" . mysqli_error($pubConn));
while($row = mysqli_fetch_row($result))
{
list($cell_object[]) =$row;
}
$no_of_cell = count($cell_object);
$btsBgnNo=0;
$btsEndNo=$no_of_cell;
//----------------------get BssId <--> CellIdentity----------------------
//---init this bsc's bts array---
for($i=$btsBgnNo; $i <= $btsEndNo; $i++){
//array(cellid,0,...,23);
$btsArray[$i]=array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);//25个元素
}
/*
$sel_sql="SELECT ObjectId,CellIdentity FROM OMCR_Bts WHERE CellIdentity >='0' AND bssid='$bss_id'";
$sel_result=mysqli_query($pubConn,$sel_sql);
$result_rows=mysqli_fetch_array($sel_result);
if($DEBUG) echo "
db=$db
sel_sql=$sel_sql";
do{
$temp_bts_id = $result_rows[ObjectId]; //like"Bts.1.0"
$temp_bts_id = explode('.',$temp_bts_id);
$temp_bts_id = $temp_bts_id[1];
$temp_cell_id= $result_rows[CellIdentity];
if($temp_cell_id > 0){
$btsArray[$temp_bts_id][0]= $temp_cell_id;
}
}while($result_rows=mysqli_fetch_array($sel_result));
*/
//-----------get where---------------
$where=" bssid='$bss_id' ";
//data
if(isset($sel_date)){
$bgn_date=$sel_date.' '.$hou_1.':'.$mid_1.':'.$sec_1;
$end_date=$sel_date.' '.$hou_2.':'.$mid_2.':'.$sec_2;
}else{
$bgn_date =date("Y-m-d H:i:s",mktime(0,0,0,date("m"),date("d"),date("Y")));
$end_date =date("Y-m-d H:i:s",mktime());
}
$where = $where." AND startTime >=UNIX_TIMESTAMP('$bgn_date') AND EndTime <=UNIX_TIMESTAMP('$end_date')";
?>
|
BSS"."$bscNum $strErlang $strStatistics ";
?>
|
$bgn_date $strTo $end_date";?>
|
";
echo "| BTS ID | ";
echo "$strCellID | ";
for($clock=0;$clock<24;$clock++){
echo "$clock | ";
}
echo "";
//$bss_id = (strlen($bss_id)<2)?'0'.$bss_id:$bss_id;
if($DEBUG) echo "
btsBgnNo=$btsBgnNo,btsEndNo=$btsEndNo ";
for($i=$btsBgnNo; $i < $btsEndNo; $i++){
//$bts_num=($i<10)?'0'.$i:$i;
$cellcont = explode(".",$cell_object[$i]);
$sel_sql="SELECT CellIdentity FROM OMCR_Bts WHERE CellIdentity >=0 AND ObjectId like '$cell_object[$i]%' AND bssid=$bss_id";
$sel_result=mysqli_query($pubConn,$sel_sql);
//echo "
sel_sql=$sel_sql
";
echo mysqli_error($pubConn);
$result_row=@mysqli_fetch_row($sel_result);
$temp_cell_id = $result_row[0];
if($temp_cell_id > 0){
$btsArray[$i][0]= $temp_cell_id;
//echo "
btsArray[$temp_bts_id][0]= $temp_cell_id";
}
$sum_sql="SELECT
CellIdentity as CellIdentity,
hour(from_unixtime(StartTime)) as hours,
(meanTCHBusyTime * nbrOfAvailableTCHs)/(100 * (EndTime - StartTime)) as erlang
FROM $csta_table
WHERE $where AND CellIdentity = '$temp_cell_id'
Group By hours,CellIdentity
";
$sel_result=mysqli_query($pubConn,$sum_sql);
if($DEBUG) echo "
sel_sql=$sum_sql
";
echo mysqli_error($pubConn);
while($rows=mysqli_fetch_array($sel_result)){
$btsArray[$i][0] == $rows[CellIdentity];
$hourse=$rows[hours]+1;
$btsArray[$i][$hourse] += $rows[erlang];
if($btsArray[$i][$hourse] > $maxNum)
$maxNum = $btsArray[$i][$hourse];
}
if($btsArray[$i][0] > 0){
echo "";
echo "| Bts.$cellcont[1].$cellcont[2] | ";
echo "{$btsArray[$i][0]} | ";
for($clock=1;$clock<25;$clock++){
echo "{$btsArray[$i][$clock]} | ";
}
echo "
";
}
else
{
echo "";
echo "| Bts.$cellcont[1].$cellcont[2] | ";
echo "-- | ";
for($clock=1;$clock<25;$clock++){
echo "-- | ";
}
echo "
";
}
}
$y_max = ceil($maxNum);
if($y_max < 1){
$y_max = 1;
}
?>
1000*1000){
$displayMaxData = round($scale/100000)/10;
$displayMaxData = $displayMaxData."M";
}elseif($scale>1000){
$displayMaxData = round($scale/100)/10;
$displayMaxData = $displayMaxData."K";
}else
$displayMaxData=$scale;
Imagestring($im, 2, $xBgn - 50, $yBgn + $i*25 - 5, "$displayMaxData", $text_color);
}
//色块图标及说明
$order = 0;
for($i=$btsBgnNo; $i < $btsEndNo; $i++)
{
if($btsArray[$i][0] > 0)
{
$tmpName=$legendArr[$i][0];
$tmpColor=$legendArr[$i][1];
$color = ImageColorAllocate ($im, hexdec(substr($tmpColor, 0, 2)), hexdec(substr($tmpColor, 2, 2)),hexdec(substr($tmpColor, 4, 2)));
$legendArr[$i][2]=$color;
ImageFilledRectangle($im,60 + $order* 60,$yEnd + 22,58 + $order* 60 + 10,$yEnd + 30,$legendArr[$i][2]);
Imagestring($im, 2, 73 + $order* 60,$yEnd + 20, "$tmpName", $text_color);
$order++;
}
}
function getNewXY(&$pointArr)
{
global $xBgn,$yBgn,$xEnd,$yEnd,$maxYNum,$unitXPix;
$DEBUG=0;
for($i=0;$ipointArr[$i]={$pointArr[$i]}";
$pointArr[$i+1] = $yEnd - round(($yEnd - $yBgn) * ($pointArr[$i+1] / $maxYNum));
if($DEBUG) echo "
pointArr[$i+1]={$pointArr[$i+1]}";
}
$pointArr[$i] = $pointArr[$i-2];
if($DEBUG) echo "
pointArr[$i]={$pointArr[$i]}";
$pointArr[$i+1] = $yEnd-1;
if($DEBUG) echo "
pointArr[$i+1]={$pointArr[$i+1]}";
}
//get x,y points.
for($i=$btsBgnNo; $i <= $btsEndNo; $i++)
{
if($btsArray[$i][0] > 0)
{
for($j=1;$j<26;$j++)
{
$pointArr[$i][$j*2] = $j-1;
$pointArr[$i][$j*2+1] = $btsArray[$i][$j];
}
getNewXY($pointArr[$i]);
$pointNum[$i]= sizeof($pointArr[$i]) / 2;
$tmpColor[$i]=$legendArr[$i][2];
}
}
for($i=$btsBgnNo; $i <= $btsEndNo; $i++)
{
if($btsArray[$i][0] > 0)
{
for($j=1;$j<26;$j++)
{
//画线条
imageline($im,$pointArr[$i][$j*2],$pointArr[$i][$j*2+1],$pointArr[$i][$j*2+2],$pointArr[$i][$j*2+3],$tmpColor[$i]);
}
}
}
//-----输出图形文件,请勿修改
//delete *.png
$handle=opendir('.');
while($file=readdir($handle)){
$retval="";
$pt=strrpos($file,".");
if($pt) $retval=substr($file,$pt+1,strlen($file)-$pt);
if($retval=='png') unlink($file);
}
$filename=time().".png";
if(!$DEBUG){
ImagePng ($im,"$filename");
ImageDestroy($im);
}
//-----显示图片
echo "";
echo "
";
echo "";
exit;
}//end if.
//刻度线图片
$dot_img="
";
//求图像高度的基数 get the Division by number
$base_field=10; //$btsArray[bts_num][j]'s j
for($i=$btsBgnNo; $i <= $btsEndNo; $i++){
$max_number=($btsArray[$i][$base_field] > $max_number)?$btsArray[$i][$base_field]:$max_number;
}
$top_number =(round($max_number/100)+1)*100; //算出最大刻度,该值是个整数
$base_number=round($top_number/100);
$base_number=($base_number <= 0)?1:$base_number;
//需要显示成柱状图的$btsArray[bts_num][j]元素编号j
$show_field=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24);
//显示图例,需要和$show_field保持一致
//$legend_def=array(''); //erlang只用一种颜色显示
//显示图例色彩,需要和$show_field保持一致
//$legend_color=array('blue',.....,'blue');//erlang只用一种颜色显示
//------------------------------显示图例--------------------------------------
?>
";
echo " ";
echo "";
echo "
";
//-----------------------------显示柱状图-------------------------------------
$bts_num=$btsBgnNo;
for($i=$btsBgnNo; $i <= $btsEndNo; $i++){
if($DEBUG) echo "
btsBgnNo=$btsBgnNo,btsArray[$bts_num][$arrNum] ={$btsArray[$bts_num][$arrNum]}";
?>