/// <summary> /// 写入库存 /// </summary> public string insertStock() { string sellId = Session["sellId"].ToString(); //销退单头Id DataSet sellds = shBll.Select(sellId); string regionId = sellds.Tables[0].Rows[0]["regionId"].ToString(); //地区Id //DataSet gds = gbll.Select(int.Parse(regionId)); //string gid = gds.Tables[0].Rows[0]["goodsShelvesId"].ToString(); int newstockNum = int.Parse(Request["count"]); //写入的库存量 string bookNo = Request["bookNum"]; //获取书号 if (bookNo == null || bookNo == "") { bookNo = bookds.Tables[0].Rows[0]["bookNum"].ToString();//书号 } DataSet stockDs = stbll.SelectByBookNum(bookNo, int.Parse(regionId)); string shelvesId = stockDs.Tables[0].Rows[0]["goodsShelvesId"].ToString(); //获取货架Id string oldStockNum = stockDs.Tables[0].Rows[0]["stockNum"].ToString(); //原来的库存量 int stockNum = newstockNum + int.Parse(oldStockNum); if (stockNum < 0) { return("库存已不足"); } else { Result row = stbll.update(stockNum, shelvesId, bookNo); if (row == Result.更新成功) { return("更新成功"); //Response.Write("更新成功"); //Response.End(); } else { return("写入库存失败"); //Response.Write("写入库存失败"); //Response.End(); } } }
public void insert() { string json = Request["json"]; DataTable dataTable = jsonToDt(json); int row, rows = 0; double total, allTotal = 0, real, allReal = 0; int Counts = dataTable.Rows.Count; for (int i = 0; i < Counts; i++) { DataRow dr = dataTable.Rows[i]; row = Convert.ToInt32(dr["数量"]); total = Convert.ToDouble(dr["码洋"]); real = Convert.ToDouble(dr["实洋"]); rows = rows + row; allTotal = allTotal + total; allReal = allReal + real; } User user = (User)Session["user"]; DateTime nowTime = DateTime.Now; string nowDt = nowTime.ToString("yyyy-MM-dd"); long count = 0; //生成流水号方法 DataSet backds = retailBll.getAllTime(2); if (backds != null && backds.Tables[0].Rows.Count > 0) { for (int i = 0; i < backds.Tables[0].Rows.Count; i++) { string time = backds.Tables[0].Rows[i]["dateTime"].ToString(); DateTime dt = Convert.ToDateTime(time); string sqlTime = dt.ToString("yyyy-MM-dd"); if (sqlTime == nowDt) { //count += 1; string id = backds.Tables[0].Rows[i]["retailHeadId"].ToString(); string st1 = id.Substring(10); long rowes = long.Parse(st1) + 1; count = rowes; break; } } if (count == 0) { count = 1; } } else { count = 1; } //添加单头 string retailHeadId = "LT" + DateTime.Now.ToString("yyyyMMdd") + count.ToString().PadLeft(6, '0'); single.AllRealPrice = 0 - Math.Abs(allReal); single.AllTotalPrice = 0 - Math.Abs(allTotal); single.KindsNum = Counts; single.Number = 0 - Math.Abs(rows); single.RegionId = user.ReginId.RegionId; single.SaleHeadId = retailHeadId; single.UserId = user.UserId; single.DateTime = DateTime.Now; single.State = 2; single.PayType = "退款"; Result result = retailBll.InsertRetail(single); if (result == Result.添加成功) {//添加单体 Session["List"] = new List <string>(); SaleMonomer monomers = new SaleMonomer(); int Count = dataTable.Rows.Count; for (int i = 0; i < Count; i++) { DataRow dr = dataTable.Rows[i]; monomers.ISBN1 = dr["ISBN"].ToString(); monomers.UnitPrice = Convert.ToDouble(dr["单价"]); monomers.BookNum = dr["书号"].ToString(); monomers.RealDiscount = Convert.ToDouble(dr["折扣"]); monomers.SaleIdMonomerId = i + 1; monomers.Number = 0 - Math.Abs(Convert.ToInt32(dr["数量"])); monomers.TotalPrice = 0 - Math.Abs(Convert.ToDouble(dr["码洋"])); monomers.RealPrice = 0 - Math.Abs(Convert.ToDouble(dr["实洋"])); monomers.SaleHeadId = retailHeadId; monomers.Datetime = DateTime.Now; DataSet dsStock = stockBll.SelectByBookNum(monomers.BookNum, user.ReginId.RegionId); if (dsStock == null || dsStock.Tables[0].Rows.Count <= 0) { Response.Write("库存不足"); Response.End(); } else { string goodsId = dsStock.Tables[0].Rows[0]["goodsShelvesId"].ToString(); int stockNum = Convert.ToInt32(dsStock.Tables[0].Rows[0]["stockNum"]); Result stock = stockBll.update(stockNum + Math.Abs(monomers.Number), goodsId, monomers.BookNum); if (stock == Result.更新失败) { Response.Write("更新失败"); Response.End(); } else { Result mon = retailBll.InsertRetail(monomers); if (mon == Result.添加失败) { Response.Write("添加失败"); Response.End(); } } } } Response.Write("添加成功"); Response.End(); } else { Response.Write("添加失败"); Response.End(); } }
/// <summary> /// 只有一条数据时 /// </summary> public void backbook() { int count = salemonbll.SelectBySaleHeadId(SaleHeadId); if (count == 0) { count = 1; } else { count += 1; } BookBasicBll bookbll = new BookBasicBll(); string booknum = bookds.Tables[0].Rows[0]["bookNum"].ToString(); //判断库存 DataSet stockbook = stockbll.SelectByBookNum(booknum, user.ReginId.RegionId); if (stockbook == null) { Response.Write("无库存"); Response.End(); } BookBasicData book = bookbll.SelectById(booknum); string remarks = book.Remarks; if (defaultdiscount == "-1") { if (double.Parse(remarks) < 1) { remarks = (double.Parse(remarks) * 100).ToString(); } } else { remarks = defaultdiscount; } //if (remarks == "" || remarks == null) //{ // remarks = defaultdiscount; //} //else //{ // if (double.Parse(remarks) < 1) // { // remarks = (double.Parse(remarks) * 100).ToString(); // } //} StringBuilder sb = new StringBuilder(); sb.Append("<tbody>"); int alreadyBought; string addbooknum; for (int i = 0; i < bookds.Tables[0].Rows.Count; i++) { addbooknum = bookds.Tables[0].Rows[i]["bookNum"].ToString(); alreadyBought = salemonbll.getBookNumberSumByBookNum(addbooknum, saleId); sb.Append("<tr class='first'><td>" + count + "</td>"); sb.Append("<td>" + "<input type='text' class='isbn textareaISBN' value='" + bookds.Tables[0].Rows[i]["ISBN"].ToString() + "' onkeyup='this.value=this.value.replace(/[^\r\n0-9]/g,'');' /></td>"); sb.Append("<td>" + bookds.Tables[0].Rows[i]["bookNum"].ToString() + "</td>"); sb.Append("<td>" + bookds.Tables[0].Rows[i]["bookName"].ToString() + "</td>"); sb.Append("<td>" + bookds.Tables[0].Rows[i]["price"].ToString() + "</td>"); sb.Append("<td><input class='count textareaCount' type='number' value='" + defaultCopy.ToString() + "'/></td>"); sb.Append("<td><input class='discount textareaDiscount' value='" + remarks + "' onkeyup='this.value=this.value.replace(/[^\r\n0-9]/g,'');' /></td>"); sb.Append("<td>" + "" + "</td>"); sb.Append("<td>" + alreadyBought + "</td></tr>"); } sb.Append("</tbody>"); Response.Write(sb.ToString()); Response.End(); }
public void addsalemon(HttpContext context) { string SaleHeadId = context.Request["saleheadID"]; string saleId = context.Request["saletaskID"]; int number = Convert.ToInt32(context.Request["number"]); string bookNum = context.Request["bookNum"]; SaleTaskBll saletaskbll = new SaleTaskBll(); BookBasicData book = new BookBasicData(); BookBasicBll bookbll = new BookBasicBll(); if (teamtype == "team") { int regionid = saletaskbll.GetregionidBysaleid(saleId); DataSet stockbook = stobll.SelectByBookNum(bookNum, regionid); int allstockNum = 0; for (int h = 0; h < stockbook.Tables[0].Rows.Count; h++) { allstockNum += Convert.ToInt32(stockbook.Tables[0].Rows[h]["stockNum"]); } if (number > allstockNum) { context.Response.Write("库存数量不足,当前最大库存为:" + allstockNum); context.Response.End(); } else { BookBasicBll Bookbll = new BookBasicBll(); book = Bookbll.SelectById(bookNum); string remarks = book.Remarks; string defaultdiscount; string bookISBN = book.Isbn; string saleHeadId = SaleHeadId; SaleTask task = saletaskbll.selectById(saleId); defaultdiscount = task.DefaultDiscount.ToString(); if (defaultdiscount == "-1") { if (double.Parse(remarks) < 1) { remarks = (double.Parse(remarks) * 100).ToString(); } } double disCount = double.Parse(remarks); int count = salemonbll.SelectBySaleHeadId(saleHeadId); int saleIdmonomerId; if (count == 0) { saleIdmonomerId = 1; salemonbll.updateHeadstate(saleId, SaleHeadId, 1); } else { saleIdmonomerId = count + 1; } double price = Convert.ToInt32(book.Price); double totalPrice = price * number; double realPrice = totalPrice * (disCount / 100); DateTime Time = DateTime.Now.ToLocalTime(); SaleMonomer newSalemon = new SaleMonomer() { AlreadyBought = 0, SaleIdMonomerId = saleIdmonomerId, BookNum = bookNum, ISBN1 = bookISBN, SaleHeadId = saleHeadId, Number = number, UnitPrice = price, TotalPrice = totalPrice, RealPrice = realPrice, RealDiscount = disCount, Datetime = Time, SaleTaskId = saleId }; //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; // stobll.update(stockcount, goodsId, bookNum); // } // else // { // number = number - stockNum; // stobll.update(0, goodsId, bookNum); // if (number == 0) // { // break; // } // } //} Result insertres = salemonbll.addsale(regionid, newSalemon); string op = context.Request["op"]; if (insertres == Result.添加成功) { //更新单头 updateSalehead(context); if (op == "change") { context.Response.Write("修改成功"); context.Response.End(); } else { context.Response.Write("添加成功"); context.Response.End(); } } else { if (op == "change") { context.Response.Write("修改失败"); context.Response.End(); } else { context.Response.Write("添加失败"); context.Response.End(); } } } } else { BookBasicData bookData = bookbll.SelectById(bookNum); string remarks = bookData.Remarks; string defaultdiscount; string bookISBN = bookData.Isbn; SaleTask task = saletaskbll.selectById(saleId); defaultdiscount = task.DefaultDiscount.ToString(); if (defaultdiscount == "-1") { if (double.Parse(remarks) < 1) { remarks = (double.Parse(remarks) * 100).ToString(); } } //if (remarks == "" || remarks == null) //{ // remarks = defaultdiscount; //} else { remarks = defaultdiscount; } double disCount = double.Parse(remarks); book = bookbll.SelectById(bookNum); string saleHeadId = SaleHeadId; int saleIdmonomerId; int count = salemonbll.SelectByPerSaleHeadId(saleHeadId); if (count == 0) { saleIdmonomerId = 1; salemonbll.updatePerHeadstate(saleId, SaleHeadId, 1); } else { saleIdmonomerId = count + 1; } double price = Convert.ToDouble(book.Price); double totalPrice = price * number; double realPrice = totalPrice * (disCount / 100); DateTime Time = DateTime.Now.ToLocalTime(); SaleMonomer newSalemon = new SaleMonomer() { AlreadyBought = 0, SaleIdMonomerId = saleIdmonomerId, BookNum = bookNum, ISBN1 = bookISBN, SaleHeadId = saleHeadId, Number = number, UnitPrice = price, TotalPrice = totalPrice, RealPrice = realPrice, RealDiscount = disCount, Datetime = Time, SaleTaskId = saleId }; Result res = salemonbll.perInsert(newSalemon); string op = context.Request["op"]; if (res == Result.添加成功) { //更新单头 updateSalehead(context); if (op == "change") { context.Response.Write("修改成功"); context.Response.End(); } else { context.Response.Write("添加成功"); context.Response.End(); } } else { if (op == "change") { context.Response.Write("修改失败"); context.Response.End(); } else { context.Response.Write("添加失败"); context.Response.End(); } } } }
protected void Page_Load(object sender, EventArgs e) { User user = (User)Session["user"]; getIsbn(); string op = Request["op"]; if (op == "add") { string headId = Request["headId"]; string bookNum = Request["bookNum"].ToString(); add(bookNum, headId, "one"); } if (op == "newAdd") { string headId = insertHead(); string bookNum = Request["bookNum"].ToString(); add(bookNum, headId, "one"); } if (op == "delete") { long bookNum = Convert.ToInt64(Request["bookNum"]); bookNumList = (List <long>)Session["List"]; int index = bookNumList.IndexOf(bookNum); bookNumList.RemoveAt(index); Session["List"] = bookNumList; } if (op == "scann") { scann(); } if (op == "change") { change(); } if (op == "del") { delete(); } if (op == "discount") { Discount(); } if (op == "stock") { string headId = Request["headId"]; DataSet dsEnd = retailBll.GetRetail(headId); if (dsEnd == null) { Response.Write("此单据不存在:|"); Response.End(); } else { int row = dsEnd.Tables[0].Rows.Count; for (int i = 0; i < row; i++) { DataRow dr = dsEnd.Tables[0].Rows[i]; string bookNum = dr["bookNum"].ToString(); int number = Convert.ToInt32(dr["number"]); DataSet dsStock = stockBll.SelectByBookNum(bookNum, user.ReginId.RegionId); if (dsStock != null) { int rows = dsStock.Tables[0].Rows.Count; if (rows == 0) { Response.Write("此书籍无库存:|" + dr["bookName"]); Response.End(); } else { int stockNum = 0, stockNums = 0; for (int j = 0; j < rows; j++) { stockNum = Convert.ToInt32(dsStock.Tables[0].Rows[j]["stockNum"]); stockNums = stockNums + stockNum; } if (stockNums < number) { Response.Write("此书籍库存不足:|" + dr["bookName"] + "|," + stockNums); Response.End(); } } } else { Response.Write("此书籍无库存:|" + dr["bookName"]); Response.End(); } } } } if (op == "end") { String strConn = ConfigurationManager.ConnectionStrings["sqlConn"].ConnectionString; MySqlConnection sqlConn = new MySqlConnection(strConn); MySqlTransaction trans = null; try { if (sqlConn != null && sqlConn.State == ConnectionState.Closed) { sqlConn.Open(); } } catch (Exception ex) { throw ex; } trans = sqlConn.BeginTransaction(); MySqlCommand cmd = sqlConn.CreateCommand(); cmd.Transaction = trans; try { string headId = Request["headId"]; string payType = Request["payType"]; DataSet dsEnd = retailBll.GetRetail(headId); if (dsEnd != null && dsEnd.Tables[0].Rows.Count > 0) { int row = dsEnd.Tables[0].Rows.Count; for (int i = 0; i < row; i++) { DataRow dr = dsEnd.Tables[0].Rows[i]; string bookNum = dr["bookNum"].ToString(); int number = Convert.ToInt32(dr["number"]); count = number; DataSet dsStock = stockBll.SelectByBookNum(bookNum, user.ReginId.RegionId); if (dsStock != null && dsStock.Tables[0].Rows.Count > 0) { int rows = dsStock.Tables[0].Rows.Count; for (int j = 0; j < rows; j++) { number = count; int stockNum = Convert.ToInt32(dsStock.Tables[0].Rows[j]["stockNum"]); string goodsId = dsStock.Tables[0].Rows[j]["goodsShelvesId"].ToString(); if (stockNum > number) { cmd.CommandText = "update T_Stock set stockNum=" + (stockNum - count) + " where goodsShelvesId=" + goodsId + " and bookNum='" + bookNum + "'"; int kucun = cmd.ExecuteNonQuery(); if (kucun <= 0) { trans.Rollback(); Response.Write("更新失败:|"); } else { break; } } else { count = number - stockNum; cmd.CommandText = "update T_Stock set stockNum=0 where goodsShelvesId=" + goodsId + " and bookNum='" + bookNum + "'"; int kucun = cmd.ExecuteNonQuery(); if (kucun <= 0) { trans.Rollback(); Response.Write("更新失败:|"); } else if (count == 0) { break; } } } } else { Response.Write("此书籍无库存:|" + dr["bookName"].ToString()); } } cmd.CommandText = "update T_RetailHead set state=1,userId=" + user.UserId + ",payment='" + payType + "' where retailHeadId='" + headId + "'"; int kucun2 = cmd.ExecuteNonQuery(); if (kucun2 <= 0) { trans.Rollback(); Response.Write("更新失败:|"); } else { StringBuilder sb = new StringBuilder(); DataSet dsNew = retailBll.GetRetail(headId); if (dsNew != null && dsNew.Tables[0].Rows.Count > 0) { int counts = dsNew.Tables[0].Rows.Count; sb.Append("<tbody>"); for (int i = 0; i < counts; i++) { DataRow dr = dsNew.Tables[0].Rows[i]; sb.Append("<tr><td style='font-size:14px;'>" + dr["bookName"].ToString() + "</td>"); sb.Append("<td>" + dr["number"].ToString() + "</td>"); sb.Append("<td>" + dr["unitPrice"].ToString() + "</td></tr>"); } sb.Append("</tbody>"); trans.Commit(); Response.Write("更新成功:|" + sb.ToString()); } else { trans.Rollback(); Response.Write("更新失败:|"); } } } else { Response.Write("此单据不存在:|"); } }catch (Exception ex) { trans.Rollback(); Response.Write("更新失败:|"); } finally { sqlConn.Close(); Response.End(); } } }
protected void selectIsbn() { //货架 GoodsShelvesBll goodsShelvesBll = new GoodsShelvesBll(); User user = (User)Session["user"]; int regionId = user.ReginId.RegionId; dsGoods = goodsShelvesBll.Select(regionId); string action = Request["action"]; string isbn = Request["isbn"]; DataTable monTable = new DataTable(); DataRow dr = monTable.NewRow(); if (action == "isbn") { long monId = Convert.ToInt64(Request["sid"]); DataSet dsBook = basicBll.SelectByIsbn(isbn); if (dsBook == null || dsBook.Tables[0].Rows.Count <= 0) { Response.Write("ISBN不存在"); Response.End(); } else { int billCount = Convert.ToInt32(Request["billCount"]); string bookName = dsBook.Tables[0].Rows[0]["bookName"].ToString(); string bookNum = dsBook.Tables[0].Rows[0]["bookNum"].ToString(); string supplier = dsBook.Tables[0].Rows[0]["supplier"].ToString(); double uPrice = Convert.ToDouble(dsBook.Tables[0].Rows[0]["price"]); if (dsBook.Tables[0].Rows[0]["author"].ToString() == null || dsBook.Tables[0].Rows[0]["author"].ToString() == "") { discount = 100; } else { discount = Convert.ToDouble(dsBook.Tables[0].Rows[0]["author"]); if (discount < 1) { discount = discount * 100; } } double totalPrice = Convert.ToDouble((billCount * uPrice).ToString("0.00")); double realPrice = Convert.ToDouble((totalPrice * discount * 0.01).ToString("0.00")); monTable.Columns.Add("ISBN", typeof(string)); monTable.Columns.Add("uPrice", typeof(double)); monTable.Columns.Add("bookName", typeof(string)); monTable.Columns.Add("bookNum", typeof(string)); monTable.Columns.Add("discount", typeof(double)); monTable.Columns.Add("monId", typeof(long)); monTable.Columns.Add("number", typeof(string)); monTable.Columns.Add("totalPrice", typeof(double)); monTable.Columns.Add("realPrice", typeof(double)); monTable.Columns.Add("singleHeadId", typeof(string)); monTable.Columns.Add("supplier", typeof(string)); dr["ISBN"] = isbn; dr["uPrice"] = uPrice; dr["bookName"] = bookName; dr["bookNum"] = bookNum; dr["discount"] = discount; dr["monId"] = monId; dr["number"] = billCount; dr["totalPrice"] = totalPrice; dr["realPrice"] = realPrice; dr["singleHeadId"] = singleHeadId; dr["supplier"] = supplier; monTable.Rows.Add(dr); int count = dsBook.Tables[0].Rows.Count; StringBuilder sb = new StringBuilder(); if (count == 1) { for (int i = 0; i < monTable.Rows.Count; i++) { bookNumList = (List <string>)Session["List"]; foreach (string bookNums in bookNumList) { if (bookNums == monTable.Rows[i]["bookNum"].ToString()) { Response.Write("已添加过此图书"); Response.End(); } } bookNumList.Add(monTable.Rows[i]["bookNum"].ToString()); Session["List"] = bookNumList; sb.Append("<tr><td>" + monTable.Rows[i]["monId"] + "</td>"); sb.Append("<td><textarea class='isbn textareaISBN' row='1' maxlength='13'>" + monTable.Rows[i]["ISBN"] + "</textarea></td>"); sb.Append("<td style='display:none'>" + monTable.Rows[i]["bookNum"] + "</td>"); sb.Append("<td>" + monTable.Rows[i]["bookName"] + "</td>"); sb.Append("<td>" + monTable.Rows[i]["supplier"] + "</td>"); sb.Append("<td><textarea class='count textareaCount' row='1'>" + 0 + "</textarea></td>"); sb.Append("<td>" + monTable.Rows[i]["uPrice"] + "</td>"); sb.Append("<td><textarea class='discount textareaDiscount' row='1'>" + monTable.Rows[i]["discount"] + "</textarea></td>"); sb.Append("<td>" + monTable.Rows[i]["totalPrice"] + "</td>"); sb.Append("<td>" + monTable.Rows[i]["realPrice"] + "</td>"); sb.Append("<td><button class='btn btn-danger btn-sm'><i class='fa fa-trash'></i></button></td></tr>"); } Response.Write(sb.ToString()); Response.End(); } else { sb.Append("<tbody>"); for (int i = 0; i < dsBook.Tables[0].Rows.Count; i++) { sb.Append("<tr><td><div class='pretty inline much'><input type = 'radio' name='radio' value='" + dsBook.Tables[0].Rows[i]["bookNum"].ToString() + "'><label><i class='mdi mdi-check'></i></label></div></td>"); sb.Append("<td>" + dsBook.Tables[0].Rows[i]["bookNum"].ToString() + "</td>"); sb.Append("<td>" + dsBook.Tables[0].Rows[i]["ISBN"].ToString() + "</td>"); sb.Append("<td>" + dsBook.Tables[0].Rows[i]["bookName"].ToString() + "</td>"); sb.Append("<td>" + dsBook.Tables[0].Rows[i]["price"].ToString() + "</td>"); sb.Append("<td>" + dsBook.Tables[0].Rows[i]["supplier"].ToString() + "</td></tr>"); } sb.Append("</tbody>"); Response.Write(sb.ToString()); Response.End(); //Response.Write("一号多书"); //Response.End(); } } } else if (action == "add") { long monId = Convert.ToInt64(Request["sid"]); monTable.Columns.Add("ISBN", typeof(string)); monTable.Columns.Add("uPrice", typeof(double)); monTable.Columns.Add("bookName", typeof(string)); monTable.Columns.Add("bookNum", typeof(string)); monTable.Columns.Add("discount", typeof(double)); monTable.Columns.Add("monId", typeof(long)); monTable.Columns.Add("number", typeof(string)); monTable.Columns.Add("totalPrice", typeof(double)); monTable.Columns.Add("realPrice", typeof(double)); monTable.Columns.Add("singleHeadId", typeof(string)); monTable.Columns.Add("supplier", typeof(string)); string bookNum = Request["bookNum"].ToString(); BookBasicData bookBasicData = basicBll.SelectById(bookNum); string supplier = bookBasicData.Publisher; string bookName = bookBasicData.BookName; string publisher = bookBasicData.Publisher; double price = bookBasicData.Price; string _isbn = bookBasicData.Isbn; string discount = bookBasicData.Author; if (discount == "" || discount == null) { discount = "100"; } bookNumList = (List <string>)Session["List"]; foreach (string bookNums in bookNumList) { if (bookNums == bookNum) { Response.Write("已添加过此图书"); Response.End(); } } dr["ISBN"] = _isbn; dr["uPrice"] = price; dr["bookName"] = bookName; dr["bookNum"] = bookNum; dr["discount"] = discount; dr["monId"] = monId; dr["number"] = 0; dr["totalPrice"] = 0; dr["realPrice"] = 0; dr["singleHeadId"] = singleHeadId; dr["supplier"] = supplier; monTable.Rows.Add(dr); for (int k = 0; k < monTable.Rows.Count; k++) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < monTable.Rows.Count; i++) { sb.Append("<tr><td>" + monTable.Rows[i]["monId"] + "</td>"); sb.Append("<td><textarea class='isbn textareaISBN' row='1' maxlength='13'>" + monTable.Rows[i]["ISBN"] + "</textarea></td>"); sb.Append("<td style='display:none'>" + monTable.Rows[i]["bookNum"] + "</td>"); sb.Append("<td>" + monTable.Rows[i]["bookName"] + "</td>"); sb.Append("<td>" + monTable.Rows[i]["supplier"] + "</td>"); sb.Append("<td><textarea class='count textareaCount' row='1'>" + monTable.Rows[i]["number"] + "</textarea></td>"); sb.Append("<td>" + monTable.Rows[i]["uPrice"] + "</td>"); sb.Append("<td><textarea class='discount textareaDiscount' row='1'>" + monTable.Rows[i]["discount"] + "</textarea></td>"); sb.Append("<td>" + monTable.Rows[i]["totalPrice"] + "</td>"); sb.Append("<td>" + monTable.Rows[i]["realPrice"] + "</td>"); sb.Append("<td><button class='btn btn-danger btn-sm'><i class='fa fa-trash'></i></button></td></tr>"); bookNumList.Add(bookNum); Session["List"] = bookNumList; } Response.Write(sb.ToString()); Response.End(); } } else if (action == "save") { string json = Request["json"]; DataTable dataTable = jsonToDt(json); int Count = dataTable.Rows.Count; Monomers monomers = new Monomers(); BookBasicData book = new BookBasicData(); int count = 0, counts = 0; double total, allTotal = 0, real, allReal = 0; for (int i = 0; i < Count; i++) { DataRow drow = dataTable.Rows[i]; string bookNum = drow["书号"].ToString(); count = Convert.ToInt32(drow["数量"]); int billCount = Convert.ToInt32(drow["数量"]); string goodsId = "0"; //货架ID DataSet dsGoods = stockBll.SelectByBookNum(bookNum, user.ReginId.RegionId); //出库组织库存量 int rgId = int.Parse(Session["jsRegionId"].ToString()); //接收组织ID DataSet jsGoods = stockBll.SelectByBookNum(bookNum, rgId); //接收组织库存量 for (int j = 0; j < dsGoods.Tables[0].Rows.Count; j++) { billCount = count; int stockNum = Convert.ToInt32(dsGoods.Tables[0].Rows[j]["stockNum"]); //原库存量 goodsId = dsGoods.Tables[0].Rows[j]["goodsShelvesId"].ToString(); //获取货架ID if (billCount <= stockNum) { int a = stockNum - billCount; Result result = stockBll.update(a, goodsId, bookNum); if (result == Result.更新失败) { Response.Write("添加失败"); Response.End(); } //if (jsGoods.Tables[0].Rows.Count > 0)//判断库存中是否有数据 //{ // int jsstockNum = Convert.ToInt32(jsGoods.Tables[0].Rows[0]["stockNum"]);//接收组织原库存量 // int jsgoodsId = Convert.ToInt32(jsGoods.Tables[0].Rows[0]["goodsShelvesId"]);//接收组织库存Id // int jsNewStock = jsstockNum + billCount;//获取接收组织新的库存 // result = stockBll.update(jsNewStock, jsgoodsId, bookNum);//更新入库库存 // if (result == Result.更新失败) // { // Response.Write("更新失败"); // Response.End(); // } //} //else//没有数据时,直接添加 //{ // //int jsgoodsId = Convert.ToInt32(jsGoods.Tables[0].Rows[0]["goodsShelvesId"]);//接收组织库存Id // int jsstockNum = billCount;//库存量 // Region reg = new Region(); // reg.RegionId = rgId; // DataSet gds = goodsShelvesBll.Select(rgId); // int gid = int.Parse(gds.Tables[0].Rows[0]["goodsShelvesId"].ToString()); // GoodsShelves goods = new GoodsShelves(); // goods.GoodsShelvesId = gid; // BookBasicData jsbook = new BookBasicData(); // jsbook.BookNum = bookNum; // jsbook.Isbn = drow["ISBN号"].ToString(); // Stock stock = new Stock();//库存实体 // stock.BookNum = jsbook; // stock.ISBN = jsbook; // stock.RegionId = reg; // stock.StockNum = billCount; // stock.GoodsShelvesId = goods; // result = stockBll.insert(stock);//写入库存 // if (result == Result.添加失败) // { // Response.Write("添加失败"); // Response.End(); // } //} Session["List"] = null; break; } else { if (stockNum != 0) { Result result; count = billCount - stockNum; if (count > 0) { result = stockBll.update(0, goodsId, bookNum);//记录存在且库存不为0 if (result == Result.更新失败) { Response.Write("添加失败"); Response.End(); } count = billCount - stockNum; continue; } if (count == 0) { Session["List"] = null; break; } } //Response.Write("库存不足"); //Response.End(); } } //添加出库单体 book.Isbn = drow["ISBN号"].ToString(); book.Price = Convert.ToDouble(drow["单价"]); book.BookNum = drow["书号"].ToString(); monomers.Isbn = book; monomers.UPrice = book; monomers.BookNum = book; monomers.Discount = Convert.ToDouble(drow["折扣"]); monomers.MonomersId = Convert.ToInt32(drow["单据编号"]); monomers.Number = Convert.ToInt32(drow["数量"]); monomers.TotalPrice = Convert.ToDouble(drow["码洋"]); monomers.RealPrice = Convert.ToDouble(drow["实洋"]); monomers.ShelvesId = goodsId;//货架ID SingleHead single = new SingleHead(); single.SingleHeadId = Session["singleHeadId"].ToString(); monomers.SingleHeadId = single; count = Convert.ToInt32(drow["数量"]); counts = counts + count; total = Convert.ToDouble(drow["码洋"]); allTotal = allTotal + total; real = Convert.ToDouble(drow["实洋"]); allReal = allReal + real; Result row = warehousingBll.insertMono(monomers); if (row == Result.添加失败) { Response.Write("添加失败"); Response.End(); } //book.Isbn = drow["ISBN号"].ToString(); //book.Price = Convert.ToDouble(drow["单价"]); //book.BookNum = drow["书号"].ToString(); //monomers.Isbn = book; //monomers.UPrice = book; //monomers.BookNum = book; //monomers.Discount = Convert.ToDouble(drow["折扣"]); //monomers.MonomersId = Convert.ToInt32(drow["单据编号"]); //monomers.Number = Convert.ToInt32(drow["商品数量"]); //monomers.TotalPrice = Convert.ToDouble(drow["码洋"]); //monomers.RealPrice = Convert.ToDouble(drow["实洋"]); //SingleHead single = new SingleHead(); //single.SingleHeadId = Session["singleHeadId"].ToString(); //monomers.SingleHeadId = single; //count = Convert.ToInt32(drow["商品数量"]); //counts = counts + count; //total = Convert.ToDouble(drow["码洋"]); //allTotal = allTotal + total; //real = Convert.ToDouble(drow["实洋"]); //allReal = allReal + real; //Result row = warehousingBll.insertMono(monomers); //if (row == Result.添加失败) //{ // Response.Write("添加失败"); // Response.End(); //} //else if (row == Result.添加成功) //{ // string bookNum = drow["书号"].ToString(); // int billCount = Convert.ToInt32(drow["商品数量"]); // DataSet dsGoods = stockBll.SelectByBookNum(bookNum, user.ReginId.RegionId); // for (int j = 0; j < dsGoods.Tables[0].Rows.Count; j++) // { // billCount = count; // int stockNum = Convert.ToInt32(dsGoods.Tables[0].Rows[j]["stockNum"]); // int goodsId = Convert.ToInt32(dsGoods.Tables[0].Rows[j]["goodsShelvesId"]); // if (billCount <= stockNum) // { // int a = stockNum - billCount; // Result result = stockBll.update(a, goodsId, bookNum); // if (result == Result.更新失败) // { // Response.Write("添加失败"); // Response.End(); // } // } // else // { // count = billCount - stockNum; // Result result = stockBll.update(0, goodsId, bookNum); // if (count == 0) // { // Session["List"] = null; // Response.Write("添加成功"); // Response.End(); // } // if (result == Result.更新失败) // { // Response.Write("添加失败"); // Response.End(); // } // } // } //} } SingleHead singleHead = new SingleHead(); singleHead.SingleHeadId = Session["singleHeadId"].ToString(); singleHead.AllBillCount = counts; singleHead.AllRealPrice = allReal; singleHead.AllTotalPrice = allTotal; Result head = warehousingBll.updateHead(singleHead); if (head == Result.更新成功) { Response.Write("添加成功"); Response.End(); } else { Response.Write("添加失败"); Response.End(); } } else if (action == "changeDiscount") { double discount = Convert.ToDouble(Request["discount"]); Result result = warehousingBll.updateDiscount(discount); if (result == Result.更新成功) { Response.Write("更新成功"); Response.End(); } else { Response.Write("更新失败"); Response.End(); } } else if (action == "checkNum") { int regId = user.ReginId.RegionId; string bookNum = Request["bookNum"].ToString(); int billCount = Convert.ToInt32(Request["count"]); DataSet dsGoods = stockBll.SelectByBookNum(bookNum, regId); int j = dsGoods.Tables[0].Rows.Count; if (dsGoods != null && dsGoods.Tables[0].Rows.Count > 0) { int count = billCount; int allCount = 0, allCounts = 0; for (int i = 0; i < dsGoods.Tables[0].Rows.Count; i++) { allCount = Convert.ToInt32(dsGoods.Tables[0].Rows[i]["stockNum"]); allCounts = allCounts + allCount; } if (billCount > allCounts) { Response.Write("库存不足"); Response.End(); } } else { Response.Write("库存不足"); Response.End(); } } }
/// <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(); } } }