Esempio n. 1
0
 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);
        }
Esempio n. 3
0
        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;
        }