示例#1
0
        public static List <StcokQueryty> GetStocklist(string str, int intFalg)
        {
            //统计库存
            List <StcokQueryty> stocklist = GetDatabySql(getsql(str, intFalg));
            //统计销售记录
            List <Sales> saleslist = SalesDAL.Getlist();

            if (stocklist != null && stocklist.Count > 0)
            {
                if (saleslist != null && saleslist.Count > 0)
                {
                    //拼接数据
                    foreach (Sales sale in saleslist)
                    {
                        foreach (StcokQueryty stock in stocklist)
                        {
                            if (sale.GoodsId == stock.GoodsId)
                            {
                                stock.Num -= sale.Num;
                            }
                        }
                    }
                    return(stocklist);
                }
                else
                {
                    //直接返回stocklist内的数据
                    return(stocklist);
                }
            }
            else
            {
                return(null);
            }
        }
示例#2
0
        /// <summary>
        /// 查询库存数量
        /// </summary>
        /// <returns></returns>
        public static ReturnRet <int> QueryGoodsNum(int goodsId, int salesNum)
        {
            //获取商品的预警值

            int             warnNum = GoodsDAL.getEntryById <Goods, int>(goodsId).WarnNum;
            ReturnRet <int> ret     = new ReturnRet <int>();
            //查询库存商品
            int stocknums = getStockgoosNum(goodsId);
            //统计销售记录
            int salesnums = SalesDAL.getSalesNums(goodsId);

            if (stocknums >= (salesnums + salesNum))
            {
                //库存足够
                ret.success = true;
                ret.data    = stocknums - salesnums; //除去销售记录,返回库存剩余数量
                //计算是否到达预警值
                if ((stocknums - (salesnums + salesNum)) <= warnNum)
                {
                    //需要预警,插入一条记录
                    WarnLogDAL.add(new WarnLog(0, goodsId, DateTime.Now, (stocknums - (salesnums + salesNum)), false));
                }
            }
            else
            {
                ret.success = false;
                ret.message = "库存数量不足";
                ret.data    = stocknums - salesnums; //除去销售记录,返回库存剩余数量
            }
            return(ret);
        }