Files
web.ems/wxc2_omc/performance/bssCsta/ReceLevAndQua_down.php
agtuser 16a3fd1e1b init
2024-11-11 17:56:00 +08:00

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> &nbsp;&nbsp;$strTo &nbsp;&nbsp; <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>&nbsp;{$btsArray[$i][0]}</TD>";
echo "<TD>&nbsp;".round($btsArray[$i][1])."</TD>";
echo "<TD>&nbsp;".round($btsArray[$i][2])."</TD>";
echo "<TD>&nbsp;{$btsArray[$i][3]}</TD>";
echo "<TD>&nbsp;{$btsArray[$i][4]}</TD>";
echo "</TR>";
}else{
echo "<TR>";
echo "<TD>Bts.$cellcont[1].$cellcont[2]</TD>";
echo "<TD>&nbsp;--</TD>";
echo "<TD>&nbsp;--</TD>";
echo "<TD>&nbsp;--</TD>";
echo "<TD>&nbsp;--</TD>";
echo "<TD>&nbsp;--</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 "&nbsp;<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 "&nbsp;<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&nbsp;";
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">&nbsp;</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>