Exemplo n.º 1
0
        public JsonResult DeleteInfo(IEnumerable <ClearInventoryView> ClearInfo)
        {
            try
            { //需要盤點程序結束的狀態且是ClearInventory有資料的情況下,才能進行盈虧刪除
                if (db.SysPara.Where(r => r.ParaName == "Inventory").FirstOrDefault().ParaValue.Equals("false") && db.ClearInventory.Count() > 0)
                {
                    Inventory      Info       = db.Inventory.Find(ClearInfo.FirstOrDefault().Prod);
                    ClearInventory Clear_Info = db.ClearInventory.Find(ClearInfo.FirstOrDefault().Prod);
                    if (ModelState.IsValid)
                    {
                        //盤虧刪除
                        //先刪除庫存資料
                        db.Inventory.Remove(Info);
                        //再刪除ClearInventory的資料
                        db.ClearInventory.Remove(Clear_Info);
                        if (TryUpdateModel(Info))
                        {
                            db.SaveChanges();
                        }
                    }
                    //將異動資料寫入歷史記錄資料表
                    var HistoryInfo = new HistoryInventory
                    {
                        Type            = Info.Type,
                        Prod            = Info.Prod,
                        Thickness       = Info.Thickness,
                        Widt            = Info.Widt,
                        Leng            = Info.Leng,
                        Splice          = Info.Splice,
                        Ptno            = Info.Ptno,
                        ProductDate     = Convert.ToDateTime(Info.ProductDate),
                        CustomerNO      = Info.CustomerNO,
                        StaffID         = Session["Account"].ToString(),
                        TransactionDate = Convert.ToDateTime(Info.TransactionDate),
                        SrnmType        = "5",
                        NewWeight       = Info.NewWeight,
                        ZoneSN          = Info.ZoneSN,
                        ZoneID          = Info.ZoneID,
                        PackNo          = Info.PackNo,
                        Thickness2      = Info.Thickness2
                    };
                    db.HistoryInventory.Add(HistoryInfo);
                    db.SaveChanges();
                }

                //當ClearInventory與ImportInventory資料都為0,
                //表示此盤點程序與庫存資料已經核對完畢,則將db的參數改為true
                if (db.ClearInventory.Count() == 0 && db.ImportInventory.Count() == 0)
                {
                    try
                    {
                        if (ModelState.IsValid)
                        {
                            var SysPara = db.SysPara.Where(r => r.ParaName == "Inventory");
                            if (SysPara != null)
                            {
                                SysPara.FirstOrDefault().ParaValue = "true";
                                db.SaveChanges();
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                    };
                }
            }
            catch (Exception ex)
            {
            }
            return(Json(null));
        }
Exemplo n.º 2
0
 public ActionResult ImportInfo()
 {
     //需要盤點程序結束的狀態且是ImportInventory有資料的情況下,才能進行盤盈匯入
     if (db.SysPara.Where(r => r.ParaName == "Inventory").FirstOrDefault().ParaValue.Equals("false") && db.ImportInventory.Count() > 0)
     {
         //先查詢要匯入的資料
         foreach (var result in db.ImportInventory)
         {
             //先將資料記錄到HistoryInventory
             var HistoryInfo = new HistoryInventory
             {
                 Type            = result.Type,
                 Prod            = result.Prod,
                 Thickness       = result.Thickness,
                 Widt            = result.Widt,
                 Leng            = result.Leng,
                 Splice          = result.Splice,
                 Ptno            = result.Ptno,
                 ProductDate     = Convert.ToDateTime(result.ProductDate),
                 CustomerNO      = result.CustomerNO,
                 TransactionDate = Convert.ToDateTime(result.TransactionDate),
                 SrnmType        = "4",
                 NewWeight       = result.NewWeight,
                 ZoneSN          = result.ZoneSN,
                 ZoneID          = result.ZoneID,
                 PackNo          = result.PackNo,
                 Thickness2      = result.Thickness2
             };
             db.HistoryInventory.Add(HistoryInfo);
             db.SaveChanges();
             //再寫入庫存table
             var ImportInfo = new Inventory
             {
                 Type            = result.Type,
                 Prod            = result.Prod,
                 Thickness       = result.Thickness,
                 Widt            = result.Widt,
                 Leng            = result.Leng,
                 Splice          = result.Splice,
                 Ptno            = result.Ptno,
                 ProductDate     = Convert.ToDateTime(result.ProductDate),
                 CustomerNO      = result.CustomerNO,
                 TransactionDate = Convert.ToDateTime(result.TransactionDate),
                 SrnmType        = "4",
                 NewWeight       = result.NewWeight,
                 ZoneSN          = result.ZoneSN,
                 ZoneID          = result.ZoneID,
                 PackNo          = result.PackNo,
                 Thickness2      = result.Thickness2
             };
             db.Inventory.Add(ImportInfo);
             db.SaveChanges();
             //刪除每一筆ImportInventory的資料
             db.ImportInventory.Remove(result);
             if (TryUpdateModel(result))
             {
                 db.SaveChanges();
             }
         }
         //如果前此盤點時,完全都沒有需要盤虧刪除的資料,仍要把tempInventory的資料刪除
         if (db.ClearInventory.Count() == 0)
         {
             var TempResult = db.TempInventory.Select(s => s).ToList();
             //刪除tempinventory的所有資料
             db.TempInventory.RemoveRange(TempResult);
             db.SaveChanges();
         }
     }
     //當ClearInventory與ImportInventory資料都為0,
     //表示此盤點程序與庫存資料已經核對完畢,則將db的參數改為true
     if (db.ClearInventory.Count() == 0 && db.ImportInventory.Count() == 0)
     {
         try
         {
             if (ModelState.IsValid)
             {
                 var SysPara = db.SysPara.Where(r => r.ParaName == "Inventory");
                 if (SysPara != null)
                 {
                     SysPara.FirstOrDefault().ParaValue = "true";
                     db.SaveChanges();
                 }
             }
         }
         catch (Exception ex)
         {
         };
     }
     //return View();
     return(RedirectToAction("Index", "BarCodeWebDiffInventory"));
 }
 public ActionResult CreateReceiptInfo(IEnumerable <InventoryView> receiptInfo)
 {
     try
     {
         if (ModelState.IsValid)
         {
             //前端使用者輸入庫位名稱,透過此方法取得ZoneID
             //String sZoneID = oDB.GetZoneID(receiptInfo.FirstOrDefault().ZoneNo);
             //寫入庫存table
             var Inventory = new Inventory
             {
                 Type            = receiptInfo.FirstOrDefault().Type,
                 Prod            = receiptInfo.FirstOrDefault().Prod,
                 Thickness       = receiptInfo.FirstOrDefault().Thickness,
                 Widt            = receiptInfo.FirstOrDefault().Widt,
                 Leng            = receiptInfo.FirstOrDefault().Leng,
                 Splice          = receiptInfo.FirstOrDefault().Splice,
                 Ptno            = receiptInfo.FirstOrDefault().Ptno,
                 ProductDate     = Convert.ToDateTime(receiptInfo.FirstOrDefault().ProductDate),
                 CustomerNO      = receiptInfo.FirstOrDefault().CustomerName,//前端客戶名稱欄位用來存放使用者輸入的客戶代碼
                 TransactionDate = Convert.ToDateTime(receiptInfo.FirstOrDefault().TransactionDate),
                 SrnmType        = "2",
                 StaffID         = receiptInfo.FirstOrDefault().StaffID,
                 NewWeight       = receiptInfo.FirstOrDefault().NewWeight,
                 ZoneSN          = oDB.MakeSN(),
                 ZoneID          = oDB.GetZoneID(receiptInfo.FirstOrDefault().ZoneNo),
                 PackNo          = receiptInfo.FirstOrDefault().PackNo,
                 Thickness2      = receiptInfo.FirstOrDefault().Thickness2,
                 CtlNo1          = receiptInfo.FirstOrDefault().CtlNo1,
                 CtlNo2          = receiptInfo.FirstOrDefault().CtlNo2,
             };
             if (TryUpdateModel(Inventory))
             {
                 db.Inventory.Add(Inventory);
                 db.SaveChanges();
             }
             //將資料寫入歷史資料庫
             //oDB.InsertHistoryInfo(Inventory, Session["Account"].ToString(), "2");
             //將資料寫入歷史資料庫
             var HistoryInfo = new HistoryInventory
             {
                 Type            = Inventory.Type,
                 Prod            = Inventory.Prod,
                 Thickness       = Inventory.Thickness,
                 Widt            = Inventory.Widt,
                 Leng            = Inventory.Leng,
                 Splice          = Inventory.Splice,
                 Ptno            = Inventory.Ptno,
                 ProductDate     = Convert.ToDateTime(Inventory.ProductDate),
                 CustomerNO      = Inventory.CustomerNO,
                 TransactionDate = Convert.ToDateTime(Inventory.TransactionDate),
                 SrnmType        = "2",
                 StaffID         = Inventory.StaffID,
                 NewWeight       = Inventory.NewWeight,
                 ZoneSN          = Inventory.ZoneSN,
                 ZoneID          = Inventory.ZoneID,
                 PackNo          = Inventory.PackNo,
                 Thickness2      = Inventory.Thickness2,
                 CtlNo1          = Inventory.CtlNo1,
                 CtlNo2          = Inventory.CtlNo2,
             };
             if (TryUpdateModel(HistoryInfo))
             {
                 db.HistoryInventory.Add(HistoryInfo);
                 db.SaveChanges();
             }
         }
     }
     catch (System.Data.Entity.Validation.DbEntityValidationException ex)
     {
     };
     return(Json(null));
 }