/// <summary> /// 条件获取与封装 /// </summary> /// <returns></returns> private StockQueryParaModel GetParaModel() { //获取条件 int storeId = 0; if (store != null) { storeId = store.StoreId; } string storeName = txtInStore.Text.Trim(); string goodsName = txtGoodsName.Text.Trim(); int gTypeId = 0; if (tvGoodsType.SelectedNode != null) { gTypeId = tvGoodsType.SelectedNode.Name.GetInt(); } StockQueryParaModel qModel = new StockQueryParaModel() { StoreId = storeId, StoreName = storeName, GoodsName = goodsName, GTypeId = gTypeId }; return(qModel); }
/// <summary> /// 条件统计商品库存数据 /// </summary> /// <param name="qModel"></param> /// <returns></returns> public DataTable GetStoreStockData(StockQueryParaModel qModel) { string sql = "select row_number() over (order by GoodsId) Id,GoodsId,GoodsNo,GoodsName,GUnit,GTypeId,GTypeName from (select distinct GoodsId,GoodsNo,GoodsName,GUnit,GTypeId,GTypeName"; sql += " from ViewStockGoodsQuery where 1=1"; if (qModel != null) { if (qModel.StoreId > 0) { sql += " and StoreId=@storeId"; } else if (!string.IsNullOrEmpty(qModel.StoreName)) { sql += " and StoreName like @storeName"; } if (qModel.GTypeId > 0) { sql += " and (GTypeId in (select GTypeId from GoodsTypeInfos where GTypeId=@gTypeId or ParentId in (select GTypeId from GoodsTypeInfos where ParentId=@gTypeId or GTypeId=@gTypeId)))"; } if (!string.IsNullOrEmpty(qModel.GoodsName)) { sql += " and GoodsName like @goodsName"; } } sql += ") as temp"; SqlParameter[] paras = { new SqlParameter("@storeId", qModel.StoreId), new SqlParameter("@storeName", $"%{qModel.StoreName}%"), new SqlParameter("@goodsName", $"%{qModel.GoodsName}%"), new SqlParameter("@gTypeId", qModel.GTypeId) }; DataTable dtGoods = SqlHelper.GetDataTable(sql, 1, paras); if (dtGoods.Rows.Count > 0) { dtGoods.Columns.Add("StCount", typeof(int)); dtGoods.Columns.Add("StPrice", typeof(decimal)); dtGoods.Columns.Add("StAmount", typeof(decimal)); dtGoods.Columns.Add("CurCount", typeof(int)); dtGoods.Columns.Add("StockAmount", typeof(decimal)); foreach (DataRow dr in dtGoods.Rows) { int id = dr["GoodsId"].ToString().GetInt(); //统计每个商品的库存数据 DataTable dtStock = GetStockTotal(id, qModel.StoreId, qModel.StoreName); if (dtStock != null && dtStock.Rows.Count > 0) { DataRow drData = dtStock.Rows[0]; dr["StCount"] = drData["StCount"]; dr["StPrice"] = drData["StPrice"]; dr["StAmount"] = drData["StAmount"]; dr["CurCount"] = drData["CurCount"]; dr["StockAmount"] = drData["StockAmount"]; } } } return(dtGoods); }
/// <summary> /// 获取商品库存统计数据 /// </summary> /// <param name="qModel"></param> /// <returns></returns> public List <StoreStockQueryModel> GetStoreStockData(StockQueryParaModel qModel) { DataTable dt = sgsDAL.GetStoreStockData(qModel); List <StoreStockQueryModel> list = new List <StoreStockQueryModel>(); if (dt.Rows.Count > 0) { list = DbConvert.DataTableToList <StoreStockQueryModel>(dt, ""); } return(list); }
public MessageResult GetStoreStockData(StockQueryParaModel qModel) { try { var result = stockBLL.GetStoreStockData(qModel); return(MessageResult.Success(result)); } catch (Exception ex) { return(MessageResult.Fail(ex.Message)); } }
/// <summary> /// 加载商品库存数据 /// </summary> private void LoadGoodsStoreStockData() { StockQueryParaModel qModel = GetParaModel(); List <StoreStockQueryModel> stockData = RequestStar.GetStoreStockData(qModel); if (stockData.Count > 0) { dgvList.AutoGenerateColumns = false; dgvList.DataSource = stockData; tsbtnStoreDistribute.Enabled = true; } else { dgvList.DataSource = null; dgvList.AllowUserToAddRows = false; tsbtnStoreDistribute.Enabled = false; } }