/// <summary> /// 根据uid获取用户购物车商品 /// </summary> /// <param name="uid"></param> /// <returns></returns> public string GetShoppingCart(string uid) { string res = ""; try { List <ShoppingCartModel> sclist = shoppingcartdal.GetShoppingCart(uid); StockInfo_Response newstock = GetNewStock(sclist);//最新库存 if (newstock != null && newstock.code == 200) { //查库存 for (int i = 0; i < sclist.Count; i++) { int newstockqty = 0; //先根据序(列号 批次号 备件号 库区)查库存 var stocks = newstock.data.Where(s => s.LocationName == sclist[i].LocationName && s.ProductCode == sclist[i].ProductCode && sclist[i].SerialNumber == s.SerialNumber && sclist[i].BatchNumber == s.BatchNumber).FirstOrDefault(); if (stocks != null && !string.IsNullOrEmpty(stocks.ProductCode)) { newstockqty = Convert.ToInt32(Convert.ToDecimal(stocks.StockQty).ToString("#0")); } sclist[i].StockQty = newstockqty; } } res = JsonConvert.SerializeObject(new { code = 0, msg = "ok", goodsCount = sclist.Count, checkedGoodsCount = sclist.Where(s => s.Ischecked == 1).ToList().Count, ShoppingCartData = CartDataFactory(sclist) }); } catch (Exception ex) { res = JsonConvert.SerializeObject(new { code = 10003, msg = "系统故障", count = 0 }); LogHelper.ErrorLog(ex.Message + "," + ex.StackTrace); } return(res); }
/// <summary> /// 获取库存数量 /// </summary> /// <param name="sclist"></param> /// <returns></returns> public string GetStockQty(ShoppingCartModel scm) { string resstockqty = "0"; try { List <ShoppingCartModel> stockreq = new List <ShoppingCartModel>(); stockreq.Add(scm); StockInfo_Response stock = GetNewStock(stockreq);//库存数量 if (stock != null && stock.data.Count > 0) { var substock = stock.data.Where(s => s.LocationName == scm.LocationName && s.ProductCode == scm.ProductCode && s.SerialNumber == scm.SerialNumber && s.BatchNumber == scm.BatchNumber).ToList(); if (substock.Count > 0) { resstockqty = substock[0].StockQty; } } } catch (Exception ex) { LogHelper.ErrorLog(ex.Message + "," + ex.StackTrace); } return(resstockqty); }
/// <summary> /// 库存查询 /// </summary> /// <param name="openid"></param> /// <returns></returns> public string StockSearch(string reqdata) { string res = ""; try { //LogHelper.InfoLog("StockSearch参数:" + reqdata); Request_StockInfo req = JsonConvert.DeserializeObject <Request_StockInfo>(reqdata); //小程序请求参数反序列化 StockInfo_Request reqtoapi = new StockInfo_Request(); //库存查询参数 reqtoapi.UnionId = req.UnionId; reqtoapi.CompanyName = req.CompanyName; //reqtoapi.PhoneNumber = req.PhoneNumber.Replace("15827002712", "18717764701"); reqtoapi.PhoneNumber = req.PhoneNumber; reqtoapi.key = AppSettingUtil.InsideApiKey2; reqtoapi.list = new List <ProLocListItem>() { new ProLocListItem() { ProductCode = req.ProductCode, LocationNames = string.Join(",", req.LocationNamesArr) } }; StockInfo_Response resstock = stockhttpdal.stockinfo(JsonConvert.SerializeObject(reqtoapi)); if (resstock.data.Count > 0) { if (req.sort == 1)//正序 { resstock.data = resstock.data.OrderBy(r => r.StockQty).ToList(); } else if (req.sort == 2)//倒序 { resstock.data = resstock.data.OrderByDescending(r => r.StockQty).ToList(); } } res = JsonConvert.SerializeObject(new { code = 0, msg = "ok", count = resstock.data.Count, StockData = resstock.data }); } catch (Exception ex) { res = JsonConvert.SerializeObject(new { code = 10003, msg = "系统故障", count = 0 }); LogHelper.ErrorLog(ex.Message + "," + ex.StackTrace); } return(res); }
/// <summary> /// 获取库存数量 /// </summary> /// <param name="sclist"></param> /// <returns></returns> private StockInfo_Response GetNewStock(List <ShoppingCartModel> sclist) { StockInfo_Response resstock = null; try { if (sclist.Count > 0) { List <ProLocListItem> list = new List <ProLocListItem>(); foreach (var item in sclist) { ProLocListItem proitem = new ProLocListItem() { ProductCode = item.ProductCode, LocationNames = item.LocationName }; list.Add(proitem); } StockInfo_Request req = new StockInfo_Request() { UnionId = sclist[0].unionid, CompanyName = sclist[0].VendName, key = AppSettingUtil.InsideApiKey2, list = list }; resstock = stockhttpdal.stockinfo(JsonConvert.SerializeObject(req)); if (resstock.code != 200 || resstock.data.Count == 0) { resstock = null; } } } catch (Exception ex) { resstock = null; LogHelper.ErrorLog(ex.Message + "," + ex.StackTrace); } return(resstock); }