/// <summary> /// 初始化数据库——首次使用 /// </summary> /// <returns></returns> public static bool InitializeTable() { StorageInfo info = new StorageInfo() { RFIDNumber = "00000000", //不存在料盘时的RFID号 Type = "null", //null代表空库位 Number = 0, //数量为0 TrayIsExist = false //不存在料盘 }; try { using (var wareHouseDB = new WMSDbContext()) { for (int index = 0; index < 60; index++) { wareHouseDB.StorageInfo.Add(info); wareHouseDB.SaveChanges(); } } return(true); } catch (Exception ex) { return(false); } }
/// <summary> /// 一般不用 /// </summary> public static void Remove() { using (var wareHouseDB = new WMSDbContext()) { for (int index = 61; index < 300; index++) { StorageInfo storageInfo = wareHouseDB.StorageInfo.Where(p => p.LocationID == index).FirstOrDefault(); wareHouseDB.StorageInfo.Remove(storageInfo); wareHouseDB.SaveChanges(); } } }
/// <summary> /// 更新库位信息——入库 /// </summary> /// <param name="rfidNumber"></param> /// <returns></returns> public static bool UpdateInputStoragesInfo(string rfidNumber) { try { int location = Convert.ToInt32(rfidNumber.Substring(0, 4), 16); var searchResult = WMSDbContext.StorageInfo.Where(p => p.LocationID == location).FirstOrDefault(); if (searchResult != null) { switch (rfidNumber.Substring(4)) { case "0000": searchResult.Type = "empty"; searchResult.Number = 0; break; case "0101": searchResult.Type = "bottle"; searchResult.Number = 4; break; case "0201": searchResult.Type = "lid"; searchResult.Number = 4; break; default: break; } searchResult.RFIDNumber = rfidNumber.ToUpper(); searchResult.TrayIsExist = true; WMSDbContext.Entry <StorageInfo>(searchResult).State = EntityState.Modified; WMSDbContext.SaveChanges(); return(true); } else { return(false); } } catch (Exception) { throw; } }