public ContentResult GetStockOutstorage(Lib.GridPager pager, string queryStr, string WarehouseCode) { IQueryable <T_StockOutstorage> queryData = db.T_StockOutstorage.AsQueryable(); if (!string.IsNullOrEmpty(queryStr)) { queryData = queryData.Where(a => a.Code != null && a.Code.Contains(queryStr) || a.Name != null && a.Name.Contains(queryStr)); } if (!string.IsNullOrEmpty(WarehouseCode)) { queryData = queryData.Where(a => a.WarehouseCode.Contains(WarehouseCode)); } pager.totalRows = queryData.Count(); //分页 queryData = queryData.OrderByDescending(c => c.ID).Skip((pager.page - 1) * pager.rows).Take(pager.rows); List <T_StockOutstorage> list = new List <T_StockOutstorage>(); foreach (var item in queryData) { T_StockOutstorage i = new T_StockOutstorage(); item.WarehouseCode = WarehouseByName(item.WarehouseCode); i = item; list.Add(i); } // List<T_ManualBilling> list = queryData.OrderByDescending(c => c.ID).Skip((pager.page - 1) * pager.rows).Take(pager.rows).ToList(); string json = "{\"total\":" + pager.totalRows + ",\"rows\":" + JsonConvert.SerializeObject(list, Lib.Comm.setTimeFormat()) + "}"; return(Content(json)); }
public JsonResult StockDetailAdd(T_StockStorage Model, string jsonStr) { using (TransactionScope sc = new TransactionScope()) { try { string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value); Model.Type = "退货"; Model.ApplyName = Nickname; Model.ApplyDate = DateTime.Now; db.T_StockStorage.Add(Model); db.SaveChanges(); List <T_StockDetail> details = App_Code.Com.Deserialize <T_StockDetail>(jsonStr); foreach (var item in details) { item.Oid = Model.ID; db.T_StockDetail.Add(item); db.SaveChanges(); string code = item.Code; string WarehouseCode = Model.WarehouseCode; T_Stock Smodel = db.T_Stock.SingleOrDefault(a => a.Code == code && a.WarehouseName == WarehouseCode); if (Smodel != null) { Smodel.Qty += item.Qty; db.Entry <T_Stock>(Smodel).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } else { T_Stock StModel = new T_Stock(); StModel.Qty = item.Qty; StModel.Name = item.Name; StModel.Code = item.Code; StModel.WarehouseName = WarehouseCode; db.T_Stock.Add(StModel); db.SaveChanges(); } T_StockOutstorage StorageModel = new T_StockOutstorage(); StorageModel.Code = item.Code; StorageModel.Name = item.Name; StorageModel.WarehouseCode = WarehouseCode; StorageModel.number = Model.ID.ToString(); StorageModel.Qty = item.Qty; StorageModel.Type = "入库"; db.T_StockOutstorage.Add(StorageModel); db.SaveChanges(); } sc.Complete(); return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet)); } } }
//[Description("新增保存")] public JsonResult StockDetailAdd(T_StockStorage Model, string jsonStr, string CurUser) { using (TransactionScope sc = new TransactionScope()) { try { string Nickname = ""; if (!string.IsNullOrWhiteSpace(CurUser)) { Nickname = CurUser; } else { Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value); } Model.Type = "入库"; Model.ApplyName = Nickname; Model.ApplyDate = DateTime.Now; db.T_StockStorage.Add(Model); db.SaveChanges(); List <T_StockDetail> details = App_Code.Com.Deserialize <T_StockDetail>(jsonStr); foreach (var item in details) { item.Oid = Model.ID; db.T_StockDetail.Add(item); db.SaveChanges(); string code = item.Code; string WarehouseCode = Model.WarehouseCode; T_Stock Smodel = db.T_Stock.SingleOrDefault(a => a.Code == code && a.WarehouseName == WarehouseCode); if (Smodel != null) { Smodel.Qty += item.Qty; db.Entry <T_Stock>(Smodel).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } else { T_Stock StModel = new T_Stock(); StModel.Qty = item.Qty; StModel.Name = item.Name; StModel.Code = item.Code; StModel.WarehouseName = WarehouseCode; db.T_Stock.Add(StModel); db.SaveChanges(); } T_StockOutstorage StorageModel = new T_StockOutstorage(); StorageModel.Code = item.Code; StorageModel.Name = item.Name; StorageModel.WarehouseCode = WarehouseCode; StorageModel.number = Model.ID.ToString(); StorageModel.Qty = item.Qty; StorageModel.Type = "入库"; db.T_StockOutstorage.Add(StorageModel); db.SaveChanges(); } string cpcode = ""; for (int z = 0; z < details.Count; z++) { if (z == details.Count - 1) { cpcode += "{\"barcode\":\"" + details[z].Code + "\",\"qty\":" + details[z].Qty + "}"; } else { cpcode += "{\"barcode\":\"" + details[z].Code + "\",\"qty\":" + details[z].Qty + "},"; } } EBMS.App_Code.GY gy = new App_Code.GY(); string cmd = ""; cmd = "{" + "\"appkey\":\"171736\"," + "\"method\":\"gy.erp.new.purchase.arrive.add\"," + "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"," + "\"warehouse_code\":\"" + Model.WarehouseCode + "\"," + "\"supplier_code\":\"" + Model.SupplierName + "\"," + "\"order_type\":\"001\"," + "\"detail_list\":[" + cpcode + "]" + "}"; string sign = gy.Sign(cmd); string comcode = ""; comcode = "{" + "\"appkey\":\"171736\"," + "\"method\":\"gy.erp.new.purchase.arrive.add\"," + "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"," + "\"sign\":\"" + sign + "\"," + "\"warehouse_code\":\"" + Model.WarehouseCode + "\"," + "\"supplier_code\":\"" + Model.SupplierName + "\"," + "\"order_type\":\"001\"," + "\"detail_list\":[" + cpcode + "]" + "}"; string ret = gy.DoPost("http://api.guanyierp.com/rest/erp_open", comcode); JsonData jsonData = null; jsonData = JsonMapper.ToObject(ret); if (jsonData.Count == 6) { return(Json(new { State = "Faile", Message = "写入管易失败,请联系管理员" }, JsonRequestBehavior.AllowGet)); } else { sc.Complete(); return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet)); } } }
public JsonResult Save(T_Deliver model, string jsonStr, string CurUser, string TiaoMa, string type) { using (TransactionScope sc = new TransactionScope()) { try { // 查询发货表 订单是否发货 T_Deliver deliverFlag = db.T_Deliver.FirstOrDefault(a => a.MailNo == model.MailNo); if (deliverFlag != null) { return(Json(new { State = "Faile", Message = "该单据编号已经发货" }, JsonRequestBehavior.AllowGet)); } T_Warehouses warehouseMod = db.T_Warehouses.SingleOrDefault(a => a.name == model.WarehouseCode); //发货记录表增加发货记录 string curUser = ""; if (!string.IsNullOrWhiteSpace(CurUser)) { curUser = CurUser; } else { curUser = Server.UrlDecode(Request.Cookies["NickName"].Value); } string IP = Request.UserHostAddress; T_Deliver MOD = new T_Deliver(); MOD.PostTime = DateTime.Now; MOD.PostName = curUser; MOD.OrderNum = model.OrderNum; MOD.MailNo = model.MailNo; MOD.WarehouseCode = warehouseMod.code; MOD.IP = IP; MOD.Note = model.Note; db.T_Deliver.Add(MOD); db.SaveChanges(); /* * 解析jsonStr * 修改库存表发货详情记录表 * 库存表是否有该商品的库存信息?直接修改库存数量:新增一条库存信息qty为负数 */ List <AddMod> detail = Com.Deserialize <AddMod>(jsonStr); if (type == "1") { List <TiaoMaAddMod> TiaoMaAddModList = new List <TiaoMaAddMod>(); string[] tiaomaList = TiaoMa.Split('\n'); int Qty = 0; for (int i = 0; i < detail.Count; i++) { Qty += int.Parse(detail[i].qty.ToString()); int tiaomalistQty = 0; int detailcount = int.Parse(detail[i].qty.ToString()); for (int z = 0; z < tiaomaList.Length; z++) { if (tiaomaList[z] == "") { break; } string tiaomazz = ""; //if (z == tiaomaList.Length - 1) //{ // tiaomazz = tiaomaList[z].Substring(0, tiaomaList[z].Length); //} //else //{ // tiaomazz = tiaomaList[z].Substring(0, tiaomaList[z].Length - 1); //} tiaomazz = tiaomaList[z].Substring(0, tiaomaList[z].Length - 1); if (detail[i].tiaoma == tiaomazz) { tiaomalistQty++; } } if (detailcount != tiaomalistQty) { TiaoMaAddMod TiaoMaAddModModel = new TiaoMaAddMod(); TiaoMaAddModModel.tiaoma = detail[i].tiaoma; TiaoMaAddModList.Add(TiaoMaAddModModel); } } if (TiaoMaAddModList.Count > 0) { string nottiaoma = ""; for (int i = 0; i < TiaoMaAddModList.Count; i++) { if (i == TiaoMaAddModList.Count - 1) { nottiaoma += TiaoMaAddModList[i].tiaoma; } else { nottiaoma += TiaoMaAddModList[i].tiaoma + ","; } } return(Json(new { State = "Faile", Message = "该" + nottiaoma + "数量与详情不符合", stype = "0" }, JsonRequestBehavior.AllowGet)); } int tiaomaQty = 0; for (int i = 0; i < tiaomaList.Length; i++) { if (tiaomaList[i] != "") { tiaomaQty++; } } if (Qty != tiaomaQty) { return(Json(new { State = "Faile", Message = "存在多发货物", stype = "0" }, JsonRequestBehavior.AllowGet)); } } for (int i = 0; i < detail.Count; i++) { //操作库存表 string _code = detail[i].item_code; T_Stock StocMOD = db.T_Stock.SingleOrDefault(a => a.Code == _code); if (StocMOD != null) { int _qty = int.Parse(detail[i].qty.ToString()); StocMOD.Qty -= _qty; db.Entry <T_Stock>(StocMOD).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } else { T_Stock createMod = new T_Stock(); createMod.Name = detail[i].item_name; createMod.Code = detail[i].item_code; createMod.Qty = -int.Parse(detail[i].qty.ToString()); createMod.WarehouseName = warehouseMod.code; db.T_Stock.Add(createMod); db.SaveChanges(); } //操作发货详情记录表 T_DeliverDetail detailMOD = new T_DeliverDetail(); detailMOD.Code = detail[i].item_code; detailMOD.Name = detail[i].item_name; detailMOD.Qty = detail[i].qty; detailMOD.Oid = MOD.ID; db.T_DeliverDetail.Add(detailMOD); db.SaveChanges(); T_StockOutstorage StorageModel = new T_StockOutstorage(); StorageModel.Code = detail[i].item_code; StorageModel.Name = detail[i].item_name; StorageModel.WarehouseCode = model.WarehouseCode; StorageModel.number = model.MailNo; StorageModel.Qty = detail[i].qty; StorageModel.Type = "出库"; db.T_StockOutstorage.Add(StorageModel); db.SaveChanges(); } sc.Complete(); return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new { State = "Faile", Message = e.Message }, JsonRequestBehavior.AllowGet)); } } }