public static DbModel.LocationHistory.Work.InspectionTrackHistory CreateInspectionTrackHistory(patrols item) { DbModel.LocationHistory.Work.InspectionTrackHistory history = new DbModel.LocationHistory.Work.InspectionTrackHistory(); history.Abutment_Id = item.id; history.Code = item.code; history.Name = item.name; history.CreateTime = (item.createTimes + nEightHourSecond) * 1000; history.dtCreateTime = Location.TModel.Tools.TimeConvert.ToDateTime(history.CreateTime); history.State = item.state; history.StartTime = (item.startTime + nEightHourSecond) * 1000; history.dtStartTime = Location.TModel.Tools.TimeConvert.ToDateTime(history.StartTime); history.EndTime = (item.endTime + nEightHourSecond) * 1000; history.dtEndTime = Location.TModel.Tools.TimeConvert.ToDateTime(history.EndTime); return(history); }
public static DbModel.LocationHistory.Work.InspectionTrackHistory ToDbModel(this TModel.LocationHistory.Work.InspectionTrackHistory item1) { if (item1 == null) { return(null); } var item2 = new DbModel.LocationHistory.Work.InspectionTrackHistory(); item2.Id = item1.Id; item2.Abutment_Id = item1.Abutment_Id; item2.Code = item1.Code; item2.Name = item1.Name; item2.dtCreateTime = item1.dtCreateTime; item2.CreateTime = item1.CreateTime; item2.State = item1.State; item2.dtStartTime = item1.dtStartTime; item2.StartTime = item1.StartTime; item2.dtEndTime = item1.dtEndTime; item2.EndTime = item1.EndTime; item2.Route = item1.Route.ToDbModel(); return(item2); }
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; }