コード例 #1
0
        /// <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);
        }
コード例 #2
0
ファイル: StoreGoodsStockDAL.cs プロジェクト: mosdong/PSI
        /// <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);
        }
コード例 #3
0
ファイル: StockBLL.cs プロジェクト: mosdong/PSI
        /// <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);
        }
コード例 #4
0
ファイル: BusinessController.cs プロジェクト: mosdong/PSI
 public MessageResult GetStoreStockData(StockQueryParaModel qModel)
 {
     try
     {
         var result = stockBLL.GetStoreStockData(qModel);
         return(MessageResult.Success(result));
     }
     catch (Exception ex)
     {
         return(MessageResult.Fail(ex.Message));
     }
 }
コード例 #5
0
        /// <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;
            }
        }