public static bool ControlPointLegal(string pointId)
 {
     Basic.Framework.Web.BasicResponse <bool> response = _PointDefineService.ControlPointLegal(new PointDefineGetByPointIDRequest()
     {
         PointID = pointId
     });
     if (response.IsSuccess)
     {
         return(response.Data);
     }
     return(true);
 }
Example #2
0
        private void RefreshData()
        {
            while (!StaticClass.SystemOut)
            {
                try
                {
                    Basic.Framework.Web.BasicResponse <List <JC_LargedataAnalysisConfigInfo> > response = largeDataAnalysisCacheClientService.GetAllLargeDataAnalysisConfigCache(new Sys.Safety.Request.LargeDataAnalysisCacheClientGetAllRequest());
                    if (response.Data != null)
                    {
                        //var dataSource = from q in response.Data.AsQueryable()
                        //                 select new
                        //                 {
                        //                     Name = q.Name,
                        //                     AnalysisTime = q.AnalysisTime.HasValue ? q.AnalysisTime.Value.ToString("yyyy/MM/dd HH:mm:ss") : string.Empty,
                        //                     AnalysisResultText = q.AnalysisResultText,
                        //                     ExpressionRealTimeResultList = (
                        //                     from rt in q.ExpressionRealTimeResultList
                        //                     select new { AnalysisModelName = rt.AnalysisModelName,
                        //                         ExpressionText = rt.ExpressionText,
                        //                         FirstSuccessfulTime = rt.FirstSuccessfulTime == DateTime.MinValue ? string.Empty : rt.FirstSuccessfulTime.ToString("yyyy/MM/dd HH:mm:ss"),
                        //                         LastAnalysisTime = rt.LastAnalysisTime == DateTime.MinValue ? string.Empty : rt.LastAnalysisTime.ToString("yyyy/MM/dd HH:mm:ss"),
                        //                         AnalysisResultText = rt.AnalysisResultText,
                        //                         ActualContinueTime = string.Format("{0}:{1}:{2}", (rt.ActualContinueTime / 3600).ToString().PadLeft(2, '0'),
                        //                         (rt.ActualContinueTime % 3600 / 60).ToString().PadLeft(2, '0'), (rt.ActualContinueTime % 3600 % 60).ToString().PadLeft(2, '0')) }).ToList()
                        //                 };

                        //gridList.Clear();
                        foreach (var item in response.Data)
                        {
                            bool isHaveModel = false;
                            foreach (var itemGrid in gridList)
                            {     //old列表
                                if (itemGrid.Id == item.Id)
                                { //分析模型已存在
                                    isHaveModel                 = true;
                                    itemGrid.AnalysisTime       = item.AnalysisTime;
                                    itemGrid.AnalysisResultText = item.AnalysisResultText;
                                    itemGrid.Name               = item.Name;

                                    #region 分析列表
                                    if (item.ExpressionRealTimeResultList != null)
                                    {         //old列表
                                        if (itemGrid.ExpressionRealTimeResultList != null && itemGrid.ExpressionRealTimeResultList.Count > 0)
                                        {     //追加
                                            foreach (var itemExpression in item.ExpressionRealTimeResultList)
                                            { //新分析数据
                                                bool isAdd = true;
                                                foreach (var itemResult in itemGrid.ExpressionRealTimeResultList)
                                                {//old列表
                                                    if (itemResult.ExpressionId == itemExpression.ExpressionId)
                                                    {
                                                        isAdd = false;
                                                        itemResult.ShowFirstSuccessfulTime = itemExpression.FirstSuccessfulTime == DateTime.MinValue ? string.Empty : itemExpression.FirstSuccessfulTime.ToString("yyyy/MM/dd HH:mm:ss");
                                                        itemResult.ShowLastAnalysisTime    = itemExpression.LastAnalysisTime == DateTime.MinValue ? string.Empty : itemExpression.LastAnalysisTime.ToString("yyyy/MM/dd HH:mm:ss");
                                                        itemResult.AnalysisResultText      = itemExpression.AnalysisResultText;

                                                        itemResult.ShowActualContinueTime = string.Format("{0}:{1}:{2}", (itemExpression.ActualContinueTime / 3600).ToString().PadLeft(2, '0'),
                                                                                                          (itemExpression.ActualContinueTime % 3600 / 60).ToString().PadLeft(2, '0'), (itemExpression.ActualContinueTime % 3600 % 60).ToString().PadLeft(2, '0'));

                                                        break;
                                                    }
                                                }

                                                if (isAdd)
                                                {
                                                    ExpressionRealTimeResultInfo modelInfo = new ExpressionRealTimeResultInfo();
                                                    modelInfo.ExpressionText          = itemExpression.ExpressionText;
                                                    modelInfo.ExpressionId            = itemExpression.ExpressionId;
                                                    modelInfo.ShowFirstSuccessfulTime = itemExpression.FirstSuccessfulTime == DateTime.MinValue ? string.Empty : itemExpression.FirstSuccessfulTime.ToString("yyyy/MM/dd HH:mm:ss");
                                                    modelInfo.ShowLastAnalysisTime    = itemExpression.LastAnalysisTime == DateTime.MinValue ? string.Empty : itemExpression.LastAnalysisTime.ToString("yyyy/MM/dd HH:mm:ss");
                                                    modelInfo.AnalysisResultText      = itemExpression.AnalysisResultText;

                                                    modelInfo.ShowActualContinueTime = string.Format("{0}:{1}:{2}", (itemExpression.ActualContinueTime / 3600).ToString().PadLeft(2, '0'),
                                                                                                     (itemExpression.ActualContinueTime % 3600 / 60).ToString().PadLeft(2, '0'), (itemExpression.ActualContinueTime % 3600 % 60).ToString().PadLeft(2, '0'));

                                                    itemGrid.ExpressionRealTimeResultList.Add(modelInfo);
                                                }
                                            }
                                        }
                                        else
                                        {//新增
                                            List <ExpressionRealTimeResultInfo> expressionRealTimeResultList = new List <ExpressionRealTimeResultInfo>();

                                            foreach (var itemExpression in item.ExpressionRealTimeResultList)
                                            {
                                                ExpressionRealTimeResultInfo modelInfo = new ExpressionRealTimeResultInfo();
                                                modelInfo.ExpressionText          = itemExpression.ExpressionText;
                                                modelInfo.ExpressionId            = itemExpression.ExpressionId;
                                                modelInfo.ShowFirstSuccessfulTime = itemExpression.FirstSuccessfulTime == DateTime.MinValue ? string.Empty : itemExpression.FirstSuccessfulTime.ToString("yyyy/MM/dd HH:mm:ss");
                                                modelInfo.ShowLastAnalysisTime    = itemExpression.LastAnalysisTime == DateTime.MinValue ? string.Empty : itemExpression.LastAnalysisTime.ToString("yyyy/MM/dd HH:mm:ss");
                                                modelInfo.AnalysisResultText      = itemExpression.AnalysisResultText;

                                                modelInfo.ShowActualContinueTime = string.Format("{0}:{1}:{2}", (itemExpression.ActualContinueTime / 3600).ToString().PadLeft(2, '0'),
                                                                                                 (itemExpression.ActualContinueTime % 3600 / 60).ToString().PadLeft(2, '0'), (itemExpression.ActualContinueTime % 3600 % 60).ToString().PadLeft(2, '0'));

                                                expressionRealTimeResultList.Add(modelInfo);
                                            }
                                            itemGrid.ExpressionRealTimeResultList = expressionRealTimeResultList;
                                        }
                                    }

                                    #endregion
                                }
                            }

                            if (isHaveModel == false)
                            {
                                JC_LargedataAnalysisConfigInfo model = new JC_LargedataAnalysisConfigInfo();
                                model.Id                 = item.Id;
                                model.Name               = item.Name;
                                model.AnalysisTime       = item.AnalysisTime;
                                model.AnalysisResultText = item.AnalysisResultText;

                                List <ExpressionRealTimeResultInfo> expressionRealTimeResultList = new List <ExpressionRealTimeResultInfo>();
                                if (item.ExpressionRealTimeResultList != null)
                                {
                                    foreach (var itemExpression in item.ExpressionRealTimeResultList)
                                    {
                                        ExpressionRealTimeResultInfo modelInfo = new ExpressionRealTimeResultInfo();
                                        modelInfo.ExpressionText          = itemExpression.ExpressionText;
                                        modelInfo.ExpressionId            = itemExpression.ExpressionId;
                                        modelInfo.ShowFirstSuccessfulTime = itemExpression.FirstSuccessfulTime == DateTime.MinValue ? string.Empty : itemExpression.FirstSuccessfulTime.ToString("yyyy/MM/dd HH:mm:ss");
                                        modelInfo.ShowLastAnalysisTime    = itemExpression.LastAnalysisTime == DateTime.MinValue ? string.Empty : itemExpression.LastAnalysisTime.ToString("yyyy/MM/dd HH:mm:ss");
                                        modelInfo.AnalysisResultText      = itemExpression.AnalysisResultText;

                                        modelInfo.ShowActualContinueTime = string.Format("{0}:{1}:{2}", (itemExpression.ActualContinueTime / 3600).ToString().PadLeft(2, '0'),
                                                                                         (itemExpression.ActualContinueTime % 3600 / 60).ToString().PadLeft(2, '0'), (itemExpression.ActualContinueTime % 3600 % 60).ToString().PadLeft(2, '0'));

                                        expressionRealTimeResultList.Add(modelInfo);
                                    }
                                }
                                model.ExpressionRealTimeResultList = expressionRealTimeResultList;
                                gridList.Add(model);
                            }
                        }
                        MethodInvoker In = new MethodInvoker(() =>
                        {
                            if (gridList != null)
                            {
                                int topRowIndex = gridView1.TopRowIndex;
                                gridView1.RefreshData();
                                for (int i = 0; i < gridView1.RowCount; i++)
                                {
                                    //默认展开所有子项
                                    //gridView1.ExpandMasterRow(i);
                                    DevExpress.XtraGrid.Views.Base.BaseView childView = gridView1.GetVisibleDetailView(i);
                                    if (childView != null)
                                    {
                                        childView.RefreshData();
                                    }
                                }
                                gridView1.TopRowIndex = topRowIndex;
                            }
                        });
                        if (gridControlData.InvokeRequired)
                        {
                            gridControlData.Invoke(In);
                        }
                    }
                }
                catch (Exception ex)
                {
                    LogHelper.Error(ex.Message);
                }
                Thread.Sleep(4000);
            }
        }