Esempio n. 1
0
        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();
            }
        }
Esempio n. 2
0
        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);
        }