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)); }
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)); }