/// <summary>
    /// 显示工作票路线
    /// </summary>
    public void ShowMobileInspectionPath(PersonnelMobileInspection personnelMobileInspectionT)
    {
        Hide();
        if (personnelMobileInspectionT.list == null)
        {
            return;
        }
        for (int i = 0; i < personnelMobileInspectionT.list.Length; i++)
        {
            PersonnelMobileInspectionItem item = personnelMobileInspectionT.list[i];

            RoomFactory.Instance.GetDevByid(item.DevId,
                                            (devNodeT) =>
            {
                if (devNodeT == null)
                {
                    return;
                }
                GameObject targetTagObj1         = UGUIFollowTarget.CreateTitleTag(devNodeT.gameObject, Vector3.zero);
                GameObject uiObj1                = UGUIFollowManage.Instance.CreateItem(followUI.gameObject, targetTagObj1, "MobileInspectionUI", null, false, false);
                MobileInspectionFollowUI follow1 = uiObj1.GetComponent <MobileInspectionFollowUI>();

                List <PersonnelMobileInspectionItem> listT   = personnelMobileInspectionT.list.ToList();
                PersonnelMobileInspectionItem operationItemT = listT.Find((itemt) => itemt.DevId == devNodeT.Info.Id);
                try
                {
                    follow1.Init(true, operationItemT.nOrder.ToString(), devNodeT.name);
                }
                catch
                {
                    int j = 0;
                }
            });
        }
    }
        public ActionResult Begin(int Id)
        {
            PersonnelMobileInspection pm = bll.PersonnelMobileInspections.Find(Id);

            if (pm == null)
            {
                return(RedirectToAction("Index"));
            }

            pm.list = bll.PersonnelMobileInspectionItems.DbSet.Where(p => p.PID == Id).ToList();

            if (pm.list == null)
            {
                pm.list = new List <PersonnelMobileInspectionItem>();
            }

            if (pm.StartTime == null)
            {
                pm.StartTime = DateTime.Now;
                if (pm.StartTime >= pm.PlanEndTime)
                {
                    pm.bOverTime = true;
                }
            }

            bll.PersonnelMobileInspections.Edit(pm);
            ViewBag.bOverTime = "False";
            if (pm.bOverTime)
            {
                ViewBag.bOverTime = "True";
            }

            return(View(pm));
        }
        // GET: PersonnelMobileInspection
        public ActionResult Index()
        {
            List <MobileInspection>          mList   = bll.MobileInspections.ToList();
            List <Personnel>                 pList   = bll.Personnels.ToList();
            List <PersonnelMobileInspection> pmList  = bll.PersonnelMobileInspections.ToList();
            List <PersonnelMobileInspection> pmList2 = bll.PersonnelMobileInspections.DbSet.Where(P => P.bOverTime == true).ToList();
            PersonnelMobileInspection        pm      = new PersonnelMobileInspection();

            pm.PlanStartTime = DateTime.Now;
            pm.PlanEndTime   = DateTime.Now;
            pm.bOverTime     = false;
            pm.Remark        = "";

            //超时的人员或巡检轨迹在移到历史数据库之前,不能用于分配
            foreach (PersonnelMobileInspection item in pmList2)
            {
                MobileInspection m1 = mList.Find(p => p.Id == item.MobileInspectionId);
                Personnel        p1 = pList.Find(p => p.Id == item.PersonnelId);
                if (m1 != null)
                {
                    mList.Remove(m1);
                }

                if (p1 != null)
                {
                    pList.Remove(p1);
                }
            }

            ViewBag.mList  = mList;
            ViewBag.pList  = pList;
            ViewBag.pmList = pmList;
            return(View(pm));
        }
        public ActionResult End(int Id)
        {
            PersonnelMobileInspection pm = bll.PersonnelMobileInspections.Find(Id);

            if (pm == null || pm.StartTime == null)
            {
                return(RedirectToAction("Index"));
            }

            pm.list = bll.PersonnelMobileInspectionItems.DbSet.Where(p => p.PID == Id).ToList();

            if (pm.list == null)
            {
                pm.list = new List <PersonnelMobileInspectionItem>();
            }

            PersonnelMobileInspectionHistory pmh = new PersonnelMobileInspectionHistory();

            pmh.Id                   = pm.Id;
            pmh.PersonnelId          = pm.PersonnelId;
            pmh.PersonnelName        = pm.PersonnelName;
            pmh.MobileInspectionId   = pm.MobileInspectionId;
            pmh.MobileInspectionName = pm.MobileInspectionName;
            pmh.PlanStartTime        = pm.PlanStartTime;
            pmh.PlanEndTime          = pm.PlanEndTime;
            pmh.StartTime            = pm.StartTime;
            pmh.EndTime              = DateTime.Now;
            pmh.bOverTime            = pm.bOverTime;
            pmh.Remark               = pm.Remark;

            List <PersonnelMobileInspectionItemHistory> list = new List <PersonnelMobileInspectionItemHistory>();

            foreach (PersonnelMobileInspectionItem item in pm.list)
            {
                PersonnelMobileInspectionItemHistory pmih = new PersonnelMobileInspectionItemHistory();
                pmih.Id        = item.Id;
                pmih.ItemId    = item.ItemId;
                pmih.PID       = item.PID;
                pmih.ItemName  = item.ItemName;
                pmih.nOrder    = item.nOrder;
                pmih.DevId     = item.DevId;
                pmih.DevName   = item.DevName;
                pmih.PunchTime = item.PunchTime;
                list.Add(pmih);
            }

            pmh.list = list;

            if (pmh.EndTime >= pm.PlanEndTime)
            {
                pmh.bOverTime = true;
            }

            bll.PersonnelMobileInspections.DeleteById(Id);
            bll.PersonnelMobileInspectionHistorys.Add(pmh);

            return(RedirectToAction("Index"));
        }
        public ActionResult Punch(int Id, int pid)
        {
            PersonnelMobileInspectionItem pmi = bll.PersonnelMobileInspectionItems.Find(Id);

            if (pmi != null && pmi.PunchTime == null)
            {
                pmi.PunchTime = DateTime.Now;
                bll.PersonnelMobileInspectionItems.Edit(pmi);
            }

            PersonnelMobileInspection pm = bll.PersonnelMobileInspections.Find(pid);

            if (pm != null && pmi.PunchTime >= pm.PlanEndTime)
            {
                pm.bOverTime = true;
                bll.PersonnelMobileInspections.Edit(pm);
            }

            return(RedirectToAction("Begin", pm));
        }
        public ActionResult Create(PersonnelMobileInspection pm)
        {
            List <PersonnelMobileInspection> pmList = bll.PersonnelMobileInspections.ToList();
            int nCount = pmList.Where(p => (p.MobileInspectionId == pm.MobileInspectionId || p.PersonnelId == pm.PersonnelId) && ((p.PlanStartTime <= pm.PlanStartTime && p.PlanEndTime >= pm.PlanStartTime) || (p.PlanStartTime <= pm.PlanEndTime && p.PlanEndTime >= pm.PlanEndTime) || (p.PlanStartTime >= pm.PlanStartTime && p.PlanEndTime <= pm.PlanEndTime))).Count();

            if (nCount >= 1)
            {
                Content("<script>alrer('该时间段内,已有该巡检人员或巡检轨迹')</script>");
                return(RedirectToAction("Index"));
                //Response.Write("<script>alrer('该时间段内,已有该巡检人员或巡检轨迹')</script>");
            }

            MobileInspection MobileInspection     = bll.MobileInspections.Find(pm.MobileInspectionId);
            string           MobileInspectionName = MobileInspection.Name;
            string           PersonnelName        = bll.Personnels.DbSet.Where(P => P.Id == pm.PersonnelId).Select(p => p.Name).FirstOrDefault();

            pm.PersonnelName        = PersonnelName;
            pm.MobileInspectionName = MobileInspectionName;
            pm.StartTime            = null;

            List <PersonnelMobileInspectionItem> pmiList = new List <PersonnelMobileInspectionItem>();

            foreach (MobileInspectionItem item in MobileInspection.Items)
            {
                PersonnelMobileInspectionItem pmi = new PersonnelMobileInspectionItem();
                pmi.ItemId    = item.Id;
                pmi.PID       = pm.Id;
                pmi.ItemName  = item.ItemName;
                pmi.nOrder    = item.nOrder;
                pmi.DevId     = item.DevId;
                pmi.DevName   = item.DevName;
                pmi.PunchTime = null;
                pmiList.Add(pmi);
            }

            pm.list = pmiList;
            bll.PersonnelMobileInspections.Add(pm);

            return(RedirectToAction("Index"));
        }
