add export ussd alarm smpp

This commit is contained in:
root
2025-07-30 17:30:36 +08:00
parent 54339f4273
commit b24a4bfe72
8 changed files with 458 additions and 73 deletions

View File

@@ -736,6 +736,33 @@ echo "<tr>";
echo "</td>";
echo "</tr>";
echo "<tr>";
//Bundle Plan Control
$param_oid="2.2.52.1.27";
$singleParameterInfo=GetSingleParameterInfo($sysId,$param_oid);
echo "<td width=\"$left_percent\" onmouseover=\"javascript:showTipWindow(this,'{$singleParameterInfo[Description]}');\" onmouseout=\"javascript:hideTipWindow(this);\">";
echo "{$singleParameterInfo[ShowName]}";
echo "</td>";
echo "<td>";
$param_instance=$nest_instance0;
showParameterAdv($sysId,$param_oid,$param_instance);
echo "</td>";
echo "</tr>";
echo "<tr>";
//Bundle Plan Control
$param_oid="2.2.52.1.28";
$singleParameterInfo=GetSingleParameterInfo($sysId,$param_oid);
echo "<td width=\"$left_percent\" onmouseover=\"javascript:showTipWindow(this,'{$singleParameterInfo[Description]}');\" onmouseout=\"javascript:hideTipWindow(this);\">";
echo "{$singleParameterInfo[ShowName]}";
echo "</td>";
echo "<td>";
$param_instance=$nest_instance0;
showParameterAdv($sysId,$param_oid,$param_instance);
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</td>";
echo "</tr>";

View File

@@ -31,11 +31,16 @@ function goPage(numberOfRec){
$bgnNo=$_REQUEST['bgnNo'];
$numberOfRecords=$_REQUEST['numberOfRecords'];
$selSysTypeNo=$_REQUEST['selSysTypeNo'];
$sel_date_from=$_REQUEST['sel_date_from'];
$sel_date_to=$_REQUEST['sel_date_to'];
$startTime=date("Y-m-d H:i:s",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$endTime=date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-$sel_date_to,date("Y")));
$selAlarmLevel=$_REQUEST['selAlarmLevel'];
$nextPageLink=$_REQUEST['nextPageLink'];
$prePageLink=$_REQUEST['prePageLink'];
$actMode=$_REQUEST['actMode'];
echo "<meta http-equiv=\"refresh\" content=\"10; url=$PHP_SELF?selSysTypeNo=$selSysTypeNo&selAlarmLevel=$selAlarmLevel&noop=$noop&nolog=1\">";
//echo "<meta http-equiv=\"refresh\" content=\"10; url=$PHP_SELF?selSysTypeNo=$selSysTypeNo&selAlarmLevel=$selAlarmLevel&noop=$noop&nolog=1\">";
adjust_head_frame("down");
adjust_title_head_frame("down");
adjust_title_tail_frame("down");
@@ -297,7 +302,9 @@ else//other 500
//<2F><><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD>ҳ<EFBFBD><EFBFBD><E6B4AB><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
if( strlen($selSysTypeNo) > 0){
if( $selSysTypeNo != 'all'){
$whereStr .=" $logTable.sysTypeNo = '$selSysTypeNo'";
$whereStr .=" $logTable.sysTypeNo = '$selSysTypeNo' and alarmTime >= '{$startTime}' AND alarmTime <= '{$endTime}'";
}else{
$whereStr .="alarmTime >= '{$startTime}' AND alarmTime <= '{$endTime}'";
}
if($selAlarmLevel == 'all'){
@@ -316,14 +323,14 @@ else//other 500
}
}else{
if(strlen($whereStr) > 0){
$whereStr .=" AND alarmLevel = '$selAlarmLevel' AND clearMode= '1'";
$whereStr .=" AND alarmLevel = '$selAlarmLevel' AND clearMode= '1' ";
}else{
$whereStr .=" alarmLevel = '$selAlarmLevel' AND clearMode= '1'";
$whereStr .=" alarmLevel = '$selAlarmLevel' AND clearMode= '1' ";
}
}
}else{
if(strlen($whereStr) < 1){
$whereStr =" clearMode= '1' ";
$whereStr =" clearMode= '1' and alarmTime >= '{$startTime}' AND alarmTime <= '{$endTime}'";
}
}

View File

