selSql=$selSql"; $res = @mysqli_query($pubConn,$selSql); $i=0; while($rows = mysqli_fetch_array($res)) { $existElementArr[$i++] = $rows[elementTypeNo]; } if(0)print_r($existElementArr); }//end get all exisit elements $localElementArr=array( array('sysTypeName'=>'MSC', 'sysTypeNo'=>'320','sysTypeSSN'=>'8','GT'=>'--','existFlag'=>'0','license'=>'--','licenseColor'=>'','users'=>'--','usersColor'=>'','state'=>'1','stateColor'=>'','confLink'=>"../mss/msc.php?load_flag=$getflag"), array('sysTypeName'=>'VLR', 'sysTypeNo'=>'325','sysTypeSSN'=>'7','GT'=>'--','existFlag'=>'0','license'=>'--','licenseColor'=>'','users'=>'--','usersColor'=>'','state'=>'1','stateColor'=>'','confLink'=>"../mss/vlr.php?load_flag=$getflag"), array('sysTypeName'=>'HLR', 'sysTypeNo'=>'330','sysTypeSSN'=>'6','GT'=>'--','existFlag'=>'0','license'=>'--','licenseColor'=>'','users'=>'--','usersColor'=>'','state'=>'1','stateColor'=>'','confLink'=>"../mss/hlr.php?load_flag=$getflag"), array('sysTypeName'=>'AUC', 'sysTypeNo'=>'340','sysTypeSSN'=>'10','GT'=>'--','existFlag'=>'0','license'=>'--','licenseColor'=>'','users'=>'--','usersColor'=>'','state'=>'1','stateColor'=>'','confLink'=>"../mss/auc.php?load_flag=$getflag"), array('sysTypeName'=>'SMSC','sysTypeNo'=>'350','sysTypeSSN'=>'11','GT'=>'--','existFlag'=>'0','license'=>'--','licenseColor'=>'','users'=>'--','usersColor'=>'','state'=>'1','stateColor'=>'','confLink'=>"../mss/smsc.php?load_flag=$getflag"), array('sysTypeName'=>'PPS', 'sysTypeNo'=>'360','sysTypeSSN'=>'147','GT'=>'--','existFlag'=>'0','license'=>'--','licenseColor'=>'','users'=>'--','usersColor'=>'','state'=>'1','stateColor'=>'','confLink'=>"../mss/pps.php?load_flag=$getflag"), array('sysTypeName'=>'EIR', 'sysTypeNo'=>'380','sysTypeSSN'=>'9','GT'=>'--','existFlag'=>'0','license'=>'--','licenseColor'=>'','users'=>'--','usersColor'=>'','state'=>'1','stateColor'=>'','confLink'=>"../mss/eir.php?load_flag=$getflag"), array('sysTypeName'=>'MNP', 'sysTypeNo'=>'370','sysTypeSSN'=>'32','GT'=>'--','existFlag'=>'0','license'=>'--','licenseColor'=>'','users'=>'--','usersColor'=>'','state'=>'1','stateColor'=>'','confLink'=>"../mss/mnp.php?load_flag=$getflag")); if($DEBUG) echo "
正在调试中!!"; //========================================================== //变量定义 //========================================================== ?> getSql=$getSql"; $result =mysqli_query($pubConn,$getSql); if(mysqli_num_rows($result)==0) { $localElementArr[$i][state]=0; $localElementArr[$i][stateColor]='#FF0000'; } else { while($rows=mysqli_fetch_array($result)) { $out_time=date("Y-m-d H:i:s",mktime(date("H"),date("i")-10,0,date("m"),date("d"),date("Y"))); //if(1&&$localElementArr[$i][sysTypeNo]==360) echo "
" . "{$rows[1]}< $out_time"; if($rows[0]==0||$rows[1]< $out_time) { $localElementArr[$i][state]=0; $localElementArr[$i][stateColor]='#FF0000'; } } } } } ?> levelArr[$j]={$levelArr[$j]}"; if($j == 0){ $levelWhere ="level_$levelNo='${"level_$levelNo"}'"; }else{ $levelWhere .=" AND level_$levelNo='${"level_$levelNo"}'"; } } return($levelWhere); } function getSubSyss($num) { $i=0; do { $arr[$i++] = $num % 2; }while($num = floor($num/2)); for($j=$i; $j<4; $j++) $arr[$j] = 0; return $arr; } function toAscii($byteValue){ $charValue = ""; $tmpLen=strlen($byteValue); for($charCount=0; $charCount < $tmpLen; $charCount++){ $unitByte = substr($byteValue,$charCount,2); $charCount++; if($unitByte == 0) break; $unitChar = chr(HexDec($unitByte)); // hex -> ascii $charValue .= $unitChar; } return $charValue; } ?> 15 ? 1 : 0; $subSysNo = $cardno % 16; $port = $i - $cardno*8; //e1 install $bin_mes = $e1HeartBeatArr[$sysNo][$subSysNo]; //if($DEBUG)echo "
$i: $bin_mes"; $bin_ins=substr($bin_mes,$ins_bgn*8+7-$port,1);//0:'--'; 1:'Y' $tmp1 = bindec($bin_ins); //e1 layer1 $bin_phy=substr($bin_mes,$phy_bgn*8+7-$port,1);//0:'Y'; 1:'N'; 2:'--' $tmp2 = bindec($bin_phy); $tmp2++; $tmp2 = ($tmp2>1) ? 0 : $tmp2; //e1 layer2 install $bin_inl=substr($bin_mes,$el2_bgn*8+7-$port,1);//0:'N'; 1:'Y'; $tmp3 = bindec($bin_inl); $E1stateArr1[$i] = $E1state1 & $tmp2 & $tmp3; $E1stateArr2[$i] = $E1state2 | $tmp2 | $tmp3; // echo "
E1stateArr1[$i]:{$E1stateArr1[$i]},E1stateArr2[$i]:{$E1stateArr2[$i]}"; } $tmpObjIdStr='2.4.2'; $levelWhere = getLevelWhere($tmpObjIdStr); $tmpTgValue=strtoupper(omc_keep_length($tmpTgValue,0,2)); $getSql="SELECT initValue,instanceNo FROM OBJ_322.param_99 WHERE $levelWhere and initValue!='EE' order by instanceNo"; $result =mysqli_query($pubConn,$getSql); while($Rows = mysqli_fetch_array($result)) { $tg = hexdec($Rows[initValue]); if(!isset($e1StatAtTgArr1[$tg])) $e1StatAtTgArr1[$tg]=1; if(!isset($e1StatAtTgArr2[$tg])) $e1StatAtTgArr2[$tg]=0; $e1StatAtTgArr1[$tg] &= $E1stateArr1[$Rows[instanceNo]]; $e1StatAtTgArr2[$tg] |= $E1stateArr2[$Rows[instanceNo]]; // echo "
$Rows[instanceNo]:{$E1stateArr1[$Rows[instanceNo]]};e1StatAtTgArr1[$tg]:{$e1StatAtTgArr1[$tg]},e1StatAtTgArr2[$tg]:{$e1StatAtTgArr2[$tg]}"; } ////////////////get lins status $out_time=date("Y-m-d H:i:s",mktime(date("H"),date("i"),date("s")-30,date("m"),date("d"),date("Y"))); //E1 link status $HbparamSql = " SELECT detailStat FROM OMC_PUB.sysStat WHERE sysTypeNo='200' AND sysNo='9' AND (subSysNo='0' or subSysNo='1') AND updateTime>'$out_time' "; $Hbresult = mysqli_query($pubConn,$HbparamSql); while($Hbvalue_mpt3Arr[] = mysqli_fetch_array($Hbresult));//取mtp3 的heartbeat if(sizeof($Hbvalue_mpt3Arr)==3) $isDualServ = 1; //E1 link $tmpObjIdStr='2.5.1'; $levelWhere = getLevelWhere($tmpObjIdStr); $tmpValue=dechex($linkset); $tmpValue=strtoupper(omc_keep_length($tmpValue,0,2)); $getSql="SELECT initValue,instanceNo FROM OBJ_222.param_99 WHERE $levelWhere order by instanceNo"; $result =mysqli_query($pubConn,$getSql); while($rows=mysqli_fetch_array($result)) { $linkflag = getBitValue($rows[initValue],'06.5-06.5'); $ls = hexdec(getBitValue($rows[initValue],'00.0-00.7')); if($linkflag) { if(!isset($e1StatAtLsArr1[$ls])) $e1StatAtLsArr1[$ls]=1; if(!isset($e1StatAtLsArr2[$ls])) $e1StatAtLsArr2[$ls]=0; $Hboffset=39+Floor($rows[instanceNo]/4); $tmpValue=substr($Hbvalue_mpt3Arr[0][detailStat],$Hboffset*2,2); if($isDualServ && $rows[instanceNo]>=128) $tmpValue=substr($Hbvalue_mpt3Arr[1][detailStat],$Hboffset*2,2); $bitoff =$rows[instanceNo]%4; $bitoff1=$bitoff*2; $bitoff2=$bitoff1+1; $bitoff='0.'.$bitoff1.'-0.'.$bitoff2; //echo "
$bitoff"; $tmp=bindec(getBitValue($tmpValue,$bitoff)); if($tmp>1) $tmp=0; $e1StatAtLsArr1[$ls] &= $tmp; $e1StatAtLsArr2[$ls] |= $tmp; // echo "
$rows[instanceNo]: e1StatAtLsArr1[$ls]:{$e1StatAtLsArr1[$ls]},e1StatAtLsArr2[$ls]:{$e1StatAtLsArr2[$ls]}"; } } ?> levelWhere=$levelWhere"; $othersElementParamTable='OBJ_225.param_99'; $getSql="SELECT $initValue,instanceNo FROM $othersElementParamTable WHERE $levelWhere and initValue LIKE '01%' "; if($DEBUG) echo "
getSql=$getSql"; $result =mysqli_query($pubConn,$getSql); echo mysqli_error($pubConn); $typeOffset = '1.0-1.7'; $sysNoOffset = '2.0-2.3'; $subSysNoOffset = '2.4-2.7'; $tgOffset = '3.0-3.7'; $lsOffset = '4.0-4.7'; $appTypeOffset = '5.0-5.7'; $appGrpOffset = '6.0-6.7'; $nameOffset = '14.0-23.7'; $i=0; while($rows=mysqli_fetch_array($result)) { if($DEBUG)echo "
initValue=$rows[initValue]"; $typeValue=getBitValue($rows[initValue],$typeOffset); if($typeValue==0) continue; $type = $elementsArr[$i][type]=hexdec($typeValue); $ls2tg = $elementsArr[$i][tg]=hexdec(getBitValue($rows[initValue],$tgOffset)); $ls = $elementsArr[$i][ls]=hexdec(getBitValue($rows[initValue],$lsOffset)); $elementsArr[$i][appType]=hexdec(getBitValue($rows[initValue],$appTypeOffset)); $elementsArr[$i][name]=getBitValue($rows[initValue],$nameOffset); if($elementsArr[$i][name]==0) $elementsArr[$i][name]=$elementsArr[$i][tg]; else $elementsArr[$i][name]=trim(toAscii($elementsArr[$i][name])); if($type==17)//isdn switch { $e1State1 = $e1StatAtTgArr1[$ls2tg]; $e1State2 = $e1StatAtTgArr2[$ls2tg]; if($e1State1==1&&$e1State2==1) $E1state='Available'; elseif($e1State1==0&&$e1State2==1) $E1state='Alarm'; else $E1state='Unavailable'; } else if($type==18/* && $ls2tg==255*/)//only link, but no e1 { $e1State1 = $e1StatAtLsArr1[$ls]; $e1State2 = $e1StatAtLsArr2[$ls]; if($e1State1==1&&$e1State2==1) $E1state='Available'; elseif($e1State1==0&&$e1State2==1) $E1state='Alarm'; else $E1state='Unavailable'; } else { $e1State1 = $e1StatAtTgArr1[$ls2tg] & $e1StatAtLsArr1[$ls]; $e1State2 = $e1StatAtTgArr2[$ls2tg] | $e1StatAtLsArr2[$ls]; if($e1State1==1&&$e1State2==1) $E1state='Available'; elseif($e1State1==0&&$e1State2==1) $E1state='Alarm'; else $E1state='Unavailable'; } // if($ls<=5)$E1state='Available'; $elementsArr[$i][state] = $E1state; $i++; } }//end element status //print_r($elementsArr); for($i=0;$i cnf-0-1; 1000 0000 -> cnf-0-4 { $cnfElementNo=sizeof($cnfElementArr); $cnfElementArr[$cnfElementNo][state] = $elementsArr[$i][state]; break; } case '16'://remote elements { $switchElementNo=sizeof($switchElementArr); $switchElementArr[$switchElementNo][state]=$elementsArr[$i][state]; break; } case '17'://isdn switch { $switchElementNo=sizeof($switchElementArr); $switchElementArr[$switchElementNo][state]=$elementsArr[$i][state]; break; } case '18'://application status { switch($elementsArr[$i][appType]) { case 0 : $mscElementNo=sizeof($mscElementArr); $mscElementArr[$mscElementNo][state]=$elementsArr[$i][state]; break; case 1 : $hlrElementNo=sizeof($hlrElementArr); $hlrElementArr[$hlrElementNo][state]=$elementsArr[$i][state]; break; case 2 : $vlrElementNo=sizeof($vlrElementArr); $vlrElementArr[$vlrElementNo][state]=$elementsArr[$i][state]; break; case 3 : $mcElementNo=sizeof($mcElementArr); $mcElementArr[$mcElementNo][state]=$elementsArr[$i][state]; break; case 4 : $sgsnElementNo=sizeof($sgsnElementArr); $sgsnElementArr[$sgsnElementNo][state]=$elementsArr[$i][state]; break; case 5 : $newElementNo=sizeof($newElementArr); $newElementArr[$newElementNo][state]=$elementsArr[$i][state]; break; } break; } default: break; } } ?> 0) echo "Normal"; else echo "Alarm"; } } echo "end"; //To BSS if(sizeof($bssElementArr)>0) { foreach($bssElementArr as $key => $row) { $name[$key] = $row['name']; } array_multisort($name, SORT_ASC, $bssElementArr); } for($i=0;$i