Beispiel #7
0
        //获取人员巡检轨迹列表
        public List <PersonnelMobileInspection> GetPersonnelMobileInspectionList()
        {
            var PersonnelMobileInspection = db.PersonnelMobileInspections.ToList();
            //return PersonnelMobileInspection.ToWcfModelList();

            PersonnelMobileInspection o1 = new PersonnelMobileInspection()
            {
                Id = 1, MobileInspectionId = 100001, MobileInspectionName = "巡检轨迹1", PersonnelName = "李风A"
            };

            //o1.OperationTask = "操作任务";
            o1.PlanStartTime = DateTime.Now.AddHours(-2);
            o1.PlanEndTime   = DateTime.Now;
            o1.StartTime     = DateTime.Now.AddHours(-2);
            o1.Remark        = "备注";
            PersonnelMobileInspectionItem oi1 = new PersonnelMobileInspectionItem()
            {
                Id = 1, nOrder = 1, ItemName = "操作项1", DevId = 1
            };
            PersonnelMobileInspectionItem oi2 = new PersonnelMobileInspectionItem()
            {
                Id = 2, nOrder = 2, ItemName = "操作项2", DevId = 2
            };
            PersonnelMobileInspectionItem oi3 = new PersonnelMobileInspectionItem()
            {
                Id = 3, nOrder = 3, ItemName = "操作项3", DevId = 3
            };
            PersonnelMobileInspectionItem oi4 = new PersonnelMobileInspectionItem()
            {
                Id = 4, nOrder = 4, ItemName = "操作项4", DevId = 4
            };
            PersonnelMobileInspectionItem oi5 = new PersonnelMobileInspectionItem()
            {
                Id = 5, nOrder = 5, ItemName = "操作项5", DevId = 5
            };

            o1.list = new List <PersonnelMobileInspectionItem>()
            {
                oi1, oi2, oi3, oi4, oi5
            };

            PersonnelMobileInspection o2 = new PersonnelMobileInspection()
            {
                Id = 2, MobileInspectionId = 100002, MobileInspectionName = "巡检轨迹2", PersonnelName = "赵一含"
            };
            PersonnelMobileInspection o3 = new PersonnelMobileInspection()
            {
                Id = 3, MobileInspectionId = 100003, MobileInspectionName = "巡检轨迹3", PersonnelName = "刘国柱"
            };
            PersonnelMobileInspection o4 = new PersonnelMobileInspection()
            {
                Id = 4, MobileInspectionId = 100004, MobileInspectionName = "巡检轨迹4", PersonnelName = "陈浩然"
            };
            PersonnelMobileInspection o5 = new PersonnelMobileInspection()
            {
                Id = 5, MobileInspectionId = 100005, MobileInspectionName = "巡检轨迹5", PersonnelName = "李一样"
            };

            List <PersonnelMobileInspection> os = new List <PersonnelMobileInspection>()
            {
                o1, o2, o3, o4, o5
            };

            return(os);
        }