Files
web.ems/wxc2_omc/fault/alarmList/exportAlarmLog.php
2025-07-30 17:30:36 +08:00

110 lines
4.1 KiB
PHP

<?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.";
}
?>