private static DbModel.LocationHistory.Work.PatrolPointHistory CreatePatrolPointHistory(int Id, checkpoints item2) { DbModel.LocationHistory.Work.PatrolPointHistory history = new DbModel.LocationHistory.Work.PatrolPointHistory(); history.ParentId = Id; history.StaffCode = item2.staffCode; history.StaffName = item2.staffName; history.KksCode = item2.kksCode; history.DevName = item2.deviceName; history.DeviceCode = item2.deviceCode; history.DeviceId = item2.deviceId; //if (dev1 != null) //{ // history.DevId = dev1.Id; //} return(history); }
public static DbModel.LocationHistory.Work.PatrolPointHistory ToDbModel(this TModel.LocationHistory.Work.PatrolPointHistory item1) { if (item1 == null) { return(null); } var item2 = new DbModel.LocationHistory.Work.PatrolPointHistory(); item2.Id = item1.Id; item2.ParentId = item1.ParentId; item2.StaffCode = item1.StaffCode; item2.KksCode = item1.KksCode; item2.DevId = item1.DevId; item2.DeviceCode = item1.DeviceCode; item2.DeviceId = item1.DeviceId; item2.Checks = item1.Checks.ToDbModel(); return(item2); }
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; }