using System;
using System.Text;
namespace MainForm
{
///
/// 报警详情
///
public class AlarmData
{
#region 数据
///
/// 主键
///
public string GUID = "";
///
/// 工位名称;[S1]Tray盘上料装备
///
public string LineName = "";
///
/// 工站全称; [S1]Tray盘上料装备\n[S2]...\n...
///
public string PlcStation = "";
///
/// 分类层级1;
///
public string Type1 { get; set; } = "";
///
/// 分类层级2;
///
public string Type2 { get; set; } = "";
///
/// 分类层级3;
///
public string Type3 { get; set; } = "";
///
/// 分类层级4
///
public string Type4 = "";
///
/// 报警类型
///
public string AlarmType = "";
///
/// 报警内容
///
public string AlarmDesc = "";
///
/// 开始时间
///
public DateTime StartTime;
///
/// 结束时间
///
public DateTime EndTime;
///
/// 耗时(s)
///
public int PersistTime;
///
/// Iot上传结果
///
public int IotUpload = 0;
///
/// Iot上传结果
///
public string IotResultMsg = "";
#endregion 数据
///
/// 添加报警数据
///
///
///
//public string ToStringInsert(int upload)
public string ToStringInsert()
{
if (EndTime == new DateTime())
{
return string.Format(
"insert into AlarmData " +
"(" +
"GUID," +
"LineName," +
"AlarmType," +
"AlarmDesc," +
"StartTime," +
//"EndTime," +
"PersistTime" +
") " +
"values('{0}','{1}','{2}','{3}','{4}',{5})",
GUID,
LineName,
AlarmType,
AlarmDesc,
StartTime,
//EndTime,
PersistTime
);
}
else
{
return string.Format(
"insert into AlarmData " +
"(" +
"GUID," +
"LineName," +
"AlarmType," +
"AlarmDesc," +
"StartTime," +
"EndTime," +
"PersistTime" +
") " +
"values('{0}','{1}','{2}','{3}','{4}','{5}',{6})",
GUID,
LineName,
AlarmType,
AlarmDesc,
StartTime,
EndTime,
PersistTime
);
}
}
///
/// 更新报警数据
///
///
///
public string ToStringUpdate()
{
return string.Format(
"update AlarmData " +
"set " +
"EndTime = '{0}', " +
"PersistTime = '{1}' " +
"where GUID = '{2}'",
EndTime,
PersistTime,
GUID
);
}
// 更新上传状态
//public static string ToStringUpdateStatusByID(int upload, string guid)
//{
// return string.Format(
// "update AlarmData " +
// "set " +
// "upload = '{0}' " +
// "where GUID = '{1}'",
// upload,
// guid
// );
//}
///
/// 查询报警数据
///
///
///
/////
///
//public string ToStringQuery(string startDate, string endDate, string sendStatus)
public string ToStringQuery(string startDate, string endDate)
{
//switch (sendStatus)
//{
// case "All":
// sendStatus = "All";
// break;
// case "已上传":
// sendStatus = "1";
// break;
// case "未上传":
// sendStatus = "0";
// break;
//}
StringBuilder strSQL = new StringBuilder();
strSQL.AppendFormat("select " +
"GUID as 主键, " +
"LineName 线体名称," +
"AlarmType 报警类型," +
"AlarmDesc 报警内容," +
"StartTime 开始时间," +
"EndTime 结束时间," +
"PersistTime 耗时" +
" from AlarmData " +
" where convert(datetime,EndTime,120) " +
" between convert(datetime, '{0}', 120) " +
" and convert(datetime, '{1}', 120) ",
startDate,
endDate
);
//if (LineName != "All")
//{
// strSQL.AppendFormat("and LineName='{0}' ", LineName);
//}
//if (sendStatus != "All")
//{
// strSQL.AppendFormat("and upload='{0}' ", sendStatus);
//}
return strSQL.ToString();
}
}
///
/// 报警字典信息
///
public class Alarm
{
///
/// 设备名;
///
public string plcName { get; set; } = string.Empty;
///
/// 设备名;
///
public string plcDeviceCode { get; set; } = string.Empty;
///
/// 分类层级1;
///
public string type1 { get; set; } = string.Empty;
///
/// 分类层级1;中文
///
public string type1CH { get; set; } = string.Empty;
///
/// 分类层级2;
///
public string type2 { get; set; } = string.Empty;
///
/// 分类层级2;中文
///
public string type2CH { get; set; } = string.Empty;
///
/// 分类层级3;
///
public string type3 { get; set; } = string.Empty;
///
/// 分类层级3;中文
///
public string type3CH { get; set; } = string.Empty;
///
/// 故障部件英文;overall_module
///
public string type4 { get; set; } = string.Empty;
///
/// 故障部件中文
///
public string type4CH { get; set; } = string.Empty;
///
/// 故障编码;A40001
///
public string fault_code { get; set; } = string.Empty;
///
/// 故障名称;AL[1000]_系统_HMI急停故障
///
public string fault_name { get; set; } = string.Empty;
///
/// 故障描述;AL[1000]_系统_HMI急停故障
///
public string fault_desc { get; set; } = string.Empty;
public string PLC地址 { get; set; } = string.Empty;
//记录当前警报数组下标,例:fault_codes[0].17 group_index=0
public int group_index { get; set; } = 0;
public string 工位 { get; set; } = string.Empty;
///
/// true 报警
/// false 正常
///
public bool 上次的运行状态 { get; set; } = false;
public bool 是否报警 { get; set; } = false;
public AlarmData 报警数据 = null;
}
}