@@ -27,6 +27,12 @@ $device_result = @mysqli_query($pubConn,$device_sql);
$device_rows = @mysqli_fetch_array($device_result);
echo mysqli_error($pubConn);
$selSysTypeNo=$_REQUEST['selSysTypeNo'];
$selAlarmLevel=$_REQUEST['selAlarmLevel'];
$sel_date_from=$_REQUEST['sel_date_from'];
$sel_date_to=$_REQUEST['sel_date_to'];
?>
<base target="main">
<body leftmargin="15" rightmargin="10" onload="javascript:adjust_frame('up');" onresize="javascript:adjust_frame('up');" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;">
@@ -73,16 +79,46 @@ for($i=1;$i<sizeof($alarmLevelDefArr);$i++){
echo "<option value=\"$alarmLevelValue\">$alarmLevelRemark</option>";
}
echo "</select>&nbsp;&nbsp;&nbsp;&nbsp;";
echo "</select>&nbsp;&nbsp;&nbsp;";
for($i=0;$i<30;$i++)
{
$startDay[]=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-$i,date("Y")));
}
//select day from
echo "<select name=\"sel_date_from\" onChange=\"javascript:sel_date_from_change();\">";
for($i=0;$i<30;$i++)
{
if($i==$sel_date_from)
echo "<option selected value=$i>{$startDay[$i]}</option>";
else
echo "<option value=$i>{$startDay[$i]}</option>";
}
echo "</select>&nbsp;to&nbsp;";
//select day to
echo "<select name=\"sel_date_to\" onChange=\"javascript:sel_date_from_change();\">";
for($i=0;$i<=$sel_date_from;$i++)
{
if($i==$sel_date_to)
echo "<option selected value=$i>{$startDay[$i]}</option>";
else
echo "<option value=$i>{$startDay[$i]}</option>";
}
echo "</select>&nbsp;";
echo "<input type=\"hidden\" value=$noop name=\"noop\">";
?>
<span id='searchID' onClick="javascript:document.theform.submit();" style="cursor:hand">
<IMG align=absBottom border=0 src="../../images/search.gif" ><?php echo "$strSearch"; ?>
<!-- <IMG align=absBottom border=0 src="../../images/search.gif" >--><?php echo "$strSearch"; ?>
</span>
<?php
echo "</td>";
echo "<td align=\"right\">";
echo "<a id=\"exportBtn\" href=\"#\" target=\"_blank\">";
echo "<img border=0 src=\"../../images/list.gif\" width=16 height=16 title='export'>";
echo "</a>&nbsp;&nbsp;&nbsp;&nbsp;";
echo "</td>";
echo "</tr>";
echo "</table>";
@@ -95,4 +131,24 @@ adjust_content_tail_frame("up");
</form>
</body>
</html>
<script>
function updateExportLink() {
var form = document.getElementById('theform');
var selSysTypeNo = form.selSysTypeNo.value;
var selAlarmLevel = form.selAlarmLevel.value;
var sel_date_from = form.sel_date_from.value;
var sel_date_to = form.sel_date_to.value;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɸ<EFBFBD><C9B8><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ
var url = "./exportAlarmLog.php?selSysTypeNo=" + encodeURIComponent(selSysTypeNo)
+ "&selAlarmLevel=" + encodeURIComponent(selAlarmLevel)
+ "&sel_date_from=" + encodeURIComponent(sel_date_from)
+ "&sel_date_to=" + encodeURIComponent(sel_date_to)
+ "&isExport=1";
document.getElementById('exportBtn').href = url;
}
// ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD>ÿ<EFBFBD>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䶯ʱ<E4B6AF><CAB1><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
window.onload = updateExportLink;
document.getElementById('theform').onchange = updateExportLink;
</script>

View File

