//第一步到指定位置查找空位 //第二部找到位置就添加样本 //第三部没好到就添加样本盒(样本盒名称怎么获取)--获取冰箱(根据名称)--->根据冰箱名获取冰箱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 + "→", "").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); }
/// <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); }