/// <summary> /// 订单发货 /// </summary> /// <param name="storeOrderIDs"></param> /// <returns></returns> public static string Consign(List <StoreOrderModel> lsom) { bool isSucceed = true; string storeOrderID = ""; for (int i = 0; i < lsom.Count; i++) { StoreOrderModel som = StoreOrderDAL.GetStoreOrderModel_II(lsom[i].StoreorderId); if (som.IsGeneOutBill == "Y") { StoreOrderDAL.UpdStoreOrderIsSent(lsom[i]); } else { isSucceed = false; storeOrderID = lsom[i].StoreorderId; break; } } if (isSucceed) { return("Y"); } else { return(storeOrderID); } }
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { if (isButton == GetTran("001340", "发货")) { string storeOrderID = ((Label)GridView1_CompanyConsign.SelectedRow.FindControl("Lab_OutStorageOrderID")).Text; string telephone = ((Label)GridView1_CompanyConsign.SelectedRow.FindControl("Lab_Telephone")).Text; string storeID = ((Label)GridView1_CompanyConsign.SelectedRow.FindControl("Lab_StoreID")).Text; string inceptPerson = ((Label)GridView1_CompanyConsign.SelectedRow.FindControl("Lab_InceptPerson")).Text; ViewState["storeOrderID"] = storeOrderID; string weight = ((Label)GridView1_CompanyConsign.SelectedRow.FindControl("Lab_Weight")).Text; List <StoreOrderModel> lsom = new List <StoreOrderModel>(); StoreOrderModel som = new StoreOrderModel(); som.StoreorderId = storeOrderID; som.Weight = Convert.ToDecimal(weight); som.OutStorageOrderID = ((Label)GridView1_CompanyConsign.SelectedRow.FindControl("Lab_OutStorageOrderID")).Text; lsom.Add(som); //不出库也可以发货 Response.Redirect("FAhuo.aspx?StoreOrderID=" + storeOrderID + "&Telephone=" + telephone + "&StoreID=" + storeID + "&InceptPerson=" + inceptPerson); } else if (isButton == GetTran("000339", "详细")) { string storeOrderID = ((Label)GridView1_CompanyConsign.SelectedRow.FindControl("Lab_OutStorageOrderID")).Text; Response.Redirect("ShowBillDetailsB.aspx?DocID=" + storeOrderID); } }
/// <summary> /// 合并单据 /// </summary> /// <param name="lsom"></param> /// <returns></returns> public static string SetUniteForm(List <StoreOrderModel> lsom) { bool isSucceed = true; string err = ""; string storeorderId = ""; string storeID = ""; for (int i = 0; i < lsom.Count; i++) { StoreOrderModel som = StoreOrderDAL.GetStoreOrderModel(lsom[i].StoreorderId); if (som.IsGeneOutBill == "Y") { if (storeID == "") { storeID = som.StoreId; } else { if (storeID != som.StoreId) { isSucceed = false; err = "1"; break; } } } else { isSucceed = false; err = "2"; storeorderId = lsom[i].StoreorderId; break; } } if (isSucceed) { return("Y"); } else { if (err == "1") { return("不在同一个店铺下不能合单"); } //else if (err == "2") return("订单号 : " + storeorderId + ", 没有出库"); } }
public void SetUniteConsignment(List <string> docIDs) { List <StoreOrderModel> lsom = new List <StoreOrderModel>(); for (int i = 0; i < docIDs.Count; i++) { StoreOrderModel som = CompanyConsignBLL.GetStoreOrder(docIDs[i]); lsom.Add(som); } SetConsignment(lsom, "more"); }
/// <summary> /// 我要发货,订单生成 /// </summary> /// <param name="storeId">店铺编号</param> /// <param name="orderDetails">发货单明细</param> /// <param name="storeItem">发货单信息</param> /// <returns></returns> public Boolean ApplyGoodsSubmit(StoreOrderModel storeorder, string orders) { string orderId = OrderGoodsBLL.GetNewOrderID(); int maxqishu = CommonDataBLL.GetMaxqishu(); //总金额,积分,数量,重量 decimal totalmoney = 0; decimal totalpv = 0; int totalQuantity = 0; decimal totalWeight = 0; string remark = ""; //保存合并后订单明细 IList <OrderDetailModel> orderDetails = new List <OrderDetailModel>(); //获取要合并的订单列表 IList <OrderGoodsMedel> storeorders = StoreOrderDAL.GetOrderGoodsByOrders(orders); //遍历要合并的订单列表 foreach (OrderGoodsMedel order in storeorders) { //获取要合并的订单列表明细并且进行遍历 foreach (OrderDetailModel detail in OrderDetailDAL.GetGoodsDetailModelList(order.OrderGoodsID)) { //判断是否已经有了该产品 int ct = 0; //遍历合并后的订单列表,是否有和要合并的订单重复的产品 foreach (OrderDetailModel orderdetail in orderDetails) { if (orderdetail.ProductId == detail.ProductId) { orderdetail.Quantity += detail.Quantity; ct++;//有重复的累加 } } //没有重复添加新的明细 if (ct == 0) { //生成一条订单明细 OrderDetailModel detailNew = new OrderDetailModel(); detailNew.StoreorderId = orderId; detailNew.ProductId = detail.ProductId; detailNew.Quantity = detail.Quantity; detailNew.Price = detail.Price; detailNew.Pv = detail.Pv; detailNew.StoreId = detail.StoreId; detailNew.ProductName = detail.ProductName; detailNew.ExpectNum = maxqishu; //添加订单明细,到订单明细列表 orderDetails.Add(detailNew); } } //累加总金额,总积分,数量 totalmoney += order.TotalMoney; totalpv += order.TotalPv; totalQuantity += order.GoodsQuantity; totalWeight += order.Weight; remark += order.OrderGoodsID + ";"; } //保存合并后订单 StoreOrderModel storeItem = new StoreOrderModel(); storeItem.StoreId = storeorder.StoreId; //店铺ID storeItem.StoreorderId = orderId; //订单号 storeItem.TotalMoney = totalmoney; //订单总金额 storeItem.TotalPv = totalpv; //订单总积分 storeItem.InceptAddress = storeorder.InceptAddress; //收货人地址 storeItem.InceptPerson = storeorder.InceptPerson; //收货人姓名 storeItem.PostalCode = storeorder.PostalCode; //收货人邮编 storeItem.Telephone = storeorder.Telephone; //收货人电话 storeItem.OrderDatetime = DateTime.Now.ToUniversalTime(); //订单时间 storeItem.ExpectNum = CommonDataBLL.GetMaxqishu(); //获取期数 storeItem.TotalCommision = 0; //手续费 storeItem.GoodsQuantity = totalQuantity; //货物件数 storeItem.Carriage = 0; //运费 storeItem.Weight = totalWeight; //重量 storeItem.City.Country = storeorder.City.Country; //国家 storeItem.City.Province = storeorder.City.Province; //省份 storeItem.City.City = storeorder.City.City; //城市 storeItem.City.Xian = storeorder.City.Xian; storeItem.IscheckOut = "Y"; //是否支付 storeItem.IsAuditing = "Y"; storeItem.SendWay = storeorder.SendWay; storeItem.OperateIP = System.Web.HttpContext.Current.Request.UserHostAddress; //用户IP storeItem.Description = remark; //描述 storeItem.ConsignmentDatetime = DateTime.Now.ToUniversalTime(); //申请发货日期 storeItem.OrderType = storeorder.OrderType; using (SqlConnection conn = new SqlConnection(DBHelper.connString)) { conn.Open(); SqlTransaction tr = conn.BeginTransaction();//开启事务 try { //插入订单 if (new StoreOrderDAL().AddStoreOrder(storeItem, tr)) { //DBHelper.ExecuteNonQuery(tr, "insert into ApplygoodsTb select '" + storeItem.Description + "',1"); //订单表插入成功插入明细表 foreach (OrderDetailModel orderDetailItem in orderDetails) { if (!OrderDetailDAL.AddOrderDetail(tr, orderDetailItem, storeItem.StoreorderId)) { tr.Rollback(); return(false); } } //修改库存信息 foreach (OrderDetailModel orderDetailItem in orderDetails) { if (!StockDAL.UpdStockSendTotalNumber(tr, storeItem.StoreId, orderDetailItem.ProductId, orderDetailItem.Quantity)) { tr.Rollback(); return(false); } } //更新订单发货状态 StoreOrderDAL.UpdateDeliveryFlag(orders, orderId); //if (storeItem.SendType == 2) //{ // string strSql = @"Update memberorder Set sendType = 2 Where OrderId in (Select OutStorageOrderID from OrderGoods where storeorderid in (" + orders + "))"; // DBHelper.ExecuteNonQuery(tr, strSql, null, CommandType.Text); //} tr.Commit();//插入订单信息完成 } else {//订单插入失败回滚数据 tr.Rollback(); return(false); } } catch { //订单插入失败回滚数据 tr.Rollback(); return(false); } finally { conn.Close(); } } return(true); }
protected void gvStoreOrder_RowCommand(object sender, GridViewCommandEventArgs e) { string[] args = e.CommandArgument.ToString().Split(':'); string orderId = args[0]; string storeId = args[1]; string isCheckOut = args[2]; double totalMoney = Convert.ToDouble(args[3]); string payWay = args[4]; if (e.CommandName == "OK") { //判断选中正确否(判断金额) int count = 0; int paycount = 0; IList <StoreOrderModel> orders = new List <StoreOrderModel>(); string[] storeMoney = CheckOutOrdersBLL.GetStoreTotalOrderGoodsMoney(storeId); double ordermoney = double.Parse(storeMoney[0]); //订货款 double turnmonty = double.Parse(storeMoney[1]); //周转款 StoreOrderModel order = new StoreOrderModel(); order.StoreorderId = orderId; if (payWay == "0") { order.OrderType = 0; if (totalMoney > ordermoney) { msg = "<script>alert('" + GetTran("000957", "订货款不足!") + "');</script>"; return; } } else if (payWay == "1") { order.OrderType = 1; if (totalMoney > turnmonty) { msg = "<script>alert('" + GetTran("000965", "周转款不足!") + "');</script>"; return; } } order.TotalMoney = Convert.ToDecimal(totalMoney); orders.Add(order); //if (!CheckOutOrdersBLL.CheckLogicProductInventory(orders)) //{ // msg = "<script>alert('" + GetTran("000974", "公司库存不足,请通知公司及时进货!") + "')</script>"; // return; //} if (AddOrderDataDAL.OrderPayment(storeId, orderId, CommonDataBLL.OperateIP, 2, 1, 10, "管理员", "", 2, -1, 1, 1, "", 0, "") == 0) { msg = "<script>alert('" + GetTran("000978", "支付成功!") + "')</script>"; Bind(); } else { msg = "<script>alert('" + GetTran("000979", "支付失败请重新支付!") + "')</script>"; } //if (payWay == "3")//支付宝支付 //{ // msg = "<script>window.open('../Store/payment/default.aspx?zongMoney=" + totalMoney + "&TotalMoney=" + totalMoney + "&TotalComm=0 &OrderID =" + orderId + "&OnlineOrder=1');</script>"; // return; //} //else //{ //} } else if (e.CommandName == "D") { //验证订单 if (OrdersBrowseBLL.GetOrderIsExist(orderId)) { msg = "<script>alert('" + GetTran("005993", "对不起,订单已被删除!") + "');</script>"; Bind(); return; } else if (OrdersBrowseBLL.GetOrderCheckState(orderId)) { msg = "<script>alert('" + GetTran("005994", "对不起,该订单已支付,不能删除!") + "');</script>"; Bind(); return; } if (OrdersBrowseBLL.DelStoreOrderItem(orderId)) { msg = "<script>alert('" + GetTran("000749", "删除成功!") + "');</script>"; } else { msg = "<script>alert('" + GetTran("000417", "删除失败!") + "');</script>"; } Bind(); } }
/// <summary> /// 付款确定按钮 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void OKButtonID_Click(object sender, EventArgs e) { //判断选中正确否(判断金额) int count = 0; int paycount = 0; IList <StoreOrderModel> orders = new List <StoreOrderModel>(); string[] storeMoney = CheckOutOrdersBLL.GetStoreTotalOrderGoodsMoney(GetStoreID()); double ordermoney = double.Parse(storeMoney[0]); //订货款 double turnmonty = double.Parse(storeMoney[1]); //周转款 double ordernum = 0; double trunnum = 0; for (int i = 0; i < this.gvStoreOrder.Rows.Count; i++) { CheckBox chb = this.gvStoreOrder.Rows[i].Controls[0].FindControl("ckSell") as CheckBox; if (chb.Checked) { StoreOrderModel order = new StoreOrderModel(); order.StoreorderId = ((HtmlInputHidden)gvStoreOrder.Rows[i].FindControl("StoreOrderID")).Value; double totalMoney = double.Parse(((HtmlInputHidden)gvStoreOrder.Rows[i].FindControl("HidTotalMoney")).Value); if ((gvStoreOrder.Rows[i].FindControl("lblType") as Label).Text == GetTran("000274", "报单款订货")) { order.OrderType = 0; ordernum += totalMoney; if (ordernum > ordermoney) { msg = "<script>alert('" + GetTran("000957", "报单款不足!") + "');</script>"; return; } } else if ((gvStoreOrder.Rows[i].FindControl("lblType") as Label).Text == GetTran("000277", "周转款订货")) { order.OrderType = 1; trunnum += ordernum += totalMoney; if (trunnum > turnmonty) { msg = "<script>alert('" + GetTran("000965", "周转款不足!") + "');</script>"; return; } } else if ((gvStoreOrder.Rows[i].FindControl("lblType") as Label).Text == GetTran("000968", "支付宝")) { paycount++; } order.TotalMoney = Convert.ToDecimal(totalMoney); orders.Add(order); count++; } } if (count == 0) { msg = "<script>alert('" + GetTran("000970", "请选择要支付的订单进行支付!") + "');</script>"; return; } if (paycount > 0 && count != 1)//支付宝支付 { msg = "<script>alert('" + GetTran("000972", "支付宝支付订单一次只能支付一张订单!") + "');</script>"; return; } if (!CheckOutOrdersBLL.CheckLogicProductInventory(orders)) { msg = "<script>alert('" + GetTran("000974", "公司库存不足,请通知公司及时进货!") + "')</script>"; return; } if (paycount == 1)//支付宝支付 { foreach (StoreOrderModel so in orders) { msg = "<script>window.open('../Store/payment/default.aspx?zongMoney=" + so.TotalMoney + "&TotalMoney=" + so.TotalMoney + "&TotalComm=0 &OrderID =" + so.StoreorderId + "&OnlineOrder=1');</script>"; } return; } else { if (new CheckOutOrdersBLL().CheckOutStoreOrder(orders, GetStoreID())) { msg = "<script>alert('" + GetTran("000978", "支付成功!") + "')</script>"; Bind(); } else { msg = "<script>alert('" + GetTran("000979", "支付失败请重新支付!") + "')</script>"; } } }
protected void Button1_Click(object sender, EventArgs e) { if (DropDownList2.SelectedItem == null || DropDownList1.SelectedItem == null) { ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('" + GetTran("001301", "请选择创库和库位!") + "')</script>"); this.Button1.Text = GetTran("001290", "确定出库"); } else { string err = ""; string PrepareProduct_PrepareTime = DateTime.Now.ToString(); string PrepareProduct_OperateNum = Session["Company"].ToString(); string PrepareProduct_OperateIP = Request.UserHostAddress; string outStorageOrderID = ""; string GroupCK = ""; string[] arrstoreOrderID = Request.QueryString["StoreOrderID"].ToString().Replace("'", "").Replace("-", "").Replace("/*", "").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); for (int k = 0; k < arrstoreOrderID.Length; k++) { outStorageOrderID = "CK" + OrderGoodsBLL.GetNewOrderID(); GroupCK = GroupCK + outStorageOrderID + ","; StoreOrderModel som = BillOutOrderBLL.GetStoreOrderModel_II(arrstoreOrderID[k]); List <OrderDetailModel> l_odm = BillOutOrderBLL.GetOrderDetailModelList(arrstoreOrderID[k]); string sql = "select isnull(m.number,'') number,s.storeid,s.sendway from storeorder s left join ordergoods o on s.storeorderid=o.fahuoorder left join memberorder m on o.memberorderid=m.orderid where s.storeorderid='" + arrstoreOrderID[k] + "'"; DataTable dt = DBHelper.ExecuteDataTable(sql); string sendway = dt.Rows[0]["sendway"].ToString(); string number = dt.Rows[0]["number"].ToString(); string storeid = dt.Rows[0]["storeid"].ToString(); InventoryDocModel idm = new InventoryDocModel(); //idm.DocAuditTime = som.AuditingDate; idm.DocTypeID = Convert.ToInt32(DAL.DBHelper.ExecuteScalar("select DocTypeId from dbo.DocTypeTable where DocTypeCode='CK'")); //出库单 idm.DocMaker = TextBox4.Text; if (sendway == "1") { idm.Client = number; } else { idm.Client = storeid; } idm.DepotSeatID = Convert.ToInt32(DropDownList2.SelectedItem.Value); idm.WareHouseID = Convert.ToInt32(DropDownList1.SelectedItem.Value); idm.ExpectNum = som.ExpectNum; idm.Note = TextBox6.Text.Trim(); idm.StateFlag = 1; idm.CloseFlag = 0; idm.OperationPerson = "";//业务员 idm.OriginalDocID = arrstoreOrderID[k]; idm.Address = som.InceptAddress; idm.Storeorderid = arrstoreOrderID[k]; List <InventoryDocDetailsModel> l_ddm = new List <InventoryDocDetailsModel>(); double totalmoney = 0; double totalpv = 0; foreach (RepeaterItem item in Repeater1.Items) { HiddenField HF = (HiddenField)item.FindControl("HF"); Label lblPrice = (Label)item.FindControl("lblPrice"); Label lblPV = (Label)item.FindControl("lblPV"); Label txtCount1 = (Label)item.FindControl("txtCount1"); TextBox txtCount = (TextBox)item.FindControl("txtCount"); int count = 0; int.TryParse(txtCount.Text, out count); if (count > 0) { if (Convert.ToInt32(txtCount.Text) > Convert.ToInt32(txtCount1.Text)) { ScriptManager.RegisterStartupScript(this, GetType(), "msg", "alert('" + GetTran("007716", "出库数量不能大于剩余数量!") + "');", true); this.Button1.Text = GetTran("001290", "确定出库"); return; } if (Convert.ToInt32(DAL.DBHelper.ExecuteScalar("select COUNT(0) from OrderDetail where StoreOrderID='" + arrstoreOrderID[k] + "' and ProductID=" + Convert.ToInt32(HF.Value) + " and (Quantity-OutBillQuantity)<" + count)) > 0) { ScriptManager.RegisterStartupScript(this, GetType(), "msg", "alert('" + GetTran("007716", "出库数量不能大于剩余数量!") + "');", true); this.Button1.Text = GetTran("001290", "确定出库"); loadData(); return; } InventoryDocDetailsModel ddm = new InventoryDocDetailsModel(); ddm.ProductID = Convert.ToInt32(HF.Value); ddm.ProductQuantity = Convert.ToInt32(txtCount.Text); ddm.UnitPrice = Convert.ToDouble(lblPrice.Text); ddm.PV = Convert.ToDouble(lblPV.Text); ddm.ProductTotal = Convert.ToDouble(txtCount.Text) * Convert.ToDouble(lblPrice.Text); ddm.MeasureUnit = ""; totalmoney += Convert.ToDouble(txtCount.Text) * Convert.ToDouble(lblPrice.Text); totalpv += Convert.ToDouble(txtCount.Text) * Convert.ToDouble(lblPV.Text); l_ddm.Add(ddm); } } idm.TotalMoney = totalmoney; idm.TotalPV = totalpv; if (l_ddm.Count <= 0) { string getcount = " select sum(quantity-outbillquantity) from orderdetail where storeorderid='" + arrstoreOrderID[k] + "'"; object ckk = DBHelper.ExecuteScalar(getcount, CommandType.Text); if (ckk.ToString() == null || ckk.ToString() == "") { ScriptManager.RegisterStartupScript(this, GetType(), "msg", "alert('没有商品暂时没法出库!')", true); } else { if (int.Parse(ckk.ToString()) <= 0) { DBHelper.ExecuteNonQuery("update storeorder set IsGeneOutBill='A' where storeorderid='" + arrstoreOrderID[k] + "'"); } } ScriptManager.RegisterStartupScript(this, GetType(), "msg", "alert('" + GetTran("007721", "请输入出库数量!") + "')", true); this.Button1.Text = GetTran("001290", "确定出库"); return; } string rt = BillOutOrderBLL.OutOrder(arrstoreOrderID[k], outStorageOrderID, idm, l_ddm); if (rt == "1") { int hs = 0; string getcount = " select sum(quantity-outbillquantity) from orderdetail where storeorderid='" + arrstoreOrderID[k] + "'"; if (int.Parse(DBHelper.ExecuteScalar(getcount, CommandType.Text).ToString()) <= 0) { hs = DBHelper.ExecuteNonQuery("update storeorder set IsGeneOutBill='A' where storeorderid='" + arrstoreOrderID[k] + "'"); } else { hs = DBHelper.ExecuteNonQuery("update storeorder set IsGeneOutBill='Y' where storeorderid='" + arrstoreOrderID[k] + "'"); } if (hs == 1) { //PrepareProduct_DocIDs = PrepareProduct_DocIDs + arrstoreOrderID[k] + ","; //PrepareProduct_TotalMoney = PrepareProduct_TotalMoney + Convert.ToDouble(idm.TotalMoney); //PrepareProduct_TotalPv = PrepareProduct_TotalPv + Convert.ToDouble(idm.TotalPV); } else { err = err + GetTran("000079", "订单号:") + arrstoreOrderID[k] + GetTran("007722", " 的产品出库失败!"); } } else if (rt == "0") { err = err + GetTran("000079", "订单号:") + arrstoreOrderID[k] + GetTran("007723", " 的产品库存不够!"); } else if (rt == "-6") { err = err + GetTran("000079", "订单号:") + arrstoreOrderID[k] + GetTran("007724", " 的产品仓库库位上没有货!"); } else if (rt == "-5") { err = err + GetTran("000079", "订单号:") + arrstoreOrderID[k] + GetTran("007725", " 的产品更新出库数量错误!"); } else if (rt == "-88") { err = err + GetTran("000079", "订单号:") + arrstoreOrderID[k] + GetTran("007726", " 的产品已经出库!"); } else { err = err + GetTran("000079", "订单号:") + arrstoreOrderID[k] + GetTran("007727", " 的产品出库失败!"); } } if (err == "") { ClientScript.RegisterStartupScript(this.GetType(), "", "<script>if(window.confirm('" + GetTran("001297", "生成的出库单号为:") + outStorageOrderID + GetTran("001298", ",您要打印此出库单吗?") + "')) window.open('docPrint.aspx?docID=" + outStorageOrderID + "');window.location.href='BillOutOrder.aspx';</script>"); } else { ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('" + err + "');window.location.href='BillOutOrder.aspx'</script>"); } this.Button1.Text = GetTran("001290", "确定出库"); } }
/// <summary> /// 修改订货信息表数据 /// </summary> /// <returns></returns> public Boolean UpdStoreOrderItem(StoreOrderModel updItem) { return(true); }