/// <summary> /// 更新补货单头的种数,数量,总码洋,总实洋 /// </summary> /// <param name="rd">销售单头实体</param> /// <returns>受影响行数</returns> public int updateRsHead(replenishMentHead rd) { string cmdText = "update T_ReplenishmentHead set kingdsNum=@kindsNum,number=@number where saleTaskId=@saleTaskId"; string[] param = { "@kindsNum", "@number", "@saleTaskId" }; object[] values = { rd.KindsNum, rd.Number, rd.SaleTaskId }; int row = db.ExecuteNoneQuery(cmdText, param, values); return(row); }
/// <summary> /// 添加补货单头 /// </summary> /// <param name="rd">补货单头实体</param> /// <returns>受影响行数</returns> public int InsertRsHead(replenishMentHead rd) { string cmdText = "insert into T_ReplenishmentHead(saleTaskId,kingdsNum,number,userId,dateTime) VALUES(@saleTaskId,@kingdsNum,@number,@userId,@dateTimee)"; string[] param = { "@saleTaskId", "@kingdsNum", "@number", "@userId", "@dateTimee" }; object[] values = { rd.SaleTaskId, rd.KindsNum, rd.Number, rd.UserId, rd.Time }; int row = db.ExecuteNoneQuery(cmdText, param, values); return(row); }
/// <summary> /// 添加销售单头 /// </summary> /// <param name="saleId">销售任务id</param> /// <returns></returns> public Result addrsHead(string saleId) { replenishMentHead rsHead = new replenishMentHead(); replenishMentBll replenBll = new replenishMentBll(); rsHead.KindsNum = 0; rsHead.Number = 0; rsHead.SaleTaskId = saleId; rsHead.UserId = user.UserId; rsHead.Time = DateTime.Now.ToLocalTime(); return(replenBll.InsertRsHead(rsHead)); }
/// <summary> /// 更新补货单头的种数,数量,总码洋,总实洋 /// </summary> /// <param name="rd">销售单头实体</param> /// <returns>结果</returns> public Result updateRsHead(replenishMentHead rd) { int row = dao.updateRsHead(rd); if (row > 0) { return(Result.更新成功); } else { return(Result.更新失败); } }
/// <summary> /// 添加补货单头 /// </summary> /// <param name="rd">补货单头实体</param> /// <returns>添加结果</returns> public Result InsertRsHead(replenishMentHead rd) { int row = dao.InsertRsHead(rd); if (row > 0) { return(Result.添加成功); } else { return(Result.添加失败); } }
/// <summary> /// 单个销售单结算 /// </summary> public void Settlement(string saleTaskid, string saleHead, int scaler) { int RegionId = user.ReginId.RegionId; DataTable dt = saleheadbll.getSaleAllbyHeadIdAndStaskId(saleTaskid, saleHead); int number = 0; string bookNum, bookName, saleHeadId, saleTaskId, Isbn, Author, Supplier; int saleIdMonomerId, rsMonomerId; int allstockNum = 0;//总库存 int bhnum = 0; BookBasicData book = new BookBasicData(); saleHeadId = dt.Rows[0]["saleHeadId"].ToString(); saleTaskId = dt.Rows[0]["saleTaskId"].ToString(); for (int i = 0; i < dt.Rows.Count; i++) { bookNum = dt.Rows[i]["bookNum"].ToString(); DataSet stockbook = stockbll.SelectByBookNum(bookNum, RegionId); allstockNum = 0; for (int h = 0; h < stockbook.Tables[0].Rows.Count; h++) { allstockNum += Convert.ToInt32(stockbook.Tables[0].Rows[h]["stockNum"]); } number = int.Parse(dt.Rows[i]["number"].ToString()); //库存小于数量时生成补货单 if (allstockNum < number) { book = bookbll.SelectById(bookNum); Isbn = book.Isbn; Supplier = book.Publisher; Author = book.Author; bookName = dt.Rows[i]["bookName"].ToString(); saleIdMonomerId = int.Parse(dt.Rows[i]["saleIdMonomerId"].ToString()); bhnum = number - allstockNum; string rsHead = replenBll.getRsHeadID(saleTaskId); //判断该销售任务是否已有补货记录,如果没有则新增 if (rsHead == "none") { Result res = addrsHead(saleTaskId); if (res == Result.添加成功) { int count = replenBll.countMon(saleTaskId); if (count > 0) { rsMonomerId = count + 1; } else { rsMonomerId = 1; } respMon.BookNum = bookNum; respMon.Count = bhnum; respMon.Supplier = Supplier; respMon.DateTime = DateTime.Now.ToLocalTime(); respMon.Isbn = Isbn; respMon.SaleIdMonomerId = saleIdMonomerId; respMon.SaleTaskId = saleTaskId; respMon.Author = Author; respMon.SaleHeadId = saleHeadId; respMon.RsMonomerID = rsMonomerId; Result addmonRes = replenBll.Insert(respMon); if (addmonRes == Result.添加成功) { //更新补货单头 int rskinds = replenBll.getkinds(saleTaskId); int rsnumber = replenBll.getsBookNumberSum(saleTaskId); replenishMentHead upRsHead = new replenishMentHead() { SaleTaskId = saleTaskId, KindsNum = rskinds, Number = rsnumber, }; replenBll.updateRsHead(upRsHead); for (int t = 0; t < stockbook.Tables[0].Rows.Count; t++) { string goodsID = stockbook.Tables[0].Rows[t]["goodsShelvesId"].ToString(); stockbll.update(0, goodsID, bookNum); } } else { Response.Write("添加失败"); Response.End(); } } else { Response.Write("添加单头失败"); Response.End(); } } else { int count = replenBll.countMon(saleTaskId); if (count > 0) { rsMonomerId = count + 1; } else { rsMonomerId = 1; } respMon.BookNum = bookNum; respMon.Count = bhnum; respMon.Supplier = Supplier; respMon.DateTime = DateTime.Now.ToLocalTime(); respMon.Isbn = Isbn; respMon.SaleIdMonomerId = saleIdMonomerId; respMon.SaleTaskId = saleTaskId; respMon.Author = Author; respMon.SaleHeadId = saleHeadId; respMon.RsMonomerID = rsMonomerId; Result addmonRes = replenBll.Insert(respMon); if (addmonRes == Result.添加成功) { //更新补货单头 int rskinds = replenBll.getkinds(saleTaskId); int rsnumber = replenBll.getsBookNumberSum(saleTaskId); replenishMentHead upRsHead = new replenishMentHead() { SaleTaskId = saleTaskId, KindsNum = rskinds, Number = rsnumber, }; replenBll.updateRsHead(upRsHead); for (int t = 0; t < stockbook.Tables[0].Rows.Count; t++) { string goodsID = stockbook.Tables[0].Rows[t]["goodsShelvesId"].ToString(); stockbll.update(0, goodsID, bookNum); } } else { Response.Write("添加补货单失败"); Response.End(); } } } //库存足则直接减库存 else { for (int j = 0; j < stockbook.Tables[0].Rows.Count; j++) { int stockNum = Convert.ToInt32(stockbook.Tables[0].Rows[j]["stockNum"]); string goodsId = stockbook.Tables[0].Rows[j]["goodsShelvesId"].ToString(); if (number <= stockNum) { int stockcount = stockNum - number; stockbll.update(stockcount, goodsId, bookNum); number = 0; } else { number = number - stockNum; stockbll.update(0, goodsId, bookNum); } } } } if (scaler == 0) { //循环完后更新销售单的状态 Result upHeadstate = salemonbll.updateHeadstate(saleTaskId, saleHeadId, 2); if (upHeadstate == Result.更新成功) { Response.Write("添加成功"); Response.End(); } else { Response.Write("更新销售单头失败"); Response.End(); } } }