コード例 #1
0
        public ActionResult MaterialOutEdit(int id, string itemsString, FormCollection collection)
        {
            if (!UserInfo.CurUser.HasRight("物资设备-物资出库输入")) return Redirect("~/content/AccessDeny.htm");
            MaterialOut r = (from o in db.MaterialOuts where o.Id == id select o).FirstOrDefault();
            if (r == null)
            {
                r = new MaterialOut { }; db.MaterialOuts.Add(r);
            }

            TryUpdateModel(r, collection);
            r.MallId = mallid;

            if (r.DepartmentId == 0)
            {
                ModelState.AddModelError("DepartmentId", "请选择部门");
            }
            if (r.PersonId == 0)
            {
                ModelState.AddModelError("PersonId", "请选择人员");
            }
            List<MaterialOutItemEdit> items = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MaterialOutItemEdit>>(itemsString);
            foreach (var materialOutItem in items)
            {
                if (materialOutItem.Item.MaterialId == 0) ModelState.AddModelError("", "请选择物料");
                decimal inNum = db.Database.SqlQuery<decimal>(string.Format("select isnull(sum(num),0) from materialinitems where materialid={0}", materialOutItem.Item.MaterialId)).First();

                decimal outNum = db.Database.SqlQuery<decimal>(string.Format("select isnull(sum(num),0) from materialoutitems where materialid={0} and outid!={1}", materialOutItem.Item.MaterialId, r.Id)).First();

                if (inNum - outNum - materialOutItem.Item.Num < 0)
                {
                    ModelState.AddModelError("", "出库数量不能大于库存数");
                    materialOutItem.Msg = "!";
                }
            }
            if (ModelState.IsValid == false)
            {
                ViewBag.ItemsString = Newtonsoft.Json.JsonConvert.SerializeObject(items);
                return View(r);
            }
            else
            {
                db.SaveChanges();
                (from o in db.MaterialOutItems where o.OutId == r.Id select o).ToList().ForEach(o => db.MaterialOutItems.Remove(o));
                foreach (var item in items)
                {
                    item.Item.OutId = r.Id;
                    db.MaterialOutItems.Add(item.Item);
                }
                db.SaveChanges();
                return Redirect("../MaterialOutView/" + r.Id);

            }
        }
コード例 #2
0
        public ActionResult MaterialOutView(int id,string act)
        {
            if (!UserInfo.CurUser.HasRight("物资设备-物资出库查询")) return Redirect("~/content/AccessDeny.htm");
               var r = (from o in db.MaterialOuts where o.Id == id select o).FirstOrDefault();

            if (r == null)
            {
                r = new MaterialOut();
            }
            ViewBag.Items = (from o in db.MaterialOutItems where o.MaterialId == id select o).ToList();
            using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
            {
                conn.Open();
                var items =
                    conn.Query(
                        string.Format("select m.Name,m.CatalogId,i.Num from MaterialOutitems i join materials m on i.materialid=m.id where i.outid={0}", r.Id));
                ViewBag.Items2 = items;
            }
            ViewBag.Items1 = (from o in db.MaterialOutItems select new {  Num = o.Num }).ToList();
            if (act=="print")
                return View("MaterialOutPrint",r);
            return View(r);
        }
コード例 #3
0
 public ActionResult MaterialOutEdit(int id)
 {
     if (!UserInfo.CurUser.HasRight("物资设备-物资出库输入")) return Redirect("~/content/AccessDeny.htm");
     var r = (from o in db.MaterialOuts where o.Id == id select o).FirstOrDefault();
     if (r == null)
     {
         r = new MaterialOut();
     }
     List<MaterialOutItem> items = (from o in db.MaterialOutItems where o.OutId == id select o).ToList();
     var editItems=(from o in items select new MaterialOutItemEdit {Item=o,Msg=""}).ToList();
     ViewBag.ItemsString = Newtonsoft.Json.JsonConvert.SerializeObject(editItems);
     return View(r);
 }