Ejemplo n.º 1
0
        //第一步到指定位置查找空位
        //第二部找到位置就添加样本
        //第三部没好到就添加样本盒(样本盒名称怎么获取)--获取冰箱(根据名称)--->根据冰箱名获取冰箱id-->根据冰箱id获取冰箱分支---->根据用户名获取对应的分支id---->月份分支---->日分支id----->boxes获取当前分支下的所有盒子,判断盒子是否存在(根据名字判断盒子)
        //生成默认临时储存结构的方法--目的,查看对应位置是否存在可以存放样本的孔
        /// <summary>
        /// 根据日期创建一个临时的冰箱
        /// </summary>
        /// <param name="up"></param>
        /// <param name="department"></param>
        /// <param name="creat"></param>
        /// <returns></returns>
        private static Fp_Model.Box_Path CreatTemFreezerPath(Fp_Common.UnameAndPwd up, string department, out bool creat)
        {
            FpUtility.Fp_Model.Box_Path box_path = new Box_Path();
            ////Tem-->username-->month-->day(-->box)
            //string box_path = string.Empty;
            string username    = Fp_Common.CookieHelper.GetCookieValue("username");
            string freezerName = "Tem--" + department;

            if (!string.IsNullOrEmpty(username))
            {
                Fp_Model.Freezer freezer = Freezers.GetBy(up, freezerName);
                string           _path   = string.Format("{0}→{1}→{2}月→{3}日", freezerName, username, DateTime.Now.Month, DateTime.Now.Date.ToString("dd"));//创建盒子路径
                //获取次路径下的盒子
                if (freezer != null)
                {
                    Fp_Model.Subdivision subdivision = Subdivisions.CheckBy(up, freezer.id, _path);
                    //要判断是否为空
                    if (subdivision != null)
                    {
                        if (subdivision.name.Contains("日"))
                        {
                            List <Fp_Model.Box> boxsList = Fp_BLL.Boxes.GetAll(up, subdivision.id);
                            if (boxsList.Count > 0)
                            {
                                //日期节点下有盒子
                                Fp_Model.Box maxBox     = boxsList.OrderByDescending(a => a.name).FirstOrDefault();
                                string       maxBoxName = maxBox.name.Replace(maxBox.location + "&rarr;", "").Trim();
                                if (!string.IsNullOrEmpty(maxBoxName))
                                {
                                    box_path.Freezer = "Tem--" + department;
                                    box_path.Level1  = username;
                                    box_path.Level2  = DateTime.Now.Month + "月";
                                    box_path.Level3  = DateTime.Now.Date.ToString("dd") + "日";
                                    box_path.Box     = maxBoxName;
                                    creat            = false;
                                    //此处还需要判断当前的bag中是否有位置存放样品
                                }
                                else
                                {
                                    int max = 0;
                                    //意外报错
                                    if (int.TryParse(maxBoxName, out max))
                                    {
                                        box_path.Freezer = "Tem--" + department;
                                        box_path.Level1  = username;
                                        box_path.Level2  = DateTime.Now.Month + "月";
                                        box_path.Level3  = DateTime.Now.Date.ToString("dd") + "日";
                                        box_path.Box     = (max + 1).ToString();
                                    }
                                    creat = true;
                                }
                            }
                            else
                            {
                                creat = true;
                                //日期节点下没盒子
                                box_path.Freezer = "Tem--" + department;
                                box_path.Level1  = username;
                                box_path.Level2  = DateTime.Now.Month + "月";
                                box_path.Level3  = DateTime.Now.Date.ToString("dd") + "日";
                                box_path.Box     = "1";
                            }
                        }
                        else
                        {
                            //不包含日
                            creat = true;
                            //当前节点下没盒子
                            box_path.Freezer = "Tem--" + department;
                            box_path.Level1  = username;
                            box_path.Level2  = DateTime.Now.Month + "月";
                            box_path.Level3  = DateTime.Now.Date.ToString("dd") + "日";
                            box_path.Box     = "1";
                        }
                    }
                    else
                    {
                        creat = true;
                        //当前节点下没盒子
                        box_path.Freezer = "Tem--" + department;
                        box_path.Level1  = username;
                        box_path.Level2  = DateTime.Now.Month + "月";
                        box_path.Level3  = DateTime.Now.Date.ToString("dd") + "日";
                        box_path.Box     = "1";
                    }
                }
                else
                {
                    creat            = true;
                    box_path.Freezer = "Tem--" + department;
                    box_path.Level1  = username;
                    box_path.Level2  = DateTime.Now.Month + "月";
                    box_path.Level3  = DateTime.Now.Date.ToString("dd") + "日";
                    box_path.Box     = "1";;
                }
            }
            else
            {
                creat = true;
            }
            return(box_path);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 根据冰箱名称返回冰箱
 /// </summary>
 /// <param name="up"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 public static Freezer GetBy(Fp_Common.UnameAndPwd up, string name)
 {
     Fp_Model.Freezer freezer = GetAll(up).Where <Fp_Model.Freezer>(a => a.name == name).FirstOrDefault();
     return(freezer);
 }