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); } }
/// <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); }