public void CheckPowerAlarm()
        {
            PowerNameCollection powerNameCollection = new PowerNameCollection();
            List <string>       resultMsgList       = new List <string>();

            for (int i = 0; i < powerNameCollection.Length; i++)
            {
                string fieldName = powerNameCollection[i];
                bool   needCheck = (bool)_alarmEnablePara.GetType().GetField(fieldName).GetValue(_alarmEnablePara);
                if (needCheck)
                {
                    decimal?prePowerData = (decimal?)_prePower.GetType().GetField(fieldName).GetValue(_prePower);
                    decimal?nowPowerData = (decimal?)_nowPower.GetType().GetField(fieldName).GetValue(_nowPower);
                    decimal threshold    = (decimal)_powerAlarmPara.GetType().GetField(fieldName).GetValue(_powerAlarmPara);

                    object[] customAttributes = _powerAlarmPara.GetType()
                                                .GetField(fieldName)
                                                .GetCustomAttributes(typeof(DescriptionAttribute), true);
                    string powerName = ((DescriptionAttribute)customAttributes[0]).Description;

                    PowerAlarm powerAlarm = new PowerAlarm(powerName, prePowerData, nowPowerData, threshold);
                    string     resultmsg  = powerAlarm.ValueJumpAlarm();
                    if (!string.IsNullOrEmpty(resultmsg))
                    {
                        CheckResultList.Add(powerAlarm.CheckPowerName);
                        resultMsgList.Add(resultmsg);
                    }
                }
            }
            ResultMsg = string.Join(";", resultMsgList.ToArray());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 异常订单列表
        /// </summary>
        /// <returns></returns>
        public ActionResult Index(CheckResult CheckResult, EFPagingInfo <CheckResult> p, DateTime?StartDT, DateTime?EndDT, int IsFirst = 0)
        {
            if (!CheckResult.CheckType.IsNullOrEmpty())
            {
                p.SqlWhere.Add(o => o.CheckType == CheckResult.CheckType);
            }
            if (!CheckResult.CheckMsg.IsNullOrEmpty())
            {
                var id = Entity.Users.Where(o => o.UserName == CheckResult.CheckMsg).Select(o => o.Id).FirstOrDefault();
                p.SqlWhere.Add(o => o.UId == id);
            }
            if (!CheckResult.TNum.IsNullOrEmpty())
            {
                p.SqlWhere.Add(o => o.TNum == CheckResult.TNum);
            }
            if (StartDT.HasValue)
            {
                p.SqlWhere.Add(o => o.TaskDate >= StartDT.Value);
            }
            if (EndDT.HasValue)
            {
                p.SqlWhere.Add(o => o.TaskDate <= EndDT);
            }
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <CheckResult> CheckResultList = null;

            if (IsFirst == 0)
            {
                CheckResultList = new PageOfItems <CheckResult>(new List <CheckResult>(), 0, 10, 0, new Hashtable());
            }
            else
            {
                CheckResultList = Entity.Selects <CheckResult>(p);
            }
            var uids      = CheckResultList.Select(o => o.UId).ToList();
            var UsersList = Entity.Users.Where(o => uids.Contains(o.Id)).Select(o => new CheckUserModel {
                Id = o.Id, TrueName = o.TrueName, UserName = o.UserName
            }).ToList();

            ViewBag.CheckResultList = CheckResultList;
            ViewBag.CheckResult     = CheckResult;
            ViewBag.UsersList       = UsersList;
            ViewBag.StartDT         = StartDT;
            ViewBag.EndDT           = EndDT;
            return(View());
        }