= '{$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
"; $valueArr[]=$rowValue; } fputcsv($file, $valueArr); } // 关闭文件 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."; } } //Trunk Group else if($page_id == 1) { $titleSql=" SELECT T1.* FROM OBJ_320.param_99 AS T1, paramConf AS T2 WHERE T1.level_1 = T2.level_1 AND T1.level_2 = T2.level_2 AND T1.level_3 = T2.level_3 AND T1.level_4 = T2.level_4 AND T1.level_5 = T2.level_5 AND T1.level_6 = T2.level_6 AND T1.level_7 = T2.level_7 AND T1.level_8 = T2.level_8 AND T1.level_9 = T2.level_9 AND T1.level_10 = T2.level_10 AND T2.name_2 = 'tgTitle' "; $result=@mysqli_query($objDbConn,$titleSql); $TrunkGroupCount=mysqli_num_rows($result); // $rows = @mysqli_fetch_array($result,MYSQLI_ASSOC); if($TrunkGroupCount>0) { while($rows = @mysqli_fetch_array($result)) { //get the instanceNo of the tg $trunk_no=$rows[instanceNo]+0; $trunk_status[$trunk_no]=1; $trunk_element_title[$trunk_no]=$rows[initValue]; } } // echo "
";
        // 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
"; $hourData=@mysqli_query($cstaDbConn,$hourSql); echo mysqli_error($cstaDbConn); $hourDataNum=mysqli_num_rows($hourData); //echo "hourDataNum=$hourDataNum"; $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']); 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; } ?>