@@ -0,0 +1,110 @@
<?php
require("../../inc/lib.inc");
// function getSystemNameBySysTypeNo($sysTypeNo)
// {
// global $pubConn;
// $sqlstr = "select sysTypeName from OMC_PUB.sysConf where sysTypeNo = $sysTypeNo ";
// $res = @mysqli_query($pubConn, $sqlstr);
// $row = @mysqli_fetch_array($res);
// return $row['sysTypeName'];
// }
global $OMC_server,$pubConn;
$sysTypeNo=$_GET['sysTypeNo'];
$cstaDbConn=mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], 'CSTA_DB');
$objDbConn=mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], 'OBJ_'.$sysTypeNo);
$page_id=$_GET['page_id'];
$sel_date_from=$_REQUEST['sel_date_from'];
$sel_date_to=$_REQUEST['sel_date_to'];
$show_type=$_GET['show_type'];
$startTime=date("Y-m-d H:i:s",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$endTime=date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-$sel_date_to,date("Y")));
$selSysTypeNo=$_REQUEST['selSysTypeNo'];
$selAlarmLevel=$_REQUEST['selAlarmLevel'];
$whereStr='';
if( $selSysTypeNo != 'all'){
$whereStr .=" And sysAlarmInfo.sysTypeNo = '$selSysTypeNo'";
}
if($selAlarmLevel == 'all'){
$whereStr .=" ";
}elseif( $selAlarmLevel == 'unclear'){
$whereStr .=" AND clearMode= '1' ";
}elseif( $selAlarmLevel == 'cleared'){
$whereStr .=" AND clearMode= '0' ";
}else{
$whereStr .=" AND alarmLevel = '$selAlarmLevel' AND clearMode= '1'";
}
$sumSql="SELECT sysAlarmInfo.sysTypeNo,sysAlarmInfo.sysNo,sysAlarmInfo.subSysNo,sysAlarmInfo.alarmCode,sysAlarmInfo.alarmTime,sysAlarmInfo.clearTime,sysAlarmInfo.clearMode,sysAlarmInfo.alarmInfo
FROM OMC_PUB.sysAlarmInfo,OMC_PUB.sysAlarmConf
WHERE alarmTime >= '{$startTime} '
AND alarmTime <= '{$endTime}' $whereStr AND sysAlarmInfo.sysTypeNo = sysAlarmConf.sysTypeNo AND sysAlarmInfo.compCode = sysAlarmConf.compCode AND sysAlarmInfo.alarmCode = sysAlarmConf.alarmCode";
//echo "sumSql=$sumSql";
$res=mysqli_query($pubConn,$sumSql);
echo mysqli_error($pubConn);
$num=mysqli_num_rows($res);
//$rows=@mysqli_fetch_array($res,MYSQLI_ASSOC);
// echo "num=$num";
$allRows = [];
$title = [];
while ($row = mysqli_fetch_array($res, MYSQLI_ASSOC)) {
if (empty($title)) {
foreach ($row as $key => $value) {
if (!in_array($key, ['sysTypeNo', 'sysNo', 'subSysNo'])) {
$title[] = $key;
}
}
array_unshift($title, 'sysName');
}
$sysName = getSystemNameBySysTypeNo($row['sysTypeNo']) . '_' . $row['sysNo'] . '_' . $row['subSysNo'];
unset($row['sysTypeNo'], $row['sysNo'], $row['subSysNo']);
$row = array_merge(['sysName' => $sysName], $row);
$allRows[] = $row;
}
$file_name = "AlarmLog-$startTime to $endTime.csv";
$file = fopen($file_name, 'w');
fputcsv($file, $title);
foreach ($allRows as $index => $record) {
fputcsv($file, $record);
}
// 关闭文件
fclose($file);
// 检查文件是否存在
if (file_exists($file_name)) {
header("Content-type: application/csv");
//use for download csv in https
header('Expires: 0');
header('Pragma: public');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: public');
header("Content-Disposition: attachment; filename=$file_name");
readfile($file_name);
unlink($file_name); // 下载后立即删除
} else {
// 文件不存在时的处理
echo "Error: File does not exist.";
}
?>

View File

