public void CreateDiscardEntry(StoredBox sBox, int itemPK, double discardedQuantity, bool isRestored, DiscardingSession discardingSession) { try { Entry entry; Accessory accessory; if (isRestored) { RestoredItem restoredItem = db.RestoredItems.Find(itemPK); accessory = db.Accessories.Find(restoredItem.AccessoryPK); } else { PassedItem passedItem = db.PassedItems.Find(itemPK); ClassifiedItem classifiedItem = db.ClassifiedItems.Find(passedItem.ClassifiedItemPK); PackedItem packedItem = db.PackedItems.Find(classifiedItem.PackedItemPK); OrderedItem orderedItem = db.OrderedItems.Find(packedItem.OrderedItemPK); accessory = db.Accessories.Find(orderedItem.AccessoryPK); } entry = new Entry(sBox, "Discarding", discardingSession.DiscardingSessionPK, isRestored, discardedQuantity, itemPK, accessory); db.Entries.Add(entry); db.SaveChanges(); } catch (Exception e) { throw e; } }
public void CreateAdjustEntry(StoredBox sBox, int itemPK, double adjustedQuantity, bool isRestored, bool isMinus, AdjustingSession adjustingSession) { try { Entry entry; Accessory accessory; if (isRestored) { RestoredItem restoredItem = db.RestoredItems.Find(itemPK); accessory = db.Accessories.Find(restoredItem.AccessoryPK); } else { PassedItem passedItem = db.PassedItems.Find(itemPK); ClassifiedItem classifiedItem = db.ClassifiedItems.Find(passedItem.ClassifiedItemPK); PackedItem packedItem = db.PackedItems.Find(classifiedItem.PackedItemPK); OrderedItem orderedItem = db.OrderedItems.Find(packedItem.OrderedItemPK); accessory = db.Accessories.Find(orderedItem.AccessoryPK); } if (isMinus) { entry = new Entry(sBox, "AdjustingMinus", adjustingSession.AdjustingSessionPK, isRestored, adjustedQuantity, itemPK, accessory); } else { entry = new Entry(sBox, "AdjustingPlus", adjustingSession.AdjustingSessionPK, isRestored, adjustedQuantity, itemPK, accessory); } db.Entries.Add(entry); db.SaveChanges(); } catch (Exception e) { throw e; } }
public bool isNotStoredOrReturned(int classifiedItemPK) { ClassifiedItem classifiedItem = db.ClassifiedItems.Find(classifiedItemPK); if (classifiedItem.QualityState == 2) { PassedItem passedItem = (from pI in db.PassedItems where pI.ClassifiedItemPK == classifiedItemPK select pI).FirstOrDefault(); if (passedItem.IsStored) { return(false); } } else if (classifiedItem.QualityState == 3) { FailedItem failedItem = (from fI in db.FailedItems where fI.ClassifiedItemPK == classifiedItemPK select fI).FirstOrDefault(); if (failedItem.IsReturned) { return(false); } } return(true); }
public void deleteItemByQualityState(int classifiedItemPK, int qualityState) { try { switch (qualityState) { case 2: PassedItem passedItem = (from pI in db.PassedItems where pI.ClassifiedItemPK == classifiedItemPK select pI).FirstOrDefault(); db.PassedItems.Remove(passedItem); break; case 3: FailedItem failedItem = (from fI in db.FailedItems where fI.ClassifiedItemPK == classifiedItemPK select fI).FirstOrDefault(); db.FailedItems.Remove(failedItem); break; default: break; } db.SaveChanges(); } catch (Exception e) { throw e; } }
private void UpdatePassedItem(int passedItemPK) { try { PassedItem passedItem = db.PassedItems.Find(passedItemPK); passedItem.IsStored = true; db.Entry(passedItem).State = EntityState.Modified; db.SaveChanges(); } catch (Exception e) { throw e; } }
public void CreateEntriesUpdatePassedItem(Box box, StoredBox storedBox, StoringSession storingSession) { try { IdentifyItemDAO identifyItemDAO = new IdentifyItemDAO(); BoxDAO boxDAO = new BoxDAO(); UnstoredBox unstoredBox = boxDAO.GetUnstoredBoxbyBoxPK(box.BoxPK); List <IdentifiedItem> identifiedItems = (from iI in db.IdentifiedItems where iI.UnstoredBoxPK == unstoredBox.UnstoredBoxPK select iI).ToList(); foreach (var identifiedItem in identifiedItems) { PackedItem packedItem = db.PackedItems.Find(identifiedItem.PackedItemPK); // lấy accessory OrderedItem orderedItem = db.OrderedItems.Find(packedItem.OrderedItemPK); Accessory accessory = db.Accessories.Find(orderedItem.AccessoryPK); // ClassifiedItem classifiedItem = (from cI in db.ClassifiedItems where cI.PackedItemPK == packedItem.PackedItemPK select cI).FirstOrDefault(); if (classifiedItem != null) { PassedItem passedItem = (from pI in db.PassedItems where pI.ClassifiedItemPK == classifiedItem.ClassifiedItemPK select pI).FirstOrDefault(); if (passedItem != null) { UpdatePassedItem(passedItem.PassedItemPK); // tạo entry Entry entry = new Entry(storedBox, "Storing", storingSession.StoringSessionPK, false, identifyItemDAO.ActualQuantity(identifiedItem.IdentifiedItemPK), passedItem.PassedItemPK, accessory); db.Entries.Add(entry); } else { throw new Exception("ITEM KHÔNG HỢP LỆ"); } } else { throw new Exception("ITEM KHÔNG HỢP LỆ"); } } db.SaveChanges(); } catch (Exception e) { throw e; } }
public void CreateIssueEntry(Client_InputPrepareRequestAPI input, IssuingSession issuingSession) { try { Entry entry; Accessory accessory; foreach (var item_position_quantity in input.Item_position_quantities) { // lấy hàng cần xuất if (item_position_quantity.IsRestored) { RestoredItem restoredItem = db.RestoredItems.Find(item_position_quantity.ItemPK); accessory = db.Accessories.Find(restoredItem.AccessoryPK); } else { PassedItem passedItem = db.PassedItems.Find(item_position_quantity.ItemPK); ClassifiedItem classifiedItem = db.ClassifiedItems.Find(passedItem.ClassifiedItemPK); PackedItem packedItem = db.PackedItems.Find(classifiedItem.PackedItemPK); OrderedItem orderedItem = db.OrderedItems.Find(packedItem.OrderedItemPK); accessory = db.Accessories.Find(orderedItem.AccessoryPK); } // tạo entry xuất trong n - thùng chưa hàng foreach (var item in item_position_quantity.BoxAndQuantity) { StoredBox sBox = db.StoredBoxes.Find(item.StoredBoxPK); if (sBox == null) { throw new Exception("Data StoreBoxes Lỗi!"); } entry = new Entry(sBox, "Issuing", issuingSession.IssuingSessionPK, item_position_quantity.IsRestored, item.Quantity, item_position_quantity.ItemPK, accessory); db.Entries.Add(entry); } } db.SaveChanges(); } catch (Exception e) { throw e; } }
public void CreateInAndOutEntry(List <Client_ItemPK_TransferQuantity_IsRestored> list, StoredBox sBoxFrom, StoredBox sBoxTo, TransferringSession transferringSession) { try { foreach (var item in list) { Accessory accessory; if (item.IsRestored) { RestoredItem restoredItem = db.RestoredItems.Find(item.ItemPK); accessory = db.Accessories.Find(restoredItem.AccessoryPK); } else { PassedItem passedItem = db.PassedItems.Find(item.ItemPK); ClassifiedItem classifiedItem = db.ClassifiedItems.Find(passedItem.ClassifiedItemPK); PackedItem packedItem = db.PackedItems.Find(classifiedItem.PackedItemPK); OrderedItem orderedItem = db.OrderedItems.Find(packedItem.OrderedItemPK); accessory = db.Accessories.Find(orderedItem.AccessoryPK); } // Tạo out entry Entry entry = new Entry(sBoxFrom, "Out", transferringSession.TransferingSessionPK, item.IsRestored, item.TransferQuantity, item.ItemPK, accessory); db.Entries.Add(entry); // Tạo in entry entry = new Entry(sBoxTo, "In", transferringSession.TransferingSessionPK, item.IsRestored, item.TransferQuantity, item.ItemPK, accessory); db.Entries.Add(entry); } db.SaveChanges(); } catch (Exception e) { throw e; } }
public CompleteWhenDonePhase(Logger logger, PassedItem item, TestResult <int> regularResult) : base(logger) { _item = item; _regularResult = regularResult; }
public CompleteWhenNotDonePhase(Logger logger, PassedItem item) : base(logger) { _item = item; }
public List <Client_Box_Shelf_Row> StoredBox_ItemPK_IsRestoredOfEntries(Accessory accessory) { List <Client_Box_Shelf_Row> result = new List <Client_Box_Shelf_Row>(); StoringDAO storingDAO = new StoringDAO(); try { // cực phẩm IQ double inStoredQuantity = InStoredQuantity(accessory.AccessoryPK); if (inStoredQuantity == 0) { throw new Exception("HÀNG TRONG KHO ĐÃ HẾT!"); } List <Entry> entries = (from e in db.Entries where e.AccessoryPK == accessory.AccessoryPK select e).ToList(); Dictionary <StoredBox_ItemPK_IsRestored, InBoxQuantity_AvailableQuantity> tempDictionary = new Dictionary <StoredBox_ItemPK_IsRestored, InBoxQuantity_AvailableQuantity>(); foreach (var entry in entries) { double inBoxQuantity = 0; StoredBox storedBox = db.StoredBoxes.Find(entry.StoredBoxPK); if (entry.KindRoleName == "AdjustingMinus" || entry.KindRoleName == "AdjustingPlus") { AdjustingSession adjustingSession = db.AdjustingSessions.Find(entry.SessionPK); Verification verification = db.Verifications.Where(unit => unit.SessionPK == adjustingSession.AdjustingSessionPK && unit.IsDiscard == false).FirstOrDefault(); if (verification != null && verification.IsApproved) { inBoxQuantity = storingDAO.EntryQuantity(entry); } } else if (entry.KindRoleName == "Discarding") { DiscardingSession discardingSession = db.DiscardingSessions.Find(entry.SessionPK); Verification verification = db.Verifications.Where(unit => unit.SessionPK == discardingSession.DiscardingSessionPK && unit.IsDiscard == true).FirstOrDefault(); if (verification != null && verification.IsApproved) { inBoxQuantity = storingDAO.EntryQuantity(entry); } } else { inBoxQuantity = storingDAO.EntryQuantity(entry); } Box box = db.Boxes.Find(storedBox.BoxPK); PassedItem passedItem; RestoredItem restoredItem; StoredBox_ItemPK_IsRestored key; if (entry.IsRestored) { restoredItem = db.RestoredItems.Find(entry.ItemPK); key = new StoredBox_ItemPK_IsRestored(storedBox.StoredBoxPK, restoredItem.RestoredItemPK, entry.IsRestored); } else { passedItem = db.PassedItems.Find(entry.ItemPK); key = new StoredBox_ItemPK_IsRestored(storedBox.StoredBoxPK, passedItem.PassedItemPK, entry.IsRestored); } if (box.IsActive) { InBoxQuantity_AvailableQuantity tmp = new InBoxQuantity_AvailableQuantity(inBoxQuantity, storingDAO.EntryQuantity(entry)); if (!tempDictionary.ContainsKey(key)) { tempDictionary.Add(key, tmp); } else { tempDictionary[key].InBoxQuantity += tmp.InBoxQuantity; tempDictionary[key].AvailableQuantity += tmp.AvailableQuantity; } } } foreach (var item in tempDictionary) { if (item.Value.AvailableQuantity > 0) { StoredBox storedBox = db.StoredBoxes.Find(item.Key.StoredBoxPK); Box box = db.Boxes.Find(storedBox.BoxPK); Shelf shelf = db.Shelves.Find(storedBox.ShelfPK); Row row = db.Rows.Find(shelf.RowPK); if (item.Key.IsRestored) { RestoredItem restoredItem = db.RestoredItems.Find(item.Key.ItemPK); Restoration restoration = db.Restorations.Find(restoredItem.RestorationPK); result.Add(new Client_Box_Shelf_Row(box.BoxID, storedBox.StoredBoxPK, shelf.ShelfID, row.RowID, item.Key.ItemPK, item.Key.IsRestored, item.Value.InBoxQuantity, restoration.RestorationID, item.Value.AvailableQuantity)); } else { PassedItem passedItem = db.PassedItems.Find(item.Key.ItemPK); ClassifiedItem classifiedItem = db.ClassifiedItems.Find(passedItem.ClassifiedItemPK); PackedItem packedItem = db.PackedItems.Find(classifiedItem.PackedItemPK); Pack pack = db.Packs.Find(packedItem.PackPK); result.Add(new Client_Box_Shelf_Row(box.BoxID, storedBox.StoredBoxPK, shelf.ShelfID, row.RowID, item.Key.ItemPK, item.Key.IsRestored, item.Value.InBoxQuantity, pack.PackID, item.Value.AvailableQuantity)); } } } } catch (Exception e) { throw e; } return(result); }
public IHttpActionResult GetIdentifyItemByBoxID(string boxID) { List <IdentifiedItem> identifiedItems; List <Client_IdentifiedItemStored> client_IdentifiedItems = new List <Client_IdentifiedItemStored>(); BoxDAO boxController = new BoxDAO(); IdentifyItemDAO identifyItemDAO = new IdentifyItemDAO(); try { Box box = boxController.GetBoxByBoxID(boxID); UnstoredBox uBox = boxController.GetUnstoredBoxbyBoxPK(box.BoxPK); if (!boxController.IsStored(box.BoxPK) && uBox.IsIdentified == true) { identifiedItems = (from iI in db.IdentifiedItems.OrderByDescending(unit => unit.PackedItemPK) where iI.UnstoredBoxPK == uBox.UnstoredBoxPK select iI).ToList(); foreach (var identifiedItem in identifiedItems) { PackedItem packedItem = db.PackedItems.Find(identifiedItem.PackedItemPK); ClassifiedItem classifiedItem = (from cI in db.ClassifiedItems where cI.PackedItemPK == packedItem.PackedItemPK select cI).FirstOrDefault(); if (classifiedItem != null) { PassedItem passedItem = (from pI in db.PassedItems where pI.ClassifiedItemPK == classifiedItem.ClassifiedItemPK select pI).FirstOrDefault(); if (passedItem != null) { // lấy pack ID Pack pack = (from p in db.Packs where p.PackPK == packedItem.PackPK select p).FirstOrDefault(); // lấy phụ liệu tương ứng OrderedItem orderedItem = (from oI in db.OrderedItems where oI.OrderedItemPK == packedItem.OrderedItemPK select oI).FirstOrDefault(); Accessory accessory = (from a in db.Accessories where a.AccessoryPK == orderedItem.AccessoryPK select a).FirstOrDefault(); client_IdentifiedItems.Add(new Client_IdentifiedItemStored(identifiedItem, accessory, pack, identifyItemDAO.ActualQuantity(identifiedItem.IdentifiedItemPK))); } else { return(Content(HttpStatusCode.Conflict, "TỒN TẠI ÍT NHẤT MỘT CỤM PHỤ LIỆU KHÔNG ĐẠT!")); } } else { return(Content(HttpStatusCode.Conflict, "TỒN TẠI ÍT NHẤT MỘT CỤM PHỤ LIỆU KHÔNG ĐẠT!")); } } } else { return(Content(HttpStatusCode.Conflict, "BOX ĐÃ ĐƯỢC STORE HOẶC CHƯA IDENTIFIED !")); } } catch (Exception e) { return(Content(HttpStatusCode.Conflict, new Content_InnerException(e).InnerMessage())); } return(Content(HttpStatusCode.OK, client_IdentifiedItems)); }