public JsonResult GetServiceResource()
        {
            var json = new JsonResults();
            var rm   = new ResultModel();

            try
            {
                int       siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                DataTable dt     = CRBIYYBBReportProjectRule.Intance().GetServiceResource();
                List <ResourceMonitoringViewModel> list = CRBICommonLib.ModelConvertHelper <ResourceMonitoringViewModel> .ConvertToModel(dt);

                if (list.Count <= 0)
                {
                    rm.Message = "未查询到相关数据!";
                    rm.Status  = false;
                    json.Data  = rm;
                    return(json);
                }
                ResourceMonitoringViewModel model = list[0];
                rm.Result = model;
                rm.Status = true;
            }
            catch (Exception ex)
            {
                rm.Message = ex.Message;
                rm.Status  = false;
            }
            json.Data = rm;
            return(json);
        }
        public JsonResult GetEquipmentPerformance()
        {
            var json = new JsonResults();
            var rm   = new ResultModel();

            try
            {
                int       siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                DataTable dt     = CRBIYYBBReportProjectRule.Intance().GetEquipmentPerformance(siteId);
                List <PerformanceViewModel> list = CRBICommonLib.ModelConvertHelper <PerformanceViewModel> .ConvertToModel(dt);

                PerformanceResultViewModel model = new PerformanceResultViewModel();
                model.Equipments      = list.Select(m => m.EquipmentName).ToList();
                model.PerformanceData = new List <PerformanceDataViewModel>();
                PerformanceDataViewModel pdvm = GetPerformanceData(list, model, 0);
                model.PerformanceData.Add(pdvm);
                pdvm = GetPerformanceData(list, model, 1);
                model.PerformanceData.Add(pdvm);
                pdvm = GetPerformanceData(list, model, 2);
                model.PerformanceData.Add(pdvm);
                pdvm = GetPerformanceData(list, model, 3);
                model.PerformanceData.Add(pdvm);
                rm.Result = model;
                rm.Status = true;
            }
            catch (Exception ex)
            {
                rm.Message = ex.Message;
                rm.Status  = false;
            }
            json.Data = rm;
            return(json);
        }
Пример #3
0
        public JsonResult GetDutyOnDuty()
        {
            var json = new JsonResults();
            var rm   = new ResultModel();

            try
            {
                int       siteId                  = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                DataTable dtDutyOnDuty            = CRBIYYBBReportProjectRule.Intance().GetDutyOnDuty(siteId);
                DataTable dtDutyOnDutyRemaining   = CRBIYYBBReportProjectRule.Intance().GetDutyOnDutyRemaining(siteId);
                List <DutyOnDutyViewModel> listdd = CRBICommonLib.ModelConvertHelper <DutyOnDutyViewModel> .ConvertToModel(dtDutyOnDuty);

                List <DutyOnDutyRemainingViewModel> listddr = CRBICommonLib.ModelConvertHelper <DutyOnDutyRemainingViewModel> .ConvertToModel(dtDutyOnDutyRemaining);

                DutyOnDutyListViewModel dutyOnDutyListViewModel = new DutyOnDutyListViewModel();
                dutyOnDutyListViewModel.DutyOnDutyRemainingViewModel = listddr.Where(m => DateTime.Now > DateTime.Parse(m.ExecuteTime).AddDays(-7)).ToList();
                dutyOnDutyListViewModel.DutyOnDutyViewModel          = listdd.Where(m => DateTime.Now > DateTime.Parse(m.PlanTime).AddDays(-7)).ToList();
                rm.Result = dutyOnDutyListViewModel;
                rm.Status = true;
            }
            catch (Exception ex)
            {
                rm.Message = ex.Message;
                rm.Status  = false;
            }
            json.Data = rm;
            return(json);
        }
