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;
 }
Exemple #10
0
 public CompleteWhenNotDonePhase(Logger logger, PassedItem item) : base(logger)
 {
     _item = item;
 }
Exemple #11
0
        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);
        }
Exemple #12
0
        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));
        }