385 lines
14 KiB
PHP
Executable File
385 lines
14 KiB
PHP
Executable File
<?php
|
|
/*********************************************************
|
|
程序说明:
|
|
功能说明:查询话务流量
|
|
|
|
调用关系:调用: header.inc
|
|
被调用:
|
|
|
|
变量说明:
|
|
|
|
返回值:无
|
|
|
|
作者:
|
|
|
|
修改注释:
|
|
NO.1
|
|
姓名:
|
|
时间:
|
|
修改说明:
|
|
*********************************************************/
|
|
require("../../inc/header.inc");
|
|
$db=$bss_db;
|
|
$csta_table = 'OMCR_BtsMeasurements';
|
|
$bts_table = 'OMCR_Bts';
|
|
|
|
if(!isset($bss_id)){
|
|
$bss_id= 0;
|
|
}
|
|
$sqlstring = "select BsPlus,BsPlusMaxExtBtsMgr from OMCR_BssFunc where bssid=$bss_id";
|
|
//echo $sqlstring . "<BR>";
|
|
$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 . "<BR>";
|
|
$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,MO,MT,LU,SS,AttTCH,SuccTCH,RFDorp0;
|
|
$btsArray[$i]=array(0,0,0,0,0,0,0,0);
|
|
}
|
|
/*$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);
|
|
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;
|
|
//echo "<br>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')";
|
|
|
|
|
|
?>
|
|
|
|
<script language="javascript">
|
|
<!--
|
|
function display(ID) {
|
|
which=eval(ID);
|
|
if(which.style.display == "none") {
|
|
which.style.display = "block";
|
|
signRemark.style.display = "block";
|
|
}else {
|
|
which.style.display = "none";
|
|
}
|
|
window.event.cancelBubble = true ;
|
|
}
|
|
|
|
//-->
|
|
</script>
|
|
<body leftmargin=12 topmargin=0>
|
|
|
|
<TABLE border="0" width="100%" cellpadding="2" cellspacing="0" bordercolor="#666666" bordercolordark="#FFFFFF" bgcolor="#FFFFFF">
|
|
<TR>
|
|
<TD>
|
|
<?php
|
|
$bscNum=(strlen($bss_id)<2)?'0'.$bss_id:$bss_id;
|
|
echo "<font color=\"#0000ff\" size=\"2\"><b>BSS"."$bscNum $strReceiveLevelAndQuality $strStatistics </b></font>";
|
|
?>
|
|
</TD>
|
|
<TD align="right">
|
|
<?php echo "$strFrom<font color=\"#0000ff\"> $bgn_date</font> $strTo <font color=\"#0000ff\">$end_date</font>";?>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
<table border="1" width="100%" cellpadding="2" cellspacing="0" bordercolor="#666666" bordercolordark="#FFFFFF" bgcolor="#FFFFFF" >
|
|
<?php
|
|
echo "<TR>";
|
|
echo "<TD width=\"12%\">BTS ID</TD>";
|
|
echo "<TD width=\"12%\">$strCellID</TD>";
|
|
echo "<TD width=\"12%\">UL Rx level</TD>";
|
|
echo "<TD width=\"12%\">DL Rx level</TD>";
|
|
echo "<TD width=\"12%\">UL Rx quality</TD>";
|
|
echo "<TD width=\"12%\">DL Rx quality</TD>";
|
|
echo "</TR>";
|
|
//echo "ddd = $btsEndNo";
|
|
//$bss_id = (strlen($bss_id)<2)?'0'.$bss_id:$bss_id;
|
|
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 "<br>sel_sql=$sel_sql<br>";
|
|
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 "<br>btsArray[$temp_bts_id][0]= $temp_cell_id";
|
|
}
|
|
|
|
$sum_sql="SELECT CellIdentity as CellIdentity,
|
|
8*(
|
|
0.5*SUM(UplinkAvgSignal_0)+1.5*SUM(UplinkAvgSignal_1)+2.5*SUM(UplinkAvgSignal_2)+3.5*SUM(UplinkAvgSignal_3)
|
|
+4.5*SUM(UplinkAvgSignal_4)+5.5*SUM(UplinkAvgSignal_5)+6.5*SUM(UplinkAvgSignal_6)+7.5*SUM(UplinkAvgSignal_7)
|
|
) / (SUM(UplinkAvgSignal_0)+SUM(UplinkAvgSignal_1)+SUM(UplinkAvgSignal_2)+SUM(UplinkAvgSignal_3)
|
|
+SUM(UplinkAvgSignal_4)+SUM(UplinkAvgSignal_5)+SUM(UplinkAvgSignal_6)+SUM(UplinkAvgSignal_7)
|
|
) as UL_level,
|
|
8*(
|
|
0.5*SUM(DownlinkAvgSignal_0)+1.5*SUM(DownlinkAvgSignal_1)+2.5*SUM(DownlinkAvgSignal_2)+3.5*SUM(DownlinkAvgSignal_3)
|
|
+4.5*SUM(DownlinkAvgSignal_4)+5.5*SUM(DownlinkAvgSignal_5)+6.5*SUM(DownlinkAvgSignal_6)+7.5*SUM(DownlinkAvgSignal_7))
|
|
/ (SUM(DownlinkAvgSignal_0)+SUM(DownlinkAvgSignal_1)+SUM(DownlinkAvgSignal_2)+SUM(DownlinkAvgSignal_3)
|
|
+SUM(DownlinkAvgSignal_4)+SUM(DownlinkAvgSignal_5)+SUM(DownlinkAvgSignal_6)+SUM(DownlinkAvgSignal_7)
|
|
) as DL_level,
|
|
(SUM(TotalQualityDurationUL_0)*0+SUM(TotalQualityDurationUL_1)+SUM(TotalQualityDurationUL_2)*2+SUM(TotalQualityDurationUL_3)*3+SUM(TotalQualityDurationUL_4)*4
|
|
+SUM(TotalQualityDurationUL_5)*5+SUM(TotalQualityDurationUL_6)*6+SUM(TotalQualityDurationUL_7)*7)
|
|
/ SUM(TotalQualityDurationUL_0+TotalQualityDurationUL_1+TotalQualityDurationUL_2+TotalQualityDurationUL_3
|
|
+TotalQualityDurationUL_4+TotalQualityDurationUL_5+TotalQualityDurationUL_6+TotalQualityDurationUL_7) as UL_quality,
|
|
(SUM(TotalQualityDurationDL_0)*0+SUM(TotalQualityDurationDL_1)+SUM(TotalQualityDurationDL_2)*2+SUM(TotalQualityDurationDL_3)*3+SUM(TotalQualityDurationDL_4)*4
|
|
+SUM(TotalQualityDurationDL_5)*5+SUM(TotalQualityDurationDL_6)*6+SUM(TotalQualityDurationDL_7)*7)
|
|
/ SUM(TotalQualityDurationDL_0+TotalQualityDurationDL_1+TotalQualityDurationDL_2+TotalQualityDurationDL_3
|
|
+TotalQualityDurationDL_4+TotalQualityDurationDL_5+TotalQualityDurationDL_6+TotalQualityDurationDL_7) as DL_quality
|
|
FROM $csta_table
|
|
WHERE $where AND CellIdentity = '$temp_cell_id' GROUP BY CellIdentity";
|
|
$sel_result=mysqli_query($pubConn,$sum_sql);
|
|
//echo "<br>$sel_sql<br> ";
|
|
echo mysqli_error($pubConn);
|
|
while($rows=mysqli_fetch_array($sel_result)){
|
|
|
|
$btsArray[$i][0]=$rows[CellIdentity];
|
|
$btsArray[$i][1]=$rows[UL_level];
|
|
$btsArray[$i][2]=$rows[DL_level];
|
|
$btsArray[$i][3]=$rows[UL_quality];
|
|
$btsArray[$i][4]=$rows[DL_quality];
|
|
|
|
}
|
|
|
|
if($btsArray[$i][0] > 0){
|
|
echo "<TR>";
|
|
echo "<TD>Bts.$cellcont[1].$cellcont[2]</TD>";
|
|
echo "<TD> {$btsArray[$i][0]}</TD>";
|
|
echo "<TD> ".round($btsArray[$i][1])."</TD>";
|
|
echo "<TD> ".round($btsArray[$i][2])."</TD>";
|
|
echo "<TD> {$btsArray[$i][3]}</TD>";
|
|
echo "<TD> {$btsArray[$i][4]}</TD>";
|
|
echo "</TR>";
|
|
}else{
|
|
echo "<TR>";
|
|
echo "<TD>Bts.$cellcont[1].$cellcont[2]</TD>";
|
|
echo "<TD> --</TD>";
|
|
echo "<TD> --</TD>";
|
|
echo "<TD> --</TD>";
|
|
echo "<TD> --</TD>";
|
|
echo "<TD> --</TD>";
|
|
echo "</TR>";
|
|
}
|
|
|
|
}
|
|
?>
|
|
</table>
|
|
<br><br>
|
|
<?php
|
|
//刻度线图片
|
|
$dot_img="<img border=\"0\" src=\"../../images/Icon-0.gif\" width=\"2\" height=\"1\">";
|
|
|
|
//求图像高度的基数 get the Division by number
|
|
//$base_field=1; //$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);
|
|
$show_field=array(1,2);
|
|
|
|
//显示图例名称定义,需要和$show_field保持一致
|
|
//$legend_def=array('UL Rx Level','DL Rx Level','UL Rx Quality','DL Rx Quality');
|
|
$legend_def=array('UL Rx level','DL Rx level');
|
|
|
|
//显示图例色彩,需要和$show_field保持一致
|
|
$legend_color=array('blue','orange');
|
|
|
|
//------------------------------显示图例--------------------------------------
|
|
?>
|
|
<table border="0">
|
|
<tr>
|
|
<td width="60"><b><?php echo "$strLegend"; ?>:</b></td>
|
|
<?php
|
|
for($i=0;$i<sizeof($legend_def);$i++){
|
|
echo "<td width=\"10\">";
|
|
showImg($legend_color[$i],10,10);
|
|
echo "</td>";
|
|
echo "<td width=\"120\">{$legend_def[$i]}</td>";
|
|
}
|
|
?>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
<br>
|
|
<script language="JavaScript1.2" type="text/javascript">
|
|
<!--
|
|
function chgBaseNum(max_first_num){
|
|
|
|
var old_base_number=1.00 * oldBaseNumSet.value;
|
|
var max_second_num = <?php echo sizeof($show_field);?>;
|
|
var new_base_number=1.00 * baseNumSet.value;
|
|
var i=0,j=0,k=0,maxHeight=200,maxNum=0;
|
|
if(new_base_number <=0){
|
|
baseNumSet.value=old_base_number;
|
|
return(-1);
|
|
}
|
|
for(i=0;i < max_first_num;i++){
|
|
for(k=0;k<3;k++){
|
|
for(j=0;j < max_second_num;j++){
|
|
temp_obj_name='img'+i+'_'+k+'_'+j;
|
|
temp_input_name='img'+i+'_'+k+'_'+j+'_org';
|
|
temp_obj=eval(temp_obj_name);
|
|
temp_height=eval(temp_input_name);
|
|
if(temp_obj.height > 0 && new_base_number > 0){
|
|
temp_obj.height = 1.0 * temp_height.value * (old_base_number / new_base_number )+1;
|
|
if(temp_obj.height > maxHeight && temp_obj.alt > maxNum){
|
|
//alert(temp_obj.height+'-'+temp_obj.alt);
|
|
maxNum = temp_obj.alt;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/*
|
|
for(i=0;i<4;i++){
|
|
tmpobj=eval('topNumber_'+i);
|
|
org_tmpobj=eval('org_topNumber_'+i);
|
|
if(maxNum > 0){
|
|
tmpobj.value = maxNum;
|
|
baseNumSet.value = maxNum;
|
|
}else{
|
|
tmpobj.value = Math.round(org_tmpobj.value * (new_base_number/ old_base_number));
|
|
}
|
|
}*/
|
|
}
|
|
|
|
-->
|
|
</script>
|
|
<?php
|
|
//echo "Receive quality:<input type=\"text\" size=\"4\" name=\"baseNumSet\" id=\"baseNumSet\" value=\"$top_number\" class=\"text\">";
|
|
//echo " <input type=\"button\" value=\"$strAdjustHeight\" name=\"chge\" onclick=\"chgBaseNum()\" class=\"button\"> ";
|
|
//echo "<input type=\"hidden\" size=\"4\" name=\"oldBaseNumSet\" id=\"oldBaseNumSet\" value=\"$top_number\">";
|
|
//echo "<br>";
|
|
//------------------------------显示柱状图----------------------------------
|
|
$bts_num=$btsBgnNo;
|
|
if($isbsplus == 0){
|
|
$sqlstring = "select ObjectId from OMCR_BSSTREE where ObjectId like 'BtsMgr.%' and ObjectId not like 'BtsMgr.0%' and Presence=1 and bssid=$bss_id";
|
|
}else if($isbsplus == 1){
|
|
$sqlstring = "select ObjectId from OMCR_BSSTREE where ObjectId like 'BtsMgr.%' and Presence=1 and bssid=$bss_id";
|
|
}
|
|
$result = mysqli_query($pubConn,$sqlstring) or
|
|
die("Invalid query: $sqlstring\n" . mysqli_error($pubConn));
|
|
while($row = mysqli_fetch_row($result))
|
|
{
|
|
list($btsmgr_list[]) =$row;
|
|
}
|
|
$no_of_btsmgr = count($btsmgr_list);
|
|
echo "Receive quality:<input type=\"text\" size=\"4\" name=\"baseNumSet\" id=\"baseNumSet\" value=\"$top_number\" class=\"text\">";
|
|
|
|
echo " <input type=\"button\" value=\"$strAdjustHeight\" name=\"chge\" onclick=\"chgBaseNum($no_of_btsmgr)\" class=\"button\"> ";
|
|
echo "<input type=\"hidden\" size=\"4\" name=\"oldBaseNumSet\" id=\"oldBaseNumSet\" value=\"$top_number\">";
|
|
echo "<br>";
|
|
for($i=0;$i<$no_of_btsmgr;$i++){
|
|
?>
|
|
<br>
|
|
<table border="0" cellPadding="0" cellSpacing="0" height="220" style="BORDER-BOTTOM: rgb(0,0,0) 1px solid; BORDER-LEFT: rgb(0,0,0) 1px solid; BORDER-RIGHT: medium none; BORDER-TOP: medium none" >
|
|
<tr>
|
|
<td colspan="100" height="20">
|
|
<b>
|
|
<?php
|
|
$btsmgrcont = explode(".",$btsmgr_list[$i]);//e.g BtsMgr.1
|
|
/*$num = $bts_num;
|
|
$num =(strlen($num)<2)?'0'.$num:$num;
|
|
$BTS_ID_1='BTS'."$bss_id"."_$num";
|
|
$num++;
|
|
$num =(strlen($num)<2)?'0'.$num:$num;
|
|
$BTS_ID_2='BTS'."$bss_id"."_$num";
|
|
$num++;
|
|
$num =(strlen($num)<2)?'0'.$num:$num;
|
|
$BTS_ID_3='BTS'."$bss_id"."_$num";
|
|
*/
|
|
echo"$dot_img ";
|
|
echo "<INPUT type=\"text\" size=\"10\" name=\"topNumber_".$i."\" id=\"topNumber\" value=\"$top_number\" style=\"border-left:medium none;border-right:medium none;border-top:medium none;border-bottom:medium none; solid rgb(0,0,0)\" readonly>";
|
|
echo "<INPUT type=\"hidden\" size=\"10\" name=\"org_topNumber_".$i."\" id=\"topNumber\" value=\"$top_number\" >";
|
|
echo "<b>$btsmgr_list[$i]:TCH($strTCHExplain) $strStatistics</b>";
|
|
?>
|
|
</b>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="bottom" height="40" width="20"><?php echo"$dot_img";?></td>
|
|
<?php
|
|
for($j=0;$j<3;$j++){
|
|
//显示每个bts的柱状图
|
|
for($k=0;$k<sizeof($show_field);$k++){
|
|
$arrNum = $show_field[$k];
|
|
$alt = $legend_def[$k].'='.$btsArray[$bts_num][$arrNum];
|
|
$height = $btsArray[$bts_num][$arrNum] / $base_number * 2;
|
|
$width = 19;
|
|
//$imgName = 'img'.$j.'_'.$k;
|
|
$imgName = 'img'.$i.'_'.$j.'_'.$k;
|
|
echo "<td valign=\"bottom\" height=\"200\" width=\"20\" rowspan=\"5\">";
|
|
showImg($legend_color[$k],$width,$height,$imgName,$alt);
|
|
echo "</td>";
|
|
}
|
|
echo "<td valign=\"bottom\" height=\"200\" width=\"40\" rowspan=\"5\"></td>";
|
|
$bts_num++;
|
|
}
|
|
?>
|
|
<td valign="bottom" height="200" width="100" rowspan="5"></td>
|
|
</tr>
|
|
<tr><td valign="bottom" height="40" width="20"><?php echo"$dot_img";?></td></tr>
|
|
<tr><td valign="bottom" height="40" width="20"><?php echo"$dot_img";?></td></tr>
|
|
<tr><td valign="bottom" height="40" width="20"><?php echo"$dot_img";?></td></tr>
|
|
<tr><td valign="bottom" height="40" width="20"></td></tr>
|
|
</table>
|
|
<table border="0">
|
|
<tr>
|
|
<td valign="bottom" width="20"> </td>
|
|
<?php
|
|
$tdWidth=20*sizeof($show_field)+40;
|
|
echo "<td width=\"$tdWidth\">Bts.$btsmgrcont[1].0</td>";
|
|
echo "<td width=\"$tdWidth\">Bts.$btsmgrcont[1].1</td>";
|
|
echo "<td width=\"$tdWidth\">Bts.$btsmgrcont[1].2</td>";
|
|
?>
|
|
</tr>
|
|
</table>
|
|
<?php
|
|
}
|
|
?>
|
|
</body>
|
|
</html>
|