public static void GetMineAlarmLevel(MineGeneral mine, DateTime fromDate, DateTime toDate) { string queryString = "select am.Priority " + "from [WWALMDB].[dbo].[AlarmMaster] am " + "join[WWALMDB].[dbo].[AlarmDetail] ad on am.AlarmId = ad.AlarmId " + "join[WWALMDB].[dbo].[Comment] c on ad.CommentId = c.CommentId " + "where am.AlarmId in " + "(select max(am.AlarmId) AlarmId from[WWALMDB].[dbo].[AlarmMaster] " + "am " + "inner join " + "(select distinct am.tagname, am.time time from[WWALMDB].[dbo].[AlarmMaster] am " + "inner join( " + "select am.AlarmId, am.TagName, c.Comment, am.Priority, am.Time AlarmStart, ad.EventStamp AlarmReturn from[WWALMDB].[dbo].[AlarmMaster] am " + "join [WWALMDB].[dbo].[AlarmDetail] ad on am.AlarmId= ad.AlarmId " + "join[WWALMDB].[dbo].[Comment] c on ad.CommentId= c.CommentId " + "where am.Time<ad.EventStamp " + $"and am.GroupName like '%{mine.LocationID}%')t1 on t1.AlarmId=am.AlarmId) t2 on t2.TagName=am.TagName " + "and t2.time=am.Time " + "group by am.time, am.tagname) " + "and ad.AlarmState = 'UNACK_RTN' " + $"and am.Priority<999 " + $"and am.Priority>0" + $"and am.Time >= '{fromDate.ToString("yyyy-MM-dd")} {fromDate.ToString("HH:mm:ss")}' " + $"and am.Time <= '{toDate.ToString("yyyy-MM-dd")} {toDate.ToString("HH:mm:ss")}'" + "order by Time desc"; using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["WWALMDB"].ConnectionString)) { SqlCommand command = new SqlCommand(queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { if (reader.GetInt16(0) > ProjectConstants.CoalWarningPrio) { mine.CoalWarning = true; } if (reader.GetInt16(0) > ProjectConstants.CoalAlarmPrio) { mine.CoalAlarm = true; } } reader.Close(); } }
public void GetGeneralMineData(MineGeneral model) { model.ProdPlan = _cdbService.GetPlanData(model.LocationID, fromDate, toDate); var location = _cdbService.FindLocationByLocationID(model.LocationID); var oracleShop = (OracleShop)Enum.Parse(typeof(OracleShop), model.LocationID); try { var staffnum = _cdbService.GetStuffCount((int)oracleShop, fromDate, toDate); model.Productivity = (float)model.ProdFact / staffnum; } catch (Exception e) { _logger.Error(e, "Exception getting data for GetGeneralData"); } model.MineName = GetLocationNameOnCurrentLanguate(model.LocationID); }