Ejemplo n.º 1
0
        //要执行的方法
        private void ScanQueue()
        {
            try
            {
                using (CleanProcedureEntities db = new CleanProcedureEntities())
                {
                    while (ListQueue.Count > 0)
                    {
                        //从队列中取出
                        Clean_RecordList queueinfo = ListQueue.Dequeue();

                        Clean_RecordList find = db.Clean_RecordList.FirstOrDefault(model => model.Sequence == queueinfo.Sequence && model.StepNum == queueinfo.StepNum);
                        if (find != null)
                        {
                            //if(find.MaxNum==find.StepNum)
                            find.EndTime = queueinfo.EndTime;
                        }
                        else
                        {
                            db.Clean_RecordList.Add(queueinfo);
                        }
                    }
                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                LogHelper.WriteLog(typeof(Exception), e);
                //throw;
            }
        }
Ejemplo n.º 2
0
 public static void GetCleanListInfo(ref List <CleanListView> Cleanlist)
 {
     using (CleanProcedureEntities db = new CleanProcedureEntities())
     {
         //刷卡器
         Cleanlist = db.CleanListView.Select(o => o).ToList();
     }
 }
Ejemplo n.º 3
0
        public static void GetCardListInfo(ref Dictionary <string, string> cardlist)
        {
            using (CleanProcedureEntities db = new CleanProcedureEntities())
            {
                //刷卡器
                List <Clean_Card> Cleanlist = db.Clean_Card.Select(o => o).ToList();

                foreach (var i in Cleanlist)
                {
                    cardlist.Add(i.CardNo, i.CardName);
                }
            }
        }
Ejemplo n.º 4
0
 public bool  AddEntity(Clean_RecordList entity)
 {
     using (CleanProcedureEntities db = new CleanProcedureEntities())
     {
         db.Clean_RecordList.Add(entity);
         if (db.SaveChanges() > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
Ejemplo n.º 5
0
        public void GetCardList()
        {
            Cardlist.Clear();
            using (CleanProcedureEntities db = new CleanProcedureEntities())
            {
                var reclist = db.Clean_RecordList.GroupBy(p => p.CleanCard);

                foreach (var item in reclist)
                {
                    string           cardname = item.Key;
                    Clean_RecordList it       = item.OrderBy(p => p.StartTime).LastOrDefault();

                    if (it.StartTime.Date.Equals(DateTime.Today))
                    {
                        if (it.StepNum < it.MaxNum)//消毒未完成记录
                        {
                            Cardlist[it.CleanCard] = it;
                        }
                    }
                }
            }
        }
Ejemplo n.º 6
0
 //获取分组和每个分组的步骤
 public static void GetStepInfo(ref Dictionary <string, List <StepInfo> > infolist)
 {
     using (CleanProcedureEntities db = new CleanProcedureEntities())
     {
         //刷卡器
         var list = db.Clean_CardDevice.Select(p => p.CleanGroup).Distinct();
         foreach (var item in list)
         {
             var machinlist = db.Clean_CardDevice.Where(p => p.CleanGroup == item && p.Stopped == false && p.DevType.Equals("消毒监控")).OrderBy(p => p.StepNumber);
             if (machinlist.Count() == 0)
             {
                 continue;
             }
             List <StepInfo> iList = new List <StepInfo>();
             foreach (var i in machinlist)
             {
                 StepInfo info = new StepInfo();
                 info.name = i.StepName;
                 iList.Add(info);
             }
             infolist.Add(item, iList);
         }
     }
 }
Ejemplo n.º 7
0
        public void InitProcedure()
        {
            try
            {
                using (CleanProcedureEntities db = new CleanProcedureEntities())
                {
                    //刷卡器
                    var list = db.Clean_CardDevice.Select(p => p.DevType).Distinct();
                    foreach (var item in list)
                    {
                        var      machinlist = db.Clean_CardDevice.Where(p => p.DevType == item && p.Stopped == false).OrderBy(p => p.StepNumber);
                        StepNode sn         = null;
                        StepNode snLast     = null;

                        foreach (var m in machinlist)
                        {
                            snLast = sn;
                            sn     = new StepNode(m.ClientIP, m);


                            sn.SetLast(snLast);
                            if (snLast != null)
                            {
                                snLast.SetNext(sn);
                            }
                            if (m.DevType.Equals("消毒监控"))
                            {
                                IPlist.Add(m.ClientIP, sn);
                            }
                            if (m.DevType.Equals("隔夜消毒"))
                            {
                                IPlist_yes.Add(m.ClientIP, sn);
                            }
                        }
                    }
                    //人员卡
                    var wlist = from a in db.Clean_Card where a.DevType == "人员" select a.CardNo;
                    Worker.AddRange(wlist.AsEnumerable());

                    //内镜卡
                    var nlist = from c in db.Clean_Card where c.DevType == "镜子" select c;
                    foreach (var item in nlist)
                    {
                        CardList.Add(item.CardNo, null);
                    }
                    State.id = db.Clean_RecordList.Max(p => p.Sequence) + 1;
                    //如果隔夜消毒的内镜不作废,查询昨天消毒未用的内镜卡
                    if (Config_func.GetInstance().LastNight)
                    {
                        //获取昨天使用记录
                        var        uselist = db.CleanCard_UserList.GroupBy(p => p.CleanCard);
                        List <int> seqlist = new List <int>();
                        foreach (var item in uselist)
                        {
                            string             cardname = item.Key;
                            CleanCard_UserList it       = item.OrderBy(p => p.Sequence).LastOrDefault();
                            //昨天 最后的使用记录
                            DateTime time = (DateTime)it.ZuofeiTime;
                            if (time.Date.Equals(DateTime.Today.AddDays(-1)) /*|| it.StartTime.Date.Equals(DateTime.Today)*/)
                            {
                                seqlist.Add(it.Sequence);
                            }
                        }



                        var reclist = db.Clean_RecordList.GroupBy(p => p.CleanCard);

                        foreach (var item in reclist)
                        {
                            string           cardname = item.Key;
                            Clean_RecordList it       = item.OrderBy(p => p.StartTime).LastOrDefault();
                            //昨天的消毒记录
                            if (it.StartTime.Date.Equals(DateTime.Today.AddDays(-1)) && !seqlist.Contains(it.Sequence) /*|| it.StartTime.Date.Equals(DateTime.Today)*/)
                            {
                                //if (it.StepNum < it.MaxNum)//消毒未完成记录
                                //{
                                //    State mState = new State(it.WorkCard,it.CleanIp,it.StepTime);
                                //    mState.Binding(cardname);


                                //    CardList[cardname] = mState;

                                //}
                                YesterdayCard.Add(it.CleanCard);
                            }
                        }
                    }
                }
                DBmanager.Instance.Start();
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(typeof(Exception), ex);
            }
        }