= '{$startTime}'
AND csta_datetime <= '{$endTime}'";
// echo "sumSql=$sumSql";
$res=mysqli_query($cstaDbConn,$sumSql);
echo mysqli_error($cstaDbConn);
$num=mysqli_num_rows($res);
$row=@mysqli_fetch_array($res,MYSQLI_ASSOC);
$title=array('Type');
$valueArr=array();
foreach ($row as $key => $value) {
///echo "Key: $key, Value: $value\n
";
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;
}
fputcsv($file, $nowData);
}
// 关闭文件
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);
} else {
// 文件不存在时的处理
echo "Error: File does not exist.";
}
break;
case '320':
//Service
if($page_id == 0)
{
$file_name = 'MSC-Service.csv';
$file = fopen($file_name, 'w');
//没有hour 20240920
$hang= [
"Subs to sbus-GSM" => 5,
"Subs to trunk-GSM" => 6,
"Trunk to subs-GSM" => 7,
"Trunk to trunk" => 8,
"Intraconnection" => 9,
"Subs to IP-GSM" => 10,
"Trunk to IP" => 11,
"Mobile originated-GSM" => 12,
"Mobile terminated-GSM" => 13,
"In trunk" => 14,
"Out trunk" => 15,
"IP terminated"=>16,
"Subs to sbus-UMTS" => 17,
"Subs to trunk-UMTS" => 18,
"Trunk to subs-UMTS" => 19,
"Subs to IP-UMTS" => 20,
"Mobile originated-UMTS" => 21,
"Mobile terminated-UMTS" => 22,
];
$lie=array("Type","Attempt","Success","CallDeny","NetBusy","CallerClear","SubBusy","NoAnswer","SignalErr","Duration");
fputcsv($file, $lie);
foreach ($hang as $key => $value) {
//echo "Key: $key, Value: $value\n
";
if($value<17){
$database="mscSumData";
}else{
$database="mscSum3gData";
}
$sql="SELECT
SUM( Attempt ) AS TotalAttempts,
SUM( Success ) AS TotalSuccess,
SUM( CallDeny ) AS TotalCallDeny,
SUM( NetBusy ) AS TotalNetBusy,
SUM( CallerClear ) AS TotalCallerClear,
SUM( SubBusy ) AS TotalSubBusy,
SUM( NoAnswer ) AS TotalNoAnswer,
SUM( SignalErr ) AS TotalSignalErr,
SUM( Duration ) AS TotalDuration
FROM
CSTA_DB.{$database}
WHERE csta_datetime >= '{$startTime}'
AND csta_datetime <= '{$endTime}'
AND key_type = '{$value}'";
//echo "sql=$sql
";
$res=mysqli_query($cstaDbConn,$sql);
echo mysqli_error($cstaDbConn);
$num=mysqli_num_rows($res);
// if (!$num){
// echo "";
// fclose($file);
// return false;
// }
$row=@mysqli_fetch_array($res,MYSQLI_ASSOC);
// echo "
";
// print_r($row);
// echo "";
$valueArr=array($key);
foreach ($row as $rowKey => $rowValue) {
if(!$rowValue) $rowValue=0;
// echo "Key: $rowKey, Value: $rowValue\n";
// echo print_r($trunk_element_title);
// echo "";
$dataSql="
SELECT
key_e1_tg,
SUM(Attempt) AS Total_Attempt,
SUM(Success) AS Total_Success,
SUM(Duration) AS Total_Duration,
SUM(SignalErr) AS Total_SignalErr,
SUM(CallDeny) AS Total_CallDeny,
SUM(NetBusy) AS Total_NetBusy,
SUM(CallerClear) AS Total_CallerClear,
SUM(SubBusy) AS Total_SubBusy,
SUM(NoAnswer) AS Total_NoAnswer
FROM
(
SELECT
Attempt, Success, Duration, SignalErr, CallDeny, NetBusy, CallerClear, SubBusy, NoAnswer, key_type, key_e1_tg
FROM
CSTA_DB.mscSumData
WHERE
csta_datetime >= '{$startTime}'
AND csta_datetime <= '{$endTime}'
AND key_type IN ('3', '4')
) AS combined
GROUP BY
key_e1_tg;
";
$data=@mysqli_query($cstaDbConn,$dataSql);
echo mysqli_error($cstaDbConn);
$dataNum=mysqli_num_rows($data);
if (!$dataNum){
echo "";
return false;
}
// $dataRow=@mysqli_fetch_array($data,MYSQLI_ASSOC);
$columnTitle=array(
"TG No.",
"Element Title",
"Attempt",
"Success",
"Call Deny",
"Net Busy",
"Caller Clear",
"Sub Busy",
"No Answer",
"Signal Error",
"Total Call Duration",
);
$file_name = 'MSC-Trunk Group.csv';
$file = fopen($file_name, 'w');
fputcsv($file, $columnTitle);
if($dataNum>0)
{
while($dataRow = @mysqli_fetch_array($data,MYSQLI_ASSOC))
{
// echo "";
// print_r($dataRow);
// echo "";
if($trunk_element_title[$dataRow['key_e1_tg']])
{
fputcsv($file,[$dataRow['key_e1_tg'],$trunk_element_title[$dataRow['key_e1_tg']],$dataRow['Total_Attempt'],
$dataRow['Total_Success'],$dataRow['Total_CallDeny'],$dataRow['Total_NetBusy'],$dataRow['Total_CallerClear'],
$dataRow['Total_SubBusy'],$dataRow['Total_NoAnswer'],$dataRow['Total_SignalErr'],$dataRow['Total_Duration']]);
}
}
}
// 关闭文件
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);
} else {
// 文件不存在时的处理
echo "Error: File does not exist.";
}
}
else if($page_id == 2)
{
$service_label=array(
1=>"SUB SUB",
2=>"SUB TRK",
3=>"TRK SUB",
4=>"TRK TRK",
5=>"INTRA",
6=>"SUB IP",
7=>"TRK IP",
8=>"MO",
9=>"MT",
10=>"IN TRK",
11=>"OUT TRK",
);
$service_num=sizeof($service_label);
$service_labelobj=array(
"SUB SUB"=>"5,17",
"SUB TRK"=>"6,18",
"TRK SUB"=>"7,19",
"TRK TRK"=>"8",
"INTRA"=>"9",
"SUB IP"=>"10,20",
"TRK IP"=>"11",
"MO"=>"12,21",
"MT"=>"13,22",
"IN TRK"=>"14",
"OUT TRK"=>"15",
);
$file_name = 'MSC-Erlang.csv';
$file = fopen($file_name, 'w');
for($i=1;$i<=$service_num;$i++){
fputcsv($file, [$service_label[$i].":"]);
$keyType= explode(",", $service_labelobj["".$service_label[$i]]);
$hourSql="
SELECT
DATE_FORMAT(csta_datetime, '%m-%d %H:00:00') AS hour,
SUM(Duration) AS Total_Duration
FROM
CSTA_DB.mscSumData
WHERE
csta_datetime >= '{$startTime}'
AND csta_datetime <= '{$endTime}'
AND key_type = '".$keyType[0]."'
GROUP BY
hour
ORDER BY
hour;
";
//echo "$=$hourSql";
// print_r($hourDataRow);
// echo "";
$timeArr[]= str_replace(" ", "\r\n", $hourDataRow['hour']);
if($hourDataRow['Total_Duration']){
$valueArr[]=change2point($hourDataRow['Total_Duration']/3600);
}else{
$valueArr[]="0";
}
}
fputcsv($file, $timeArr);
fputcsv($file, $valueArr);
if(count($keyType)==2){
$hour3GSql="
SELECT
DATE_FORMAT(csta_datetime, '%m-%d %H:00:00') AS hour,
SUM(Duration) AS Total_Duration
FROM
CSTA_DB.mscSum3gData
WHERE
csta_datetime >= '{$startTime}'
AND csta_datetime <= '{$endTime}'
AND key_type = '".$keyType[1]."'
GROUP BY
hour
ORDER BY
hour;
";
$hour3GData=@mysqli_query($cstaDbConn,$hour3GSql);
echo mysqli_error($cstaDbConn);
$hour3GDataNum=mysqli_num_rows($hour3GData);
if (!$hourDataNum &&!$hour3GDataNum){
echo "";
fclose($file);
return false;
}
$value3GArr=array('',"UMTS");
//UMTS
while($hour3GDataRow = @mysqli_fetch_array($hour3GData,MYSQLI_ASSOC))
{
$value3GArr[]=$hour3GDataRow['Total_Duration'];
}
fputcsv($file, $value3GArr);
}
// echo "";
// print_r($value3GArr);
// echo "";
//fputcsv($file, []);
//fputcsv($file, []);
}
// 关闭文件
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);
} else {
// 文件不存在时的处理
echo "Error: File does not exist.";
}
}
else if($page_id == 3)
{
$service_label=array(
1=>"SUB SUB",
2=>"SUB TRK",
3=>"TRK SUB",
4=>"TRK TRK",
5=>"INTRA",
6=>"SUB IP",
7=>"TRK IP",
8=>"MO",
9=>"MT",
10=>"IN TRK",
11=>"OUT TRK",
);
$service_num=sizeof($service_label);
$service_labelobj=array(
"SUB SUB"=>"5,17",
"SUB TRK"=>"6,18",
"TRK SUB"=>"7,19",
"TRK TRK"=>"8",
"INTRA"=>"9",
"SUB IP"=>"10,20",
"TRK IP"=>"11",
"MO"=>"12,21",
"MT"=>"13,22",
"IN TRK"=>"14",
"OUT TRK"=>"15",
);
$file_name = 'MSC-BHCA.csv';
$file = fopen($file_name, 'w');
for($i=1;$i<=$service_num;$i++){
fputcsv($file, [$service_label[$i].":"]);
$keyType= explode(",", $service_labelobj["".$service_label[$i]]);
$hourSql="
SELECT
DATE_FORMAT(csta_datetime, '%m-%d %H:00:00') AS hour,
SUM(Success) AS Total_Success
FROM
CSTA_DB.mscSumData
WHERE
csta_datetime >= '{$startTime}'
AND csta_datetime <= '{$endTime}'
AND key_type = '".$keyType[0]."'
GROUP BY
hour
ORDER BY
hour;
";
$hourData=@mysqli_query($cstaDbConn,$hourSql);
echo mysqli_error($cstaDbConn);
$hourDataNum=mysqli_num_rows($hourData);
$timeArr=array('','');
$valueArr=array('','GSM');
//GSM
while($hourDataRow = @mysqli_fetch_array($hourData,MYSQLI_ASSOC))
{
// echo "";
// print_r($hourDataRow);
// echo "";
$timeArr[]= str_replace(" ", "\r\n", $hourDataRow['hour']);
$valueArr[]=$hourDataRow['Total_Success'];
}
fputcsv($file, $timeArr);
fputcsv($file, $valueArr);
if(count($keyType)==2){
$hour3GSql="
SELECT
DATE_FORMAT(csta_datetime, '%m-%d %H:00:00') AS hour,
SUM(Success) AS Total_Success
FROM
CSTA_DB.mscSum3gData
WHERE
csta_datetime >= '{$startTime}'
AND csta_datetime <= '{$endTime}'
AND key_type = '".$keyType[1]."'
GROUP BY
hour
ORDER BY
hour;
";
$hour3GData=@mysqli_query($cstaDbConn,$hour3GSql);
echo mysqli_error($cstaDbConn);
$hour3GDataNum=mysqli_num_rows($hour3GData);
if (!$hourDataNum &&!$hour3GDataNum){
echo "";
fclose($file);
return false;
}
$value3GArr=array('',"UMTS");
//UMTS
while($hour3GDataRow = @mysqli_fetch_array($hour3GData,MYSQLI_ASSOC))
{
$value3GArr[]=$hour3GDataRow['Total_Success'];
}
fputcsv($file, $value3GArr);
}
// echo "";
// print_r($value3GArr);
// echo "";
fputcsv($file, []);
fputcsv($file, []);
}
// 关闭文件
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);
} else {
// 文件不存在时的处理
echo "Error: File does not exist.";
}
}
break;
default:
break;
}
?>