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; } }