using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using Rs.Framework; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Rs.MotionPlat.Entitys { public static class AlarmCollection { private static Dictionary alarmDic = new Dictionary(); private static Dictionary names2id2 = new Dictionary(); static AlarmCollection() { Load(); } public static void Load() { alarmDic.Clear(); XSSFWorkbook book; FileStream fs = File.Open("Dorxx 报警文本(中英韩).xlsx", FileMode.Open, FileAccess.Read, FileShare.ReadWrite); book = new XSSFWorkbook(fs); fs.Close(); if(book!=null) { ISheet sheet = book.GetSheetAt(0); if(sheet!=null) { int rowNum = sheet.LastRowNum+1; if(rowNum>2) { for(int i=1;i0 && alarmDic.ContainsKey(_alarmID)) return alarmDic[_alarmID]; return null; } public static AlarmEntity Get(string _alarmName) { if(names2id2.ContainsKey(_alarmName)) { return Get(names2id2[_alarmName]); } return null; } public static string GetAlarm(int _alarmID) { StringBuilder content = new StringBuilder(); AlarmEntity alarm = Get(_alarmID); if(alarm!=null) { if(GlobalVar.MsgShowCn) { content.Append(alarm.CN).Append("\r\n\r\n"); } if (GlobalVar.MsgShowEn) { content.Append(alarm.EN).Append("\r\n\r\n"); } if (GlobalVar.MsgShowKo) { content.Append(alarm.KO); } return content.ToString(); } return ""; } } public class AlarmEntity { /// /// 报警编号 /// public int AlarmID { get; set; } public string Titile { get; set; } /// /// 中文 /// public string CN { get; set; } /// /// 英文 /// public string EN { get; set; } /// /// 韩文 /// public string KO { get; set; } public AlarmEntity Transform(params object[] args) { AlarmEntity entity = new AlarmEntity(); entity.AlarmID = AlarmID; entity.CN = string.Format(CN, args); entity.EN = string.Format(EN, args); entity.KO = string.Format(KO, args); return entity; } } }