add export ussd alarm smpp
This commit is contained in:
@@ -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,8 +26,9 @@ $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
|
||||
$sumSql="SELECT
|
||||
ussd_code_1,
|
||||
session_num_1,
|
||||
session_duration_1,
|
||||
@@ -77,9 +79,94 @@ $selectedDate=$_REQUEST['selectedDate']?$_REQUEST['selectedDate']:$defaultDate;
|
||||
error_message_8
|
||||
FROM
|
||||
PPS_DB.daily_report
|
||||
WHERE date = '$selectedDate' ";
|
||||
//echo "sumSql=$sumSql";
|
||||
$res=mysqli_query($pssDbConn,$sumSql);
|
||||
WHERE ";
|
||||
|
||||
if($flag=='month'){
|
||||
$result = $sumSql." date >='$bgnDay' and date<= '$endDay' order by date ASC";
|
||||
//echo "sumSql=$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,12 +176,11 @@ $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); // 写入标题行
|
||||
|
||||
for ($i = 1; $i <= 8; $i++) {
|
||||
for ($i = 1; $i <= 8; $i++) {
|
||||
$average=$row['session_num_' . $i]?$row['session_duration_' . $i]/$row['session_num_' . $i]:0;
|
||||
$tps=$row['session_num_' . $i]/(3600*24);
|
||||
fputcsv($file, [$i,$row['ussd_code_' . $i],$row['session_num_' . $i],$row['session_duration_' . $i],$row['error_timeout_' . $i],$row['error_system_' . $i],$row['error_message_' . $i],$average,$tps]);
|
||||
@@ -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;
|
||||
|
||||
@@ -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 " 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 " $strDailyBtnPrint";?>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user