//public PosHistoryService(Bll bll) //{ // this.db = bll; // dbSet = db.Positions; //} private void ResetBll() { Log.Info(hisTag, "ResetBll"); if (db != null) { db.Dispose(); Thread.Sleep(100); } db = new Bll(); dbSet = db.Positions; }
protected override void Dispose(bool disposing) { if (disposing) { bll.Dispose(); } base.Dispose(disposing); }
public override void DailyFunction() { Bll bll = Bll.NewBllNoRelation(); DateTime now = DateTime.Now; DateTime start = now.AddHours(-25); var list = bll.Positions.GetInfoListOfDate(start, now); var count = bll.Positions.RemoveErrorPoints(list); bll.Dispose(); }
private void GetHistoryList() { Bll bll = Bll.NewBllNoRelation(); var list = bll.InspectionTrackHistorys.ToList();//从数据库取 DataGridPatrolList3.ItemsSource = list; TbCount3.Text = list.Count + ""; bll.Dispose(); }
private void BtnGetList2_Click(object sender, RoutedEventArgs e) { //Bll bll = Bll.Instance(); Bll bll = Bll.NewBllNoRelation(); trackList = bll.InspectionTracks.ToList();//从数据库取 DataGridPatrolList2.ItemsSource = trackList; TbCount2.Text = trackList.Count + ""; bll.Dispose(); }
private void DataGridPatrolList2_SelectionChanged(object sender, SelectionChangedEventArgs e) { DbModel.Location.Work.InspectionTrack item = DataGridPatrolList2.SelectedItem as DbModel.Location.Work.InspectionTrack; if (item == null) { return; } Bll bll = Bll.NewBllNoRelation(); var route = bll.PatrolPoints.FindAll(i => i.ParentId == item.Id); PatrolDetail2.SelectedObject = item; DataGridRouteList2.ItemsSource = route; bll.Dispose(); }
private void DataGridPatrolList3_SelectionChanged(object sender, SelectionChangedEventArgs e) { InspectionTrackHistory item = DataGridPatrolList3.SelectedItem as InspectionTrackHistory; if (item == null) { return; } Bll bll = Bll.NewBllNoRelation(); var route = bll.PatrolPointHistorys.FindAll(i => i.ParentId == item.Id); PatrolDetail3.SelectedObject = item; DataGridRouteList3.ItemsSource = route; bll.Dispose(); }
public override bool TickFunction() { Log.Info(Name, "检查设备告警"); //清除某一个时间之前的所有告警 Bll db = Bll.NewBllNoRelation(); DateTime nowTime = DateTime.Now; DateTime starttime = DateTime.Now.AddDays(-DevAlarmKeepDays); var starttimeStamp = TimeConvert.ToStamp(starttime); var query = db.DevAlarms.DbSet.Where(i => i.AlarmTimeStamp < starttimeStamp); var count = query.Count(); if (count > 0) { query.DeleteFromQuery();//这样删除效率高 Log.Info(Name, "清除历史设备告警,数量:" + count); } db.Dispose(); return(true); }
protected override void OnDispose() { if (UI != null) { UI.Dispose(); } if (Bll != null) { Bll.Dispose(); } if (Dal != null) { Dal.Dispose(); } UI = null; Bll = null; Dal = null; base.OnDispose(); }
private void DealPatrolPointItem(List <DbModel.Location.Work.InspectionTrack> All, List <DbModel.LocationHistory.Work.InspectionTrackHistory> HAdd, List <DbModel.Location.Work.PatrolPoint> PAll, List <DbModel.Location.Work.PatrolPoint> PDelete, List <DbModel.LocationHistory.Work.PatrolPointHistory> PHAdd, WebApiLib.Clients.BaseDataClient client) { try { Bll bll = Bll.NewBllNoRelation(); List <DbModel.Location.Work.PatrolPointItem> ppiList = bll.PatrolPointItems.ToList(); List <DbModel.LocationHistory.Work.PatrolPointItemHistory> ppiHList = bll.PatrolPointItemHistorys.ToList(); if (ppiList == null) { ppiList = new List <DbModel.Location.Work.PatrolPointItem>(); } if (ppiHList == null) { ppiHList = new List <DbModel.LocationHistory.Work.PatrolPointItemHistory>(); } List <DbModel.Location.Work.PatrolPointItem> PIAll = new List <DbModel.Location.Work.PatrolPointItem>(); List <DbModel.Location.Work.PatrolPointItem> PIAdd = new List <DbModel.Location.Work.PatrolPointItem>(); List <DbModel.Location.Work.PatrolPointItem> PIEdit = new List <DbModel.Location.Work.PatrolPointItem>(); List <DbModel.Location.Work.PatrolPointItem> PIDelete = new List <DbModel.Location.Work.PatrolPointItem>(); List <DbModel.LocationHistory.Work.PatrolPointItemHistory> PIHAdd = new List <DbModel.LocationHistory.Work.PatrolPointItemHistory>(); for (int i = 0; i < PAll.Count; i++) //foreach (DbModel.Location.Work.PatrolPoint item in PAll) { var item = PAll[i]; if (All.Count > 1000) { if (i % 20 == 0) { Log.Info(LogTags.Inspection, string.Format("DealPatrolPointItem Progress1(PAll) :{0}/{1}", i + 1, PAll.Count)); } } else { Log.Info(LogTags.Inspection, string.Format("DealPatrolPointItem Progress1(PAll) :{0}/{1}", i + 1, PAll.Count)); } try { int Id = item.Id; string deviceId = item.DeviceId; int ParentId = item.ParentId; DbModel.Location.Work.InspectionTrack it = All.Find(p => p.Id == ParentId); if (it == null) { continue; } int patrolId = (int)it.Abutment_Id; var recv = client.Getcheckresults(patrolId, deviceId); // CommunicationClass.SihuiThermalPowerPlant.Models.checkpoints recv = Getcheckresults(patrolId, deviceId); if (recv == null || recv.checks.Count() <= 0) { continue; } foreach (results item2 in recv.checks) { try { if (isAllNew) { var now = CreatePatrolPointItem(Id, item2); PIAdd.Add(now); } else { var now = ppiList.Find(p => p.CheckId == item2.checkId && p.ParentId == Id); if (now == null) { now = CreatePatrolPointItem(Id, item2); PIAdd.Add(now); } else { SetCheckTime(item2, now); now.CheckResult = item2.checkResult; PIEdit.Add(now); } } } catch (Exception ex1) { Log.Error(LogTags.Inspection, ex1); } } if (PIAdd.Count > 1000) { bll.PatrolPointItems.AddRange(PIAdd); PIAdd.Clear(); } } catch (Exception ex) { Log.Error(LogTags.Inspection, ex); } } foreach (var item in PDelete) { int Id = item.Id; List <DbModel.Location.Work.PatrolPointItem> lstDelete = ppiList.FindAll(p => p.ParentId == Id).ToList(); if (lstDelete != null && lstDelete.Count() > 0) { PIDelete.AddRange(lstDelete); } } for (int i = 0; i < PHAdd.Count; i++) //foreach (var item in PHAdd) { if (All.Count > 10000) { if (i % 100 == 0) { Log.Info(LogTags.Inspection, string.Format("DealPatrolPointItem Progress2(PHAdd) :{0}/{1}", i + 1, PHAdd.Count)); } } else { Log.Info(LogTags.Inspection, string.Format("DealPatrolPointItem Progress2(PHAdd) :{0}/{1}", i + 1, PHAdd.Count)); } var item = PHAdd[i]; try { int Id = item.Id; string deviceId = item.DeviceId; int ParentId = item.ParentId; DbModel.LocationHistory.Work.InspectionTrackHistory ith = HAdd.Find(p => p.Id == ParentId); if (ith == null) { continue; } int patrolId = (int)ith.Abutment_Id; var recv = client.Getcheckresults(patrolId, deviceId); //CommunicationClass.SihuiThermalPowerPlant.Models.checkpoints recv = Getcheckresults(patrolId, deviceId); if (recv == null || recv.checks.Count() <= 0) { continue; } foreach (results item2 in recv.checks) { if (isAllNew) { var history = CreatePatrolPointItemHistory(Id, item2); PIHAdd.Add(history); } else { var history = bll.PatrolPointItemHistorys.Find(p => p.CheckId == item2.checkId && p.ParentId == Id); if (history == null) { history = CreatePatrolPointItemHistory(Id, item2); PIHAdd.Add(history); } } } if (PIHAdd.Count > 1000) { bll.PatrolPointItemHistorys.AddRange(PIHAdd); PIHAdd.Clear(); } } catch (Exception ex) { Log.Error(LogTags.Inspection, ex); } } bll.PatrolPointItems.AddRange(PIAdd); bll.PatrolPointItems.EditRange(PIEdit); bll.PatrolPointItems.RemoveList(PIDelete); bll.PatrolPointItemHistorys.AddRange(PIHAdd); bll.Dispose(); isAllNew = false; } catch (Exception ex) { string strMessage = ex.Message; Log.Error(LogTags.Inspection, ex); } return; }
private void DealPatrolPoint(List <DbModel.Location.Work.InspectionTrack> All, List <DbModel.Location.Work.InspectionTrack> Delete, List <DbModel.LocationHistory.Work.InspectionTrackHistory> HAdd, WebApiLib.Clients.BaseDataClient client) { Log.Info(LogTags.Inspection, string.Format("DealPatrolPoint Start")); Bll bll = Bll.NewBllNoRelation(); List <DbModel.Location.Work.PatrolPoint> ppList = bll.PatrolPoints.ToList(); List <DbModel.LocationHistory.Work.PatrolPointHistory> ppHList = bll.PatrolPointHistorys.ToList(); //List<DbModel.Location.AreaAndDev.DevInfo> devList = bll.DevInfos.ToList(); if (ppList == null) { ppList = new List <DbModel.Location.Work.PatrolPoint>(); } if (ppHList == null) { ppHList = new List <DbModel.LocationHistory.Work.PatrolPointHistory>(); } //if (devList == null) //{ // devList = new List<DbModel.Location.AreaAndDev.DevInfo>(); //} List <DbModel.Location.Work.PatrolPoint> PAll = new List <DbModel.Location.Work.PatrolPoint>(); List <DbModel.Location.Work.PatrolPoint> PAdd = new List <DbModel.Location.Work.PatrolPoint>(); List <DbModel.Location.Work.PatrolPoint> PEdit = new List <DbModel.Location.Work.PatrolPoint>(); List <DbModel.Location.Work.PatrolPoint> PDelete = new List <DbModel.Location.Work.PatrolPoint>(); List <DbModel.LocationHistory.Work.PatrolPointHistory> PHAdd = new List <DbModel.LocationHistory.Work.PatrolPointHistory>(); //foreach (DbModel.Location.Work.InspectionTrack item in All) for (int i = 0; i < All.Count; i++) { if (All.Count > 100) { if (i % 10 == 0) { Log.Info(LogTags.Inspection, string.Format("DealPatrolPoint Progress1(All) :{0}/{1}", i + 1, All.Count)); } } else { Log.Info(LogTags.Inspection, string.Format("DealPatrolPoint Progress1(All) :{0}/{1}", i + 1, All.Count)); } var item = All[i]; int Id = item.Id; int patrolId = (int)item.Abutment_Id; CommunicationClass.SihuiThermalPowerPlant.Models.patrols recv = client.GetPatrolDetail(patrolId); // CommunicationClass.SihuiThermalPowerPlant.Models.patrols recv = Getcheckpoints(patrolId); if (recv == null || recv.route.Count() <= 0) { continue; } foreach (checkpoints item2 in recv.route) { //DbModel.Location.AreaAndDev.DevInfo dev1 = devList.Find(p => p.KKS == item2.kksCode); DbModel.Location.Work.PatrolPoint now = ppList.Find(p => p.DeviceId == item2.deviceId && p.ParentId == Id); if (now == null) { now = new DbModel.Location.Work.PatrolPoint(); SetPatrolPointProperty(Id, item2, now); PAdd.Add(now); } else { SetPatrolPointProperty(Id, item2, now); PEdit.Add(now); } } } foreach (DbModel.Location.Work.InspectionTrack item in Delete) { int Id = item.Id; List <DbModel.Location.Work.PatrolPoint> lstDelete = ppList.FindAll(p => p.ParentId == Id).ToList(); if (lstDelete != null && lstDelete.Count() > 0) { PDelete.AddRange(lstDelete); } } //foreach (DbModel.LocationHistory.Work.InspectionTrackHistory item in HAdd) for (int i = 0; i < HAdd.Count; i++) { if (All.Count > 100) { if (i % 20 == 0) { Log.Info(LogTags.Inspection, string.Format("DealPatrolPoint Progress2(HAdd) :{0}/{1}", i + 1, HAdd.Count)); } } else { Log.Info(LogTags.Inspection, string.Format("DealPatrolPoint Progress2(HAdd) :{0}/{1}", i + 1, HAdd.Count)); } DbModel.LocationHistory.Work.InspectionTrackHistory item = HAdd[i]; int Id = item.Id; int patrolId = (int)item.Abutment_Id; CommunicationClass.SihuiThermalPowerPlant.Models.patrols recv = client.GetPatrolDetail(patrolId); //CommunicationClass.SihuiThermalPowerPlant.Models.patrols recv = Getcheckpoints(patrolId); if (recv == null || recv.route.Count() <= 0) { continue; } foreach (CommunicationClass.SihuiThermalPowerPlant.Models.checkpoints item2 in recv.route) { //DbModel.Location.AreaAndDev.DevInfo dev1 = devList.Find(p => p.KKS == item2.kksCode); DbModel.LocationHistory.Work.PatrolPointHistory history = ppHList.Find(p => p.DeviceId == item2.deviceId && p.ParentId == Id); if (history == null) { history = CreatePatrolPointHistory(Id, item2); PHAdd.Add(history); } } } Log.Info(LogTags.Inspection, string.Format("DealPatrolPoint Edit....")); bll.PatrolPoints.AddRange(PAdd); bll.PatrolPoints.EditRange(PEdit); bll.PatrolPoints.RemoveList(PDelete); bll.PatrolPointHistorys.AddRange(PHAdd); PAll.AddRange(PAdd); PAll.AddRange(PEdit); bll.Dispose(); Log.Info(LogTags.Inspection, string.Format("DealPatrolPoint End....")); DealPatrolPointItem(All, HAdd, PAll, PDelete, PHAdd, client); return; }
private DbModel.Location.Work.InspectionTrackList DealInspectionTrack(WebApiLib.Clients.BaseDataClient client, DateTime dtBegin, DateTime dtEnd, bool bFlag) { DbModel.Location.Work.InspectionTrackList TrackList = new DbModel.Location.Work.InspectionTrackList(); try { Log.Info(LogTags.Inspection, string.Format("DealInspectionTrack Start {0}-{1}", dtBegin, dtEnd)); //http://172.16.100.22/api/patrols?startDate=1563066082&endDate=1563325282&offset=0&limit=10000 var All = new List <DbModel.Location.Work.InspectionTrack>(); var newList = new List <DbModel.Location.Work.InspectionTrack>(); var changedList = new List <DbModel.Location.Work.InspectionTrack>(); var deleteList = new List <DbModel.Location.Work.InspectionTrack>(); var newHisList = new List <DbModel.LocationHistory.Work.InspectionTrackHistory>(); var changeHisList = new List <DbModel.LocationHistory.Work.InspectionTrackHistory>(); long lNow = GetNowDateStamp(); var recv = client.GetPatrolList(dtBegin, dtEnd); //从WebApi获取 // var recv = Getinspectionlist(); if (recv == null) { return(null); } Log.Info(LogTags.Inspection, string.Format("GetPatrolList:" + recv.Count)); Bll bll = Bll.NewBllNoRelation(); var itList = bll.InspectionTracks.ToList();//当前的巡检轨迹 Log.Info(LogTags.Inspection, string.Format("InspectionTracks:" + itList.Count)); var itHList = bll.InspectionTrackHistorys.ToList();//历史巡检轨迹 Log.Info(LogTags.Inspection, string.Format("InspectionTrackHistorys:" + itList.Count)); foreach (patrols item in recv) { var now = itList.Find(p => p.Abutment_Id == item.id);//数据库中已经存在该轨迹 var history = itHList.Find(p => p.Abutment_Id == item.id); if (item.endTime >= lNow && !(item.state == "已完成" || item.state == "已过期") ) { if (now == null) { now = CreateInspectionTrack(item); newList.Add(now); } else { if (now.State != item.state) { now.State = item.state; changedList.Add(now); } } } else { if (now != null) { now.State = item.state; deleteList.Add(now); } if (history == null) { history = CreateInspectionTrackHistory(item); newHisList.Add(history); } else { if (history.State != item.state) { history.State = item.state; changeHisList.Add(history); } } } } Log.Info(LogTags.Inspection, string.Format("DealInspectionTrack Edit... newList:{0},changedList:{1},deleteList:{2},changeHisList:{3},newHisList:{4}" , newList.Count, changedList.Count, deleteList.Count, changeHisList.Count, newHisList.Count)); bll.InspectionTracks.AddRange(newList); //添加 bll.InspectionTracks.EditRange(changedList); //修改 bll.InspectionTracks.RemoveList(deleteList); //删除 bll.InspectionTrackHistorys.EditRange(changeHisList); //历史轨迹 bll.InspectionTrackHistorys.AddRange(newHisList); //历史轨迹 All.AddRange(newList); All.AddRange(changedList); bll.Dispose(); DealPatrolPoint(All, deleteList, newHisList, client); TrackList.AddTrack = newList; TrackList.ReviseTrack = changedList; TrackList.DeleteTrack = deleteList; Log.Info(LogTags.Inspection, string.Format("DealInspectionTrack End")); return(TrackList); } catch (Exception ex) { Log.Error(LogTags.Inspection, string.Format("DealInspectionTrack :" + ex)); return(TrackList); } }