@@ -9,78 +9,113 @@ $page_id=$_GET['page_id'];
$sel_date_from=$_GET['sel_date_from'];
$sel_date_to=$_GET['sel_date_to'];
$show_type=$_GET['show_type'];
$keyTwo=$_REQUEST['keyTwo'];
$startTime=date("Y-m-d H:i:s",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
$endTime=date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-$sel_date_to,date("Y")));
switch($sysTypeNo){
case '350':
$sumSql="SELECT SUM(MS_to_SMSC_attempt) AS total_MS_to_SMSC_attempt,SUM(MS_to_SMSC_success) AS total_MS_to_SMSC_success,
SUM(MS_to_SMSC_sysfail+MS_to_SMSC_userfail+MS_to_SMSC_smfail) AS total_MS_to_SMSC_Failure,
SUM(MS_to_SMSC_byte) AS total_MS_to_SMSC_byte,
SUM(PPS_to_SMSC_attempt) AS total_PPS_to_SMSC_attempt,
SUM(PPS_to_SMSC_success) AS total_PPS_to_SMSC_success,
SUM(PPS_to_SMSC_sysfail+PPS_to_SMSC_userfail+PPS_to_SMSC_smfail) AS total_PPS_to_SMSC_Failure,
SUM(PPS_to_SMSC_byte) AS total_PPS_to_SMSC_byte,
SUM(VMS_to_SMSC_attempt) AS total_VMS_to_SMSC_attempt,
SUM(VMS_to_SMSC_success) AS total_VMS_to_SMSC_success,
SUM(VMS_to_SMSC_sysfail+VMS_to_SMSC_userfail+VMS_to_SMSC_smfail) AS total_VMS_to_SMSC_Failure,
SUM(VMS_to_SMSC_byte) AS total_VMS_to_SMSC_byte,
// $sumSql="SELECT SUM(MS_to_SMSC_attempt) AS total_MS_to_SMSC_attempt,SUM(MS_to_SMSC_success) AS total_MS_to_SMSC_success,
// SUM(MS_to_SMSC_sysfail+MS_to_SMSC_userfail+MS_to_SMSC_smfail) AS total_MS_to_SMSC_Failure,
// SUM(MS_to_SMSC_byte) AS total_MS_to_SMSC_byte,
// SUM(PPS_to_SMSC_attempt) AS total_PPS_to_SMSC_attempt,
// SUM(PPS_to_SMSC_success) AS total_PPS_to_SMSC_success,
// SUM(PPS_to_SMSC_sysfail+PPS_to_SMSC_userfail+PPS_to_SMSC_smfail) AS total_PPS_to_SMSC_Failure,
// SUM(PPS_to_SMSC_byte) AS total_PPS_to_SMSC_byte,
// SUM(VMS_to_SMSC_attempt) AS total_VMS_to_SMSC_attempt,
// SUM(VMS_to_SMSC_success) AS total_VMS_to_SMSC_success,
// SUM(VMS_to_SMSC_sysfail+VMS_to_SMSC_userfail+VMS_to_SMSC_smfail) AS total_VMS_to_SMSC_Failure,
// SUM(VMS_to_SMSC_byte) AS total_VMS_to_SMSC_byte,
// SUM(SMPP_to_SMSC_attempt) AS total_SMPP_to_SMSC_attempt,
// SUM(SMPP_to_SMSC_success) AS total_SMPP_to_SMSC_success,
// SUM(SMPP_to_SMSC_sysfail+SMPP_to_SMSC_userfail+SMPP_to_SMSC_smfail) AS total_SMPP_to_SMSC_Failure,
// SUM(SMPP_to_SMSC_byte) AS total_SMPP_to_SMSC_byte,
// SUM(SMSC_to_MS_attempt) AS total_SMSC_to_MS_attempt,
// SUM(SMSC_to_MS_success) AS total_SMSC_to_MS_success,
// SUM(SMSC_to_MS_sysfail+SMSC_to_MS_userfail+SMSC_to_MS_smfail) AS total_SMSC_to_MS_Failure,
// SUM(SMSC_to_MS_byte) AS total_SMSC_to_MS_byte,
// SUM(SMSC_to_PPS_attempt) AS total_SMSC_to_PPS_attempt,
// SUM(SMSC_to_PPS_success) AS total_SMSC_to_PPS_success,
// SUM(SMSC_to_PPS_sysfail+SMSC_to_PPS_smfail+SMSC_to_PPS_userfail) AS total_SMSC_to_PPS_Failure,
// SUM(SMSC_to_PPS_byte) AS total_SMSC_to_PPS_byte,
// SUM(SMSC_to_VMS_attempt) AS total_SMSC_to_VMS_attempt,
// SUM(SMSC_to_VMS_success) AS total_SMSC_to_VMS_success,
// SUM(SMSC_to_VMS_sysfail+SMSC_to_VMS_userfail+SMSC_to_VMS_smfail) AS total_SMSC_to_VMS_Failure,
// SUM(SMSC_to_VMS_byte) AS total_SMSC_to_VMS_byte,
// SUM(SMSC_to_SMPP_attempt) AS total_SMSC_to_SMPP_attempt,
// SUM(SMSC_to_SMPP_success) AS total_SMSC_to_SMPP_success,
// SUM(SMSC_to_SMPP_sysfail+SMSC_to_SMPP_userfail+SMSC_to_SMPP_smfail) AS total_SMSC_to_SMPP_Failure,
// SUM(SMSC_to_SMPP_byte) AS total_SMSC_to_SMPP_byte
// FROM CSTA_DB.smscDetailData
// WHERE csta_datetime >= '{$startTime}'
// AND csta_datetime <= '{$endTime}'";
if($keyTwo==="999"){
$smppWhere="";
}else{
$smppWhere="AND smppId=$keyTwo";
}
$sumSql="SELECT
DATE(csta_datetime) AS report_date,
key_sys_id,
smppId,
SUM(SMPP_to_SMSC_attempt) AS total_SMPP_to_SMSC_attempt,
SUM(SMPP_to_SMSC_success) AS total_SMPP_to_SMSC_success,
SUM(SMPP_to_SMSC_sysfail+SMPP_to_SMSC_userfail+SMPP_to_SMSC_smfail) AS total_SMPP_to_SMSC_Failure,
SUM(SMPP_to_SMSC_byte) AS total_SMPP_to_SMSC_byte,
SUM(SMSC_to_MS_attempt) AS total_SMSC_to_MS_attempt,
SUM(SMSC_to_MS_success) AS total_SMSC_to_MS_success,
SUM(SMSC_to_MS_sysfail+SMSC_to_MS_userfail+SMSC_to_MS_smfail) AS total_SMSC_to_MS_Failure,
SUM(SMSC_to_MS_byte) AS total_SMSC_to_MS_byte,
SUM(SMSC_to_PPS_attempt) AS total_SMSC_to_PPS_attempt,
SUM(SMSC_to_PPS_success) AS total_SMSC_to_PPS_success,
SUM(SMSC_to_PPS_sysfail+SMSC_to_PPS_smfail+SMSC_to_PPS_userfail) AS total_SMSC_to_PPS_Failure,
SUM(SMSC_to_PPS_byte) AS total_SMSC_to_PPS_byte,
SUM(SMSC_to_VMS_attempt) AS total_SMSC_to_VMS_attempt,
SUM(SMSC_to_VMS_success) AS total_SMSC_to_VMS_success,
SUM(SMSC_to_VMS_sysfail+SMSC_to_VMS_userfail+SMSC_to_VMS_smfail) AS total_SMSC_to_VMS_Failure,
SUM(SMSC_to_VMS_byte) AS total_SMSC_to_VMS_byte,
SUM(SMSC_to_SMPP_attempt) AS total_SMSC_to_SMPP_attempt,
SUM(SMSC_to_SMPP_success) AS total_SMSC_to_SMPP_success,
SUM(SMSC_to_SMPP_sysfail+SMSC_to_SMPP_userfail+SMSC_to_SMPP_smfail) AS total_SMSC_to_SMPP_Failure,
SUM(SMSC_to_SMPP_byte) AS total_SMSC_to_SMPP_byte
FROM CSTA_DB.smscDetailData
SUM(SMSC_to_SMPP_success) AS total_SMSC_to_SMPP_success
FROM
smscSmppData
WHERE csta_datetime >= '{$startTime}'
AND csta_datetime <= '{$endTime}'";
// echo "sumSql=$sumSql";
AND csta_datetime <= '{$endTime}'
$smppWhere
GROUP BY
DATE(csta_datetime),smppId;";
//echo "sumSql=$sumSql";
$res=mysqli_query($cstaDbConn,$sumSql);
echo mysqli_error($cstaDbConn);
$num=mysqli_num_rows($res);
$row=@mysqli_fetch_array($res,MYSQLI_ASSOC);
// $row=@mysqli_fetch_array($res,MYSQLI_ASSOC);
$title=array('Type');
$valueArr=array();
$allRows = [];
$title = [];
while ($row = mysqli_fetch_array($res, MYSQLI_ASSOC)) {
if (empty($title)) {
foreach ($row as $key => $value) {
///echo "Key: $key, Value: $value\n<br>";
if(!$value) $value=0;
$parts = explode('_', $key);
$title[]= $parts[1].'_' .$parts[2]."\n".$parts[3];
$hang=$parts[4];
$lie=$parts[1].'_' .$parts[2].'_'.$parts[3];
$valueArr[$hang][$lie]=$value;
$title[] = $key;
}
}
$allRows[] = $row;
}
$uniqueTitle=array_unique($title);
// $title=array('Type');
// $valueArr=array();
// foreach ($row as $key => $value) {
// ///echo "Key: $key, Value: $value\n<br>";
// if(!$value) $value=0;
// $parts = explode('_', $key);
// $title[]= $parts[1].'_' .$parts[2]."\n".$parts[3];
// $hang=$parts[4];
// $lie=$parts[1].'_' .$parts[2].'_'.$parts[3];
// $valueArr[$hang][$lie]=$value;
// }
// $uniqueTitle=array_unique($title);
// var_dump($uniqueTitle);
$file_name = 'SMSC-CDR.csv';
$file = fopen($file_name, 'w');
fputcsv($file, $uniqueTitle);
foreach ($valueArr as $one => $two) {
//塞入每行数据
$nowData=array("$one");
foreach ($two as $key => $value) {
$nowData[]=$value;
if (empty($title)) {
echo "SMPP Statistic is null";
}
fputcsv($file, $nowData);
$file = fopen($file_name, 'w');
fputcsv($file, $title);
foreach ($allRows as $index => $record) {
fputcsv($file, $record);
}
@@ -96,6 +131,7 @@ $endTime=date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-$sel_date_to,dat
header('Cache-Control: public');
header("Content-Disposition: attachment; filename=$file_name");
readfile($file_name);
unlink($file_name);
} else {
// 文件不存在时的处理
echo "Error: File does not exist.";
@@ -189,6 +225,7 @@ $endTime=date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-$sel_date_to,dat
header('Cache-Control: public');
header("Content-Disposition: attachment; filename=$file_name");
readfile($file_name);
unlink($file_name);
} else {
// 文件不存在时的处理
echo "Error: File does not exist.";
@@ -316,6 +353,7 @@ GROUP BY
header('Cache-Control: public');
header("Content-Disposition: attachment; filename=$file_name");
readfile($file_name);
unlink($file_name);
} else {
// 文件不存在时的处理
echo "Error: File does not exist.";
@@ -450,6 +488,7 @@ if (file_exists($file_name)) {
header('Cache-Control: public');
header("Content-Disposition: attachment; filename=$file_name");
readfile($file_name);
unlink($file_name);
} else {
// 文件不存在时的处理
echo "Error: File does not exist.";
@@ -578,6 +617,7 @@ if (file_exists($file_name)) {
header('Cache-Control: public');
header("Content-Disposition: attachment; filename=$file_name");
readfile($file_name);
unlink($file_name);
} else {
// 文件不存在时的处理
echo "Error: File does not exist.";

View File

@@ -60,8 +60,45 @@ function openFieldConf(sysTypeNo,pageId,showType)
var urll='./general_csta_index.php?sysTypeNo='+sysTypeNo+'&show_type='+showType+'&page_id='+pageId+'&sel_date_from='+down_date_from+'&sel_date_to='+down_date_to+'&isExport=1';
console.log("Constructed URL:", urll); // 打印构造的 URL
window.location.href=urll;
console.log(sysTypeNo,pageId)
}
function updateExportLink() {
var form = document.myform;
var keyTwo = form.keyTwo ? form.keyTwo.value : '';
var sysTypeNo = form.sysTypeNo.value;
var show_type = form.show_type.value;
var page_id = form.page_id.value;
var sel_date_from = form.sel_date_from.value;
var sel_date_to = form.sel_date_to.value;
var url = "./downCDR.php?keyTwo=" + encodeURIComponent(keyTwo)
+ "&sysTypeNo=" + encodeURIComponent(sysTypeNo)
+ "&show_type=" + encodeURIComponent(show_type)
+ "&page_id=" + encodeURIComponent(page_id)
+ "&sel_date_from=" + encodeURIComponent(sel_date_from)
+ "&sel_date_to=" + encodeURIComponent(sel_date_to)
+ "&isExport=1";
document.getElementById('exportBtn').href = url;
}
function updateExportLinkAll() {
var form = document.myform;
var keyTwo = form.keyTwo ? form.keyTwo.value : '';
var sysTypeNo = form.sysTypeNo.value;
var show_type = form.show_type.value;
var page_id = form.page_id.value;
var sel_date_from = form.sel_date_from.value;
var sel_date_to = form.sel_date_to.value;
var url = "./downCDR.php?keyTwo=999"
+ "&sysTypeNo=" + encodeURIComponent(sysTypeNo)
+ "&show_type=" + encodeURIComponent(show_type)
+ "&page_id=" + encodeURIComponent(page_id)
+ "&sel_date_from=" + encodeURIComponent(sel_date_from)
+ "&sel_date_to=" + encodeURIComponent(sel_date_to)
+ "&isExport=1";
document.getElementById('exportBtnAll').href = url;
}
</script>
<base target="general_csta_down">
@@ -316,11 +353,21 @@ echo "</span>";
echo "</td>";
echo "<td align=\"right\">";
//export
if($sysTypeNo=="320"||$sysTypeNo=="350"){
if($sysTypeNo=="320"){
echo "<a href=\"./downCDR.php?sysTypeNo=$sysTypeNo&show_type=$show_type&page_id=$page_id&sel_date_from=$sel_date_from&sel_date_to=$sel_date_to&isExport=1\">";
echo "<img border=0 src=\"../../images/list.gif\" width=16 height=16>";
echo "</a>&nbsp;&nbsp;&nbsp;&nbsp;";
}
if($sysTypeNo=="350"){
echo "<a id=\"exportBtn\" href=\"#\" onclick=\"javascript:updateExportLink();\">";
echo "<img border=0 src=\"../../images/list.gif\" width=16 height=16 title='Export Designated IP'>";
echo "</a>&nbsp;&nbsp;&nbsp;&nbsp;";
echo "<a id=\"exportBtnAll\" href=\"#\" onclick=\"javascript:updateExportLinkAll();\">";
echo "<img border=0 src=\"../../images/page.gif\" width=16 height=16 title='Export All'>";
echo "</a>&nbsp;&nbsp;&nbsp;&nbsp;";
}
if($show_type == "hour")
{
echo "<a target=\"_parent\" href=\"../../performance/generalCsta/general_csta_index.php?sysTypeNo=$sysTypeNo&show_type=day&page_id=$page_id&sel_date_from=$sel_date_from&sel_date_to=$sel_date_to&keyOne=$keyOne&keyTwo=$keyTwo\"><img src=\"../../images/left.gif\" border=0></img>back</a>";
@@ -330,6 +377,7 @@ if($show_type == "hour")
<span onClick="window.print();" style="cursor:hand">
<img border=0 src="../../images/printer.gif" width="16" height="16">
</span>
<?php
echo "</td>";
@@ -346,3 +394,4 @@ adjust_title_tail_frame("up");
adjust_content_head_frame("up");
adjust_content_tail_frame("up");
?>

View File

@@ -13,8 +13,9 @@ $objDbConn=mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_ser
$query_year=$_REQUEST['query_year'];
$query_month=$_REQUEST['query_month'];
$query_day=$_REQUEST['query_day'];
$bgnDay=$_REQUEST['bgnDay'];
$endDay=$_REQUEST['endDay'];
$flag=$_REQUEST['flag'];
if(!$query_year){
$query_year=date("Y",mktime(0,0,0,date("m"),date("d")-1,date("Y")));
$query_month=date("m",mktime(0,0,0,date("m"),date("d")-1,date("Y")));
@@ -25,6 +26,7 @@ $selectedDate=$_REQUEST['selectedDate']?$_REQUEST['selectedDate']:$defaultDate;
switch($sysTypeNo){
case '360':
$title = ['Index','USSD Code','Session Num','Session Duration','Error Timeout','Error System','Error Message','Average Duration','TPS']; // 获取字段名
$sumSql="SELECT
ussd_code_1,
@@ -77,9 +79,94 @@ $selectedDate=$_REQUEST['selectedDate']?$_REQUEST['selectedDate']:$defaultDate;
error_message_8
FROM
PPS_DB.daily_report
WHERE date = '$selectedDate' ";
WHERE ";
if($flag=='month'){
$result = $sumSql." date >='$bgnDay' and date<= '$endDay' order by date ASC";
//echo "sumSql=$sumSql";
$res=mysqli_query($pssDbConn,$sumSql);
$res=mysqli_query($pssDbConn,$result);
//echo mysqli_error($pssDbConn);
$num=mysqli_num_rows($res);
$allUssdCodes = []; // 用于存储所有记录的 ussd_code
do{
if(!count($allUssdCodes)){ // 代表是第一条记录
// 初始化数组
for ($i = 1; $i <= 8; $i++) {
$allUssdCodes[$i] = $selRow['ussd_code_' . $i];
$thisMonthTotalSessionNum[$i] = $selRow['session_num_' . $i];
$thisMonthTotalSessionDuration[$i] = $selRow['session_duration_'. $i];
$thisMonthTotalErrorTimeout[$i] = $selRow['error_timeout_'. $i];
$thisMonthTotalErrorSystem[$i] = $selRow['error_system_'. $i];
$thisMonthTotalErrorMessage[$i] = $selRow['error_message_'. $i];
}
} else { // 剩余记录
// 创建USSD索引的映射
$codeToIndexMap = array_flip(array_filter($allUssdCodes));
for ($j = 1; $j <= 8; $j++) {
$currentCode = $selRow['ussd_code_' . $j];
if (!$currentCode) continue; // 跳过空代码
echo "currentCode===$currentCode";
if (isset($codeToIndexMap[$currentCode])) {
// 已存在的代码,累加统计数据
$index = $codeToIndexMap[$currentCode];
$thisMonthTotalSessionNum[$index] += $selRow['session_num_' . $j];
$thisMonthTotalSessionDuration[$index] += $selRow['session_duration_'. $j];
$thisMonthTotalErrorTimeout[$index] += $selRow['error_timeout_'. $j];
$thisMonthTotalErrorSystem[$index] += $selRow['error_system_'. $j];
$thisMonthTotalErrorMessage[$index] += $selRow['error_message_'. $j];
} else {
//找一个空位存放
foreach ($allUssdCodes as $key => $value) {
if (!$value) {
$allUssdCodes[$key] = $currentCode;
$codeToIndexMap[$currentCode] = $key;
$thisMonthTotalSessionNum[$key] = $selRow['session_num_' . $j];
$thisMonthTotalSessionDuration[$key] = $selRow['session_duration_'. $j];
$thisMonthTotalErrorTimeout[$key] = $selRow['error_timeout_'. $j];
$thisMonthTotalErrorSystem[$key] = $selRow['error_system_'. $j];
$thisMonthTotalErrorMessage[$key] = $selRow['error_message_'. $j];
break;
}
}
}
}
}
}while($selRow=mysqli_fetch_array($res));
$file_name = 'PPS-USSD-Month.csv';
$file = fopen($file_name, 'w');
fputcsv($file, $title); // 写入标题行
for ($i = 1; $i <= 8; $i++) {
$average=$thisMonthTotalSessionNum[$i]?$thisMonthTotalSessionDuration[$i]/$thisMonthTotalSessionNum[$i]:0;
$tps=$thisMonthTotalSessionNum[$i]/(3600*24);
fputcsv($file, [$i,$allUssdCodes[$i],$thisMonthTotalSessionNum[$i], $thisMonthTotalSessionDuration[$i],$thisMonthTotalErrorTimeout[$i], $thisMonthTotalErrorSystem[$i] ,$thisMonthTotalErrorMessage[$i],$average,$tps]);
}
fclose($file);
// 检查文件是否存在
if (file_exists($file_name)) {
header("Content-type: application/csv");
//use for download csv in https
header('Expires: 0');
header('Pragma: public');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: public');
header("Content-Disposition: attachment; filename=$file_name");
readfile($file_name);
unlink($file_name);
} else {
// 文件不存在时的处理
echo "Error: File does not exist.";
}
}
else{
$result= $sumSql." date = '$selectedDate'";
//echo "sumSql=$sumSql";
$res=mysqli_query($pssDbConn,$result);
echo mysqli_error($pssDbConn);
$num=mysqli_num_rows($res);
@@ -89,7 +176,6 @@ $selectedDate=$_REQUEST['selectedDate']?$_REQUEST['selectedDate']:$defaultDate;
$row = mysqli_fetch_array($res, MYSQLI_ASSOC);
// 处理标题
$title = ['Index','USSD Code','Session Num','Session Duration','Error Timeout','Error System','Error Message','Average Duration','TPS']; // 获取字段名
$file_name = 'PPS-USSD.csv';
$file = fopen($file_name, 'w');
fputcsv($file, $title); // 写入标题行
@@ -111,11 +197,15 @@ $selectedDate=$_REQUEST['selectedDate']?$_REQUEST['selectedDate']:$defaultDate;
header('Cache-Control: public');
header("Content-Disposition: attachment; filename=$file_name");
readfile($file_name);
unlink($file_name);
} else {
// 文件不存在时的处理
echo "Error: File does not exist.";
}
}
}
break;
default:
break;

View File

@@ -501,7 +501,13 @@ for($i=1;$i<=12;$i++){
<?php echo "$strMonth PPS report ($bgnDay ~ $endDay)";?>
</b>
</td>
<td width="20%" align="right">
<td width="5%" align="right">
<a href="./downCSTA.php?sysTypeNo=360&flag=month&bgnDay=<?php echo "$bgnDay";?>&endDay=<?php echo "$endDay";?> ">
<img align=absBottom border=0 src="../../images/list.gif" width="16" height="16"><?php echo "&nbsp;Export";?>
</a>
<td width="5%" align="right">
<div onClick="window.print();" style="cursor:hand">
<img align=absBottom border=0 src="../../images/printer.gif" width="16" height="16"><?php echo "&nbsp;$strDailyBtnPrint";?>
</div>