Пример #4
0
        // GET: Warning
        public ActionResult Index()
        {
            int       siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
            DataTable dt     = CRBIYYBBReportProjectRule.Intance().GetY_WarnFault(siteId);
            List <Y_WarnFaultViewModels> list = CRBICommonLib.ModelConvertHelper <Y_WarnFaultViewModels> .ConvertToModel(dt);

            foreach (var item in list)
            {
                try
                {
                    using (var httpClient = new HttpClient())
                    {
                        var url      = new Uri(System.Configuration.ConfigurationManager.AppSettings["Knowledge"]);
                        var response = httpClient.GetAsync(url + "/GetExpertKnowledge?val=" + item.EventName + "&pageNo=1&pageSize=1&strOrder=CreateTime%20DESC&equipmentCategory=-1&keyWord=").Result;
                        var data     = response.Content.ReadAsStringAsync().Result;
                        data = "{ExpertKnowledgeViewModel:" + data.Substring(0, data.LastIndexOf(']') + 1).Substring(data.IndexOf('[')) + "}";
                        data = data.Replace(@"\", "");
                        var model = JsonConvert.DeserializeObjectAsync <ExpertKnowledgesViewModel>(data).Result;
                        if (model.ExpertKnowledgeViewModel.Count > 0)
                        {
                            item.ExpertAdvice = model.ExpertKnowledgeViewModel[0].Solution ?? "";
                        }
                    }
                }
                catch
                {
                    item.ExpertAdvice = "";
                }
            }
            return(View(list));
        }
        public ApiResultViewModel <List <Models.Y_EarlyWarningViewModels> > Get()
        {
            ApiResultViewModel <List <Y_EarlyWarningViewModels> > result = new ApiResultViewModel <List <Y_EarlyWarningViewModels> >();

            try
            {
                string  filePath  = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Setting.ini");
                IniFile ini       = new IniFile(filePath);
                var     isChecked = bool.Parse(ini.ReadString("PollingBroadcast", "Checked", ""));
                if (isChecked)
                {
                    int       siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                    DataTable dt     = CRBIYYBBReportProjectRule.Intance().GetEarlyWarning(siteId);
                    List <Y_EarlyWarningViewModels> list = CRBICommonLib.ModelConvertHelper <Y_EarlyWarningViewModels> .ConvertToModel(dt);

                    if (list.Count <= 0)
                    {
                        result.Status = false;
                        return(result);
                    }
                    result.Status = true;
                    result.Obj    = list;
                }
                else
                {
                    result.Status = false;
                }
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = ex.Message;
            }
            return(result);
        }
Пример #6
0
        public JsonResult GetWarnFault()
        {
            var json = new JsonResults();
            var rm   = new ResultModel();

            try
            {
                int       siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                string    monday = DateTime.Now.AddDays(-((int)DateTime.Now.DayOfWeek - 1)).ToShortDateString();
                string    sunday = DateTime.Now.AddDays(7 - ((int)DateTime.Now.DayOfWeek)).ToShortDateString();
                DataTable dtWeek = CRBIYYBBReportProjectRule.Intance().GetWarnFault(siteId, monday, sunday);
                List <WarnFaultViewModal> listWeek = CRBICommonLib.ModelConvertHelper <WarnFaultViewModal> .ConvertToModel(dtWeek);

                WeeklyCurveViewModal modalWeek = GetModal(monday, listWeek);

                sunday = DateTime.Now.AddDays(-((int)DateTime.Now.DayOfWeek)).ToShortDateString();
                monday = DateTime.Now.AddDays(-((int)DateTime.Now.DayOfWeek)).AddDays(-6).ToShortDateString();
                DataTable dtLastWeek = CRBIYYBBReportProjectRule.Intance().GetWarnFault(siteId, monday, sunday);
                List <WarnFaultViewModal> listLastWeek = CRBICommonLib.ModelConvertHelper <WarnFaultViewModal> .ConvertToModel(dtLastWeek);

                WeeklyCurveViewModal       modalLastWeek = GetModal(monday, listLastWeek);
                WeeklyCurveResultViewModal modal         = new WeeklyCurveResultViewModal();
                modal.WeeklyCurveWeek     = modalWeek;
                modal.WeeklyCurveLastWeek = modalLastWeek;
                rm.Result = modal;
                rm.Status = true;
            }
            catch (Exception ex)
            {
                rm.Message = ex.Message;
                rm.Status  = false;
            }
            json.Data = rm;
            return(json);
        }
Пример #7
0
        // GET: ZeroFaultEquipment
        public ActionResult Index()
        {
            int       siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
            DataTable dt     = CRBIYYBBReportProjectRule.Intance().GetZeroFaultEquipment(siteId);
            List <ZeroFaultEquipmentViewModel> list = CRBICommonLib.ModelConvertHelper <ZeroFaultEquipmentViewModel> .ConvertToModel(dt);

            return(View(list));
        }
Пример #8
0
        // GET: DailyKnowledge
        public ActionResult Index()
        {
            DataTable            dt   = CRBIYYBBReportProjectRule.Intance().GetDailyKnowledgePop();
            List <TipsViewModel> list = CRBICommonLib.ModelConvertHelper <TipsViewModel> .ConvertToModel(dt);

            Random r = new Random();
            int    i = r.Next(1, list.Count);

            return(View(list[i]));
        }
Пример #9
0
        public JsonResult GetEngineRoomScoreItem(int scoreId)
        {
            var json = new JsonResults();
            var rm   = new ResultModel();

            try
            {
                DataTable dt = CRBIYYBBReportProjectRule.Intance().GetEngineRoomScoreItem(scoreId);
                List <Y_EngineRoomScoreItemModel> list = CRBICommonLib.ModelConvertHelper <Y_EngineRoomScoreItemModel> .ConvertToModel(dt);

                Y_EngineRoomScoreItemViewModel model = new Y_EngineRoomScoreItemViewModel();
                foreach (var item in list)
                {
                    switch ((EngineScoreItem)item.ScoreItemID)
                    {
                    case EngineScoreItem.支撑时间:
                        model.SupportTimeBaseScore = item.BaseScore;
                        model.SupportTimeScore     = item.Score;
                        break;

                    case EngineScoreItem.健康状态:
                        model.HealthStatusBaseScore = item.BaseScore;
                        model.HealthStatusScore     = item.Score;
                        break;

                    case EngineScoreItem.供电质量:
                        model.PowerQualityBaseScore = item.BaseScore;
                        model.PowerQualityScore     = item.Score;
                        break;

                    case EngineScoreItem.设备容量富裕量:
                        model.CapacitySurplusBaseScore = item.BaseScore;
                        model.CapacitySurplusScore     = item.Score;
                        break;

                    case EngineScoreItem.接地电阻:
                        model.EarthResistanceBaseScore = item.BaseScore;
                        model.EarthResistanceScore     = item.Score;
                        break;

                    default:
                        break;
                    }
                }
                rm.Result = model;
                rm.Status = true;
            }
            catch (Exception ex)
            {
                rm.Message = ex.Message;
                rm.Status  = false;
            }
            json.Data = rm;
            return(json);
        }
 public bool Get()
 {
     try
     {
         int       siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
         DataTable dt     = CRBIYYBBReportProjectRule.Intance().GetEngineRoomScore(siteId);
     }
     catch
     {
         return(false);
     }
     return(true);
 }
Пример #11
0
        public JsonResult GetAlarmStatistics()
        {
            var json = new JsonResults();
            var rm   = new ResultModel();

            try
            {
                int       siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                DataTable dt     = CRBIYYBBReportProjectRule.Intance().GetAlarmStatistics(siteId);
                List <AlarmStatisticsModel> list = CRBICommonLib.ModelConvertHelper <AlarmStatisticsModel> .ConvertToModel(dt);

                AlarmStatisticsViewModel asvm = new AlarmStatisticsViewModel();
                foreach (var item in list.Where(m => m.EventLevel == "一级告警"))
                {
                    if (item.EventType == 1)
                    {
                        asvm.OneMalfunctionNumber = item.Number;
                    }
                    if (item.EventType == 0)
                    {
                        asvm.OneWarningNumber = item.Number;
                    }
                }
                foreach (var item in list.Where(m => m.EventLevel == "二级告警"))
                {
                    if (item.EventType == 1)
                    {
                        asvm.TwoMalfunctionNumber = item.Number;
                    }
                    if (item.EventType == 0)
                    {
                        asvm.TwoWarningNumber = item.Number;
                    }
                }
                rm.Result = asvm;
                rm.Status = true;
            }
            catch (Exception ex)
            {
                rm.Message = ex.Message;
                rm.Status  = false;
            }
            json.Data = rm;
            return(json);
        }
Пример #12
0
        public ApiResultViewModel <bool> Post([FromBody] string postParam)
        {
            ApiResultViewModel <bool> result = new ApiResultViewModel <bool>();

            try
            {
                PostParamViewModel ppvm = JsonConvert.DeserializeObject <PostParamViewModel>(postParam);
                var isDelete            = CRBIYYBBReportProjectRule.Intance().DeleteWarnFault(ppvm.ID);
                result.Status = true;
                result.Obj    = isDelete;
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = ex.Message;
            }
            return(result);
        }
Пример #13
0
        public ApiResultViewModel <EarlyWarningPopViewModel> Get()
        {
            ApiResultViewModel <EarlyWarningPopViewModel> result = new ApiResultViewModel <EarlyWarningPopViewModel>();

            try
            {
                string  filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Setting.ini");
                IniFile ini      = new IniFile(filePath);
                bool    isPop    = bool.Parse(ini.ReadString("EarlyWarning", "Pop", ""));
                bool    isVoice  = bool.Parse(ini.ReadString("EarlyWarning", "Voice", ""));
                if (isPop)
                {
                    int       siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                    DataTable dt     = CRBIYYBBReportProjectRule.Intance().GetEarlyWarningPop(siteId);
                    List <EarlyWarningPopViewModel> list = CRBICommonLib.ModelConvertHelper <EarlyWarningPopViewModel> .ConvertToModel(dt);

                    if (list.Count <= 0)
                    {
                        result.Status = true;
                        result.Obj    = null;
                        return(result);
                    }
                    result.Status = true;
                    result.Obj    = list[0];
                    if (isVoice)
                    {
                        result.Obj.IsVoice = true;
                    }
                }
                else
                {
                    result.Status = true;
                    result.Obj    = null;
                }
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = ex.Message;
            }
            return(result);
        }
Пример #14
0
        public ApiResultViewModel <Y_EngineRoomScoreViewModel> Get()
        {
            ApiResultViewModel <Y_EngineRoomScoreViewModel> result = new ApiResultViewModel <Y_EngineRoomScoreViewModel>();

            try
            {
                int       siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                DataTable dt     = CRBIYYBBReportProjectRule.Intance().GetEngineRoomScore(siteId);
                List <Y_EngineRoomScoreViewModel> list = CRBICommonLib.ModelConvertHelper <Y_EngineRoomScoreViewModel> .ConvertToModel(dt);

                result.Obj    = list[0];
                result.Status = true;
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = ex.Message;
            }
            return(result);
        }
Пример #15
0
        public ApiResultViewModel <MonitoringModeViewModel> Get()
        {
            ApiResultViewModel <MonitoringModeViewModel> result = new ApiResultViewModel <MonitoringModeViewModel>();

            try
            {
                MonitoringModeViewModel model = new MonitoringModeViewModel();
                int siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                int count  = 0;
                count = CRBIYYBBReportProjectRule.Intance().GetWarnFaultCount(siteId);
                if (count == 0)
                {
                    count = CRBIYYBBReportProjectRule.Intance().GetEarlyWarningCount(siteId);
                    if (count == 0)
                    {
                        model.Text  = "正常";
                        model.Count = count;
                    }
                    else
                    {
                        model.Text  = "预警";
                        model.Count = count;
                    }
                }
                else
                {
                    model.Text  = "告警";
                    model.Count = count;
                }
                result.Status = true;
                result.Obj    = model;
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = ex.Message;
            }
            return(result);
        }
Пример #16
0
        public ApiResultViewModel <TipsViewModel> Get()
        {
            ApiResultViewModel <TipsViewModel> result = new ApiResultViewModel <TipsViewModel>();

            try
            {
                string  filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Setting.ini");
                IniFile ini      = new IniFile(filePath);
                bool    isShow   = bool.Parse(ini.ReadString("Tips", "Show", ""));
                if (isShow)
                {
                    DataTable            dt   = CRBIYYBBReportProjectRule.Intance().GetDailyKnowledgePop();
                    List <TipsViewModel> list = CRBICommonLib.ModelConvertHelper <TipsViewModel> .ConvertToModel(dt);

                    if (list.Count <= 0)
                    {
                        result.Status = true;
                        result.Obj    = null;
                        return(result);
                    }
                    result.Status = true;
                    Random r = new Random();
                    int    i = r.Next(1, list.Count);
                    result.Obj = list[i];
                    if (result.Obj == null)
                    {
                        result.Status = true;
                        result.Obj    = null;
                        return(result);
                    }
                }
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = ex.Message;
            }
            return(result);
        }
Пример #17
0
        public JsonResult GetEngineRoomScore()
        {
            var json = new JsonResults();
            var rm   = new ResultModel();

            try
            {
                int       siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                DataTable dt     = CRBIYYBBReportProjectRule.Intance().GetEngineRoomScore(siteId);
                List <Y_EngineRoomScoreViewModel> list = CRBICommonLib.ModelConvertHelper <Y_EngineRoomScoreViewModel> .ConvertToModel(dt);

                Y_EngineRoomScoreViewModel model = list[0];
                rm.Result = model;
                rm.Status = true;
            }
            catch (Exception ex)
            {
                rm.Message = ex.Message;
                rm.Status  = false;
            }
            json.Data = rm;
            return(json);
        }
Пример #18
0
        public JsonResult GetSupportTime()
        {
            var json = new JsonResults();
            var rm   = new ResultModel();

            try
            {
                int        siteId    = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                int        dc        = (int)EquipmentTypeEnum.开关电源蓄电池组;
                int        ups       = (int)EquipmentTypeEnum.UPS蓄电池组;
                int        generator = (int)EquipmentTypeEnum.发电机组;
                List <int> typeList  = new List <int>();
                typeList.Add(dc);
                typeList.Add(ups);
                typeList.Add(generator);
                DataTable dt = CRBIYYBBReportProjectRule.Intance().GetSupportTime(siteId, typeList);
                List <SupportTimeModel> list = CRBICommonLib.ModelConvertHelper <SupportTimeModel> .ConvertToModel(dt);

                SupportTimeViewModel model = new SupportTimeViewModel();
                foreach (var item in list)
                {
                    switch ((EquipmentTypeEnum)item.EquipmentType)
                    {
                    case EquipmentTypeEnum.UPS蓄电池组:
                        if (model.UPSKeepTime == 0 || (item.KeepTime < model.UPSKeepTime && item.KeepTime != 0))
                        {
                            model.UPSKeepTime = item.KeepTime;
                            model.UPSEqName   = item.EquipmentName;
                            model.UPSLifeTime = item.LifeTime;
                        }
                        break;

                    case EquipmentTypeEnum.开关电源蓄电池组:
                        if (model.DCKeepTime == 0 || (item.KeepTime < model.DCKeepTime && item.KeepTime != 0))
                        {
                            model.DCKeepTime = item.KeepTime;
                            model.DCEqName   = item.EquipmentName;
                            model.DCLifeTime = item.LifeTime;
                        }
                        break;

                    case EquipmentTypeEnum.发电机组:
                        if (model.GeneratorKeepTime == 0 || (item.KeepTime < model.GeneratorKeepTime && item.KeepTime != 0))
                        {
                            model.GeneratorKeepTime = item.KeepTime;
                            model.GeneratorEqName   = item.EquipmentName;
                            model.GeneratorLifeTime = item.LifeTime;
                        }
                        break;

                    default:
                        break;
                    }
                }
                rm.Result = model;
                rm.Status = true;
            }
            catch (Exception ex)
            {
                rm.Message = ex.Message;
                rm.Status  = false;
            }
            json.Data = rm;
            return(json);
        }
Пример #19
0
        static void Main(string[] args)
        {
            string        sAppPath = AppDomain.CurrentDomain.BaseDirectory;
            DirectoryInfo dirBase  = new DirectoryInfo(sAppPath);
            DirectoryInfo dirRoot  = dirBase.Parent.Parent;
            string        sRoot    = dirRoot.FullName;
            Stopwatch     timer    = new Stopwatch();

            timer.Start();
            //测试数据
            //健康周报
            Console.WriteLine(string.Format("CR-BI数据查询框架开始执行:{0}", DateTime.Now.ToString()));
            Console.WriteLine("查询健康周报");
            CRBIYYBBReportProjectRule.Intance().GetHealthweeklyData();
            Console.WriteLine("查询区域级近一周整体健康状态");
            CRBIYYBBReportProjectRule.Intance().LoadData_A_7D_ZTJKZT(new CRBIHttpContextQuery()
            {
            });
            Console.WriteLine("区域级告警处理时效性分析");
            CRBIYYBBReportProjectRule.Intance().LoadData_A_AlarmDisposeTimes(new CRBIHttpContextQuery());
            Console.WriteLine("区域级告警分布");
            CRBIYYBBReportProjectRule.Intance().LoadData_A_AlarmDistribution(new CRBIHttpContextQuery());
            Console.WriteLine("区域级重点关注下周告警分布");
            CRBIYYBBReportProjectRule.Intance().LoadData_A_AlarmDistribution_NextWeek(new CRBIHttpContextQuery());
            Console.WriteLine("区域级综合保障能力");
            CRBIYYBBReportProjectRule.Intance().LoadData_A_ZHBBNL(new CRBIHttpContextQuery());

            Console.WriteLine("站点级综合保障能力");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_ZHBBNL(new CRBIHttpContextQuery());
            Console.WriteLine("区域级综合评估雷达");
            CRBIYYBBReportProjectRule.Intance().LoadData_A_ZHPGLD(new CRBIHttpContextQuery());
            Console.WriteLine("站点级综合评估雷达");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_ZHPGLD(new CRBIHttpContextQuery());
            Console.WriteLine("区域级无故障运行天数");
            CRBIYYBBReportProjectRule.Intance().LoadData_A_WGZYXTS(new CRBIHttpContextQuery());
            Console.WriteLine("站点级无故障运行天数");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_WGZYXTS(new CRBIHttpContextQuery());
            Console.WriteLine("获取零故障设备");
            CRBIYYBBReportProjectRule.Intance().LoadData_A_S_ZeroBugMachine(new CRBIHttpContextQuery());
            Console.WriteLine("获取零故障设备");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_ZeroBugMachine(new CRBIHttpContextQuery());



            Console.WriteLine("获取区域级零故障设备厂商");
            CRBIYYBBReportProjectRule.Intance().LoadData_A_ZeroBugFactory(new CRBIHttpContextQuery());
            Console.WriteLine("获取站点级零故障设备厂商");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_ZeroBugFactory(new CRBIHttpContextQuery());
            Console.WriteLine("区域级告警分布");
            CRBIYYBBReportProjectRule.Intance().LoadData_A_AlarmDistribution(new CRBIHttpContextQuery());
            Console.WriteLine("站点级告警分布");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_AlarmDistribution(new CRBIHttpContextQuery());
            Console.WriteLine("站点级获取一周告警分布");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_AlarmDistributionByDate_1Week(new CRBIHttpContextQuery());
            Console.WriteLine("站点级获取一周活动告警分布");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_ActiveAlarmDistributionByDate_1Week(new CRBIHttpContextQuery());
            Console.WriteLine("站点级获取各站点历史告警统计");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_HistoryAlarmCountByMonth(new CRBIHttpContextQuery());
            Console.WriteLine("区域级告警处理时效性分析");
            CRBIYYBBReportProjectRule.Intance().LoadData_A_AlarmDisposeTimes(new CRBIHttpContextQuery());
            Console.WriteLine("站点级告警处理时效性分析");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_AlarmDisposeTimes(new CRBIHttpContextQuery());


            Console.WriteLine("区域级重点关注下周告警分布");
            CRBIYYBBReportProjectRule.Intance().LoadData_A_AlarmDistribution_NextWeek(new CRBIHttpContextQuery());
            Console.WriteLine("站点级重点关注下周告警分布");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_AlarmDistribution_NextWeek(new CRBIHttpContextQuery());
            Console.WriteLine("站点级重点关注设备");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_VIPMachine(new CRBIHttpContextQuery());
            Console.WriteLine("站点级维护任务燃尽图");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_TaskBrunDownChart(new CRBIHttpContextQuery());
            Console.WriteLine("站点级每日知识");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_DailyKnowledge(new CRBIHttpContextQuery());
            Console.WriteLine("站点级维护计划");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_TodoTask(new CRBIHttpContextQuery());
            Console.WriteLine("站点设备信息");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_MachineInfo(new CRBIHttpContextQuery());
            Console.WriteLine("区域级支撑时间");
            CRBIYYBBReportProjectRule.Intance().LoadData_A_SupportTime(new CRBIHttpContextQuery());
            Console.WriteLine("站点级支撑时间");
            CRBIYYBBReportProjectRule.Intance().LoadData_S_SupportTime(new CRBIHttpContextQuery());

            Console.WriteLine("服务器信息");
            CRBIYYBBReportProjectRule.Intance().LoadData_IMUInfo(new CRBIHttpContextQuery());
            Console.WriteLine("当前值机信息");
            CRBIYYBBReportProjectRule.Intance().LoadData_CurrentPCinfo(new CRBIHttpContextQuery());
            Console.WriteLine("......");

            Console.WriteLine(string.Format("CR-BI数据查询框架结束执行:{0}", DateTime.Now.ToString()));
            Console.WriteLine("按“Y/y”结束执行");
            string str = Console.ReadLine();

            if (str.Equals("y") || str.Equals("Y"))
            {
                Console.WriteLine("结束执行!");
            }
            else
            {
                #region 报表相关
                //string sDocTemplatePath = Path.Combine(sRoot, "Templates", "专利申请授权情况简报(简版).docx");
                //string sXmlFilePath = Path.Combine(sRoot, "XmlConfigs", "GDPAPatentReport_Simple_Config.XML");
                //string sReflectdFuncLib = "GDPASmartReportToolLib.GDPAReflectedFuncLib_Simple";

                //专利申请授权情况简报(完整版).docx                      原模板
                //1专利申请授权情况简报(完整版).docm                  使用宏更新目录的模板
                //2专利申请授权情况简报(完整版) - 副本.docx        修改了XML结构以更新目录的模板

                string sDocTemplatePath = Path.Combine(sRoot, "Templates", "专利申请授权情况简报(完整版).docm");
                string sXmlFilePath     = Path.Combine(sRoot, "XmlConfigs", "GDPAPatentReport_Complete_Config.XML");
                string sReflectdFuncLib = "GDPASmartReportToolLib.GDPAReflectedFuncLib_Complete";

                sDocTemplatePath = Path.Combine(sRoot, "Templates", "柯蓝蓄电池充电测试报告.docm");
                sXmlFilePath     = Path.Combine(sRoot, "XmlConfigs", "CRBIReport_Charge_1_Config.XML");
                sReflectdFuncLib = "CRBISmartReportToolLib.CRBIReflectedFunction_Charge_1";

                string sExcelTemplatePath = Path.Combine(sRoot, "Templates", "GDPATempExcelTemplate.xlsx");
                string sReportSaveDir     = "d:\\OpenXmlTest";
                CRBIConst.SetDateTime(DateTime.Parse("2017-1-1"), DateTime.Parse("2017-9"));
                CRBIConst.const_LogPath = Path.Combine(sReportSaveDir, CRBIConst.const_LogParentDir, CRBIConst.const_LogName);



                //CRBIDocumentProcessor processor = new CRBIDocumentProcessor
                //                                     (sDocTemplatePath, sXmlFilePath, sExcelTemplatePath, sReflectdFuncLib, true, sReportSaveDir);
                //processor.GenerateDocx();
                #endregion
            }


            timer.Stop();
            Console.WriteLine(string.Format("用时{0}毫秒", timer.ElapsedMilliseconds));
            Console.ReadKey();
        }
Пример #20
0
        public ApiResultViewModel <WarnFaultPopViewModel> Get()
        {
            ApiResultViewModel <WarnFaultPopViewModel> result = new ApiResultViewModel <WarnFaultPopViewModel>();

            try
            {
                string  filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Setting.ini");
                IniFile ini      = new IniFile(filePath);
                bool    isPop    = bool.Parse(ini.ReadString("Warning", "Pop", ""));
                bool    isVoice  = bool.Parse(ini.ReadString("Warning", "Voice", ""));
                if (isPop)
                {
                    int       siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                    DataTable dt     = CRBIYYBBReportProjectRule.Intance().GetWarnFaultPop(siteId);
                    List <WarnFaultPopViewModel> list = CRBICommonLib.ModelConvertHelper <WarnFaultPopViewModel> .ConvertToModel(dt);

                    if (list.Count <= 0)
                    {
                        result.Status = true;
                        result.Obj    = null;
                        return(result);
                    }
                    try
                    {
                        using (var httpClient = new HttpClient())
                        {
                            var url      = new Uri(System.Configuration.ConfigurationManager.AppSettings["Knowledge"]);
                            var response = httpClient.GetAsync(url + "/GetExpertKnowledge?val=" + list[0].EventName + "&pageNo=1&pageSize=1&strOrder=CreateTime%20DESC&equipmentCategory=-1&keyWord=").Result;
                            var data     = response.Content.ReadAsStringAsync().Result;
                            data = "{ExpertKnowledgeViewModel:" + data.Substring(0, data.LastIndexOf(']') + 1).Substring(data.IndexOf('[')) + "}";
                            data = data.Replace(@"\", "");
                            var model = JsonConvert.DeserializeObjectAsync <ExpertKnowledgesViewModel>(data).Result;
                            if (model.ExpertKnowledgeViewModel.Count > 0)
                            {
                                list[0].ExpertAdvice = model.ExpertKnowledgeViewModel[0].Solution ?? "";
                            }
                        }
                    }
                    catch
                    {
                        list[0].ExpertAdvice = "";
                    }
                    result.Status = true;
                    result.Obj    = list[0];
                    if (isVoice)
                    {
                        result.Obj.IsVoice = true;
                    }
                }
                else
                {
                    result.Status = true;
                    result.Obj    = null;
                }
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = ex.Message;
            }
            return(result);
        }
        public ApiResultViewModel <List <Y_WarnFaultViewModels> > Get()
        {
            ApiResultViewModel <List <Y_WarnFaultViewModels> > result = new ApiResultViewModel <List <Y_WarnFaultViewModels> >();

            try
            {
                string  filePath  = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Setting.ini");
                IniFile ini       = new IniFile(filePath);
                var     isChecked = bool.Parse(ini.ReadString("PollingBroadcast", "Checked", ""));
                if (isChecked)
                {
                    int       siteId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                    DataTable dt     = CRBIYYBBReportProjectRule.Intance().GetY_WarnFault(siteId);
                    List <Y_WarnFaultViewModels> list = CRBICommonLib.ModelConvertHelper <Y_WarnFaultViewModels> .ConvertToModel(dt);

                    //string existItem = ini.ReadString("PollingBroadcast", "ExistItem", "");
                    //if (!string.IsNullOrEmpty(existItem))
                    //{
                    //    List<string> existItems = existItem.Split(',').ToList();
                    //    list = list.Where(m => !existItem.Contains(m.ID.ToString())).ToList();
                    //}
                    if (list.Count <= 0)
                    {
                        result.Status = false;
                        return(result);
                    }
                    foreach (var item in list)
                    {
                        //string strTemp = ini.ReadString("PollingBroadcast", "ExistItem", "");
                        //ini.WriteString("PollingBroadcast", "ExistItem", (strTemp == "" ? "" : (strTemp + ",")) + item.ID.ToString());
                        try
                        {
                            using (var httpClient = new HttpClient())
                            {
                                var url      = new Uri(System.Configuration.ConfigurationManager.AppSettings["Knowledge"]);
                                var response = httpClient.GetAsync(url + "/GetExpertKnowledge?val=" + item.EventName + "&pageNo=1&pageSize=1&strOrder=CreateTime%20DESC&equipmentCategory=-1&keyWord=").Result;
                                var data     = response.Content.ReadAsStringAsync().Result;
                                data = "{ExpertKnowledgeViewModel:" + data.Substring(0, data.LastIndexOf(']') + 1).Substring(data.IndexOf('[')) + "}";
                                data = data.Replace(@"\", "");
                                var model = JsonConvert.DeserializeObjectAsync <ExpertKnowledgesViewModel>(data).Result;
                                if (model.ExpertKnowledgeViewModel.Count > 0)
                                {
                                    item.ExpertAdvice = model.ExpertKnowledgeViewModel[0].Solution ?? "";
                                }
                            }
                        }
                        catch
                        {
                            item.ExpertAdvice = "";
                        }
                    }
                    result.Status = true;
                    result.Obj    = list;
                }
                else
                {
                    result.Status = false;
                    //result.Message = "";
                    return(result);
                }
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = ex.Message;
            }
            return(result);
        }
Пример #22
0
        public JsonResult GetMonthCurve()
        {
            var json = new JsonResults();
            var rm   = new ResultModel();

            try
            {
                int       siteId   = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SiteId"]);
                string    firstday = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).ToShortDateString();
                string    lastday  = DateTime.Parse(firstday).AddMonths(1).AddDays(-1).ToShortDateString();
                DataTable dt       = CRBIYYBBReportProjectRule.Intance().GetMonthCurve(siteId, firstday, lastday);
                List <MonthCurveViewModal> list = CRBICommonLib.ModelConvertHelper <MonthCurveViewModal> .ConvertToModel(dt);

                MonthCurveResultModal modal = new MonthCurveResultModal();
                modal.WarnTime = GetWarnTime(firstday, lastday);
                //modal.EqType = new List<string>();
                List <int> eqTypeTemp = new List <int>();
                foreach (var eqType in list.Select(m => m.EqType).Distinct().ToList())
                {
                    //modal.EqType.Add(Enum.GetName(typeof(EquipmentTypeEnum), eqType));
                    eqTypeTemp.Add(eqType);
                }
                modal.MonthCurveDataModal = new List <MonthCurveDataModal>();
                foreach (var eqType in eqTypeTemp)
                {
                    MonthCurveDataModal mcdm = new MonthCurveDataModal();

                    switch ((EquipmentTypeEnum)eqType)
                    {
                    case EquipmentTypeEnum.设备列表:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.ATS:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.交流配电柜:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.直流配电柜:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.交流列头柜:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.直流列头柜:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.UPS蓄电池组:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.开关电源蓄电池组:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.发电机组:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.开关电源:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.高频开关:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.主输出断路器:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.逆变电源:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.AS03:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.AS05:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.UPS设备:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.其它:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    case EquipmentTypeEnum.接地电阻:
                        mcdm = GetMonthCurveDataModal(list, modal, eqType);
                        modal.MonthCurveDataModal.Add(mcdm);
                        break;

                    default:
                        break;
                    }
                }
                rm.Result = modal;
                rm.Status = true;
            }
            catch (Exception ex)
            {
                rm.Message = ex.Message;
                rm.Status  = false;
            }
            json.Data = rm;
            return(json);
        }