private void BindDropDown() { if ((int)ViewState["ID"] != 0) { ORD_ApplyPublish m = new ORD_ApplyPublishBLL((int)ViewState["ID"]).Model; ViewState["Type"] = m.Type; } if ((int)ViewState["Type"] == 1) { ddl_Brand.DataSource = PDT_BrandBLL.GetModelList("IsOpponent IN (1,9)"); } else { ddl_Brand.DataSource = PDT_BrandBLL.GetModelList("IsOpponent='9'"); } ddl_Brand.DataBind(); ddl_Brand.Items.Insert(0, new ListItem("所有品牌", "0")); ddl_Brand.SelectedValue = "0"; rbl_Brand_SelectedIndexChanged(null, null); DropDownList ddl_ProductBrand = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_ProductBrand"); if (ddl_ProductBrand != null) { ddl_ProductBrand.DataTextField = "Name"; ddl_ProductBrand.DataValueField = "ID"; ddl_ProductBrand.DataSource = PDT_BrandBLL.GetModelList("(IsOpponent IN (1) OR ID IN (4,5,99))"); ddl_ProductBrand.DataBind(); ddl_ProductBrand.Items.Insert(0, new ListItem("请选择", "0")); ddl_ProductBrand.SelectedValue = "0"; } }
protected void bt_In_Click(object sender, EventArgs e) { Save(); foreach (GridViewRow row in gv_NotInList.Rows) { CheckBox cb_check = (CheckBox)row.FindControl("cb_Check"); if (cb_check.Checked) { ORD_ApplyPublishBLL _bll; if ((int)ViewState["ID"] != 0) { _bll = new ORD_ApplyPublishBLL((int)ViewState["ID"]); } else { return; } ORD_ApplyPublishDetail pd = new ORD_ApplyPublishDetail(); pd.ID = (int)ViewState["ID"]; pd.Product = int.Parse(gv_NotInList.DataKeys[row.RowIndex]["ID"].ToString()); pd.Price = new PDT_ProductBLL(pd.Product).Model.FactoryPrice; _bll.AddDetail(pd); } } Response.Redirect("PublishDetail.aspx?ID=" + ViewState["ID"].ToString()); }
protected void ddl_Brand_SelectedIndexChanged(object sender, EventArgs e) { if (tr_OrganizeCity.SelectValue != "0") { DataTable dt = TreeTableBLL.GetFullPath("MCS_SYS.dbo.Addr_OrganizeCity", "ID", "SuperID", int.Parse(tr_OrganizeCity.SelectValue)); string citys = ""; for (int i = 0; i < dt.Rows.Count; i++) { citys += dt.Rows[i]["ID"].ToString(); if (i < dt.Rows.Count - 1) { citys += ","; } } string condition = "ToOrganizeCity IN (" + citys + ") AND GETDATE() BETWEEN BeginTime AND DateAdd(day,1,EndTime) AND State=2 AND Type=" + rbl_Type.SelectedValue + " AND MCS_SYS.dbo.UF_Spilt(ExtPropertys,'|',1)=" + ddl_Brand.SelectedValue; IList <ORD_ApplyPublish> list = ORD_ApplyPublishBLL.GetModelList(condition); ddl_Publish.DataTextField = "Topic"; ddl_Publish.DataValueField = "ID"; ddl_Publish.DataSource = list; ddl_Publish.DataBind(); if (list.Count == 0) { ddl_Publish.Items.Insert(0, new ListItem("当前无可以申请的产品目录", "0")); bt_Confirm.Enabled = false; } else { bt_Confirm.Enabled = true; } } }
protected void bt_Copy_Click(object sender, EventArgs e) { if ((int)ViewState["ID"] > 0) { int id = new ORD_ApplyPublishBLL((int)ViewState["ID"]).Copy((int)Session["UserID"]); Response.Redirect("PublishDetail.aspx?ID=" + id.ToString()); } }
public ORD_OrderCartBLL(int publish, int organizecity, int ordertype, int brand, int issepecial, int client) { ORD_ApplyPublishBLL p = new ORD_ApplyPublishBLL(publish); _type = p.Model.Type; _brand = brand; _isspecial = issepecial; _ordertype = ordertype; _publish = publish; _organizecity = organizecity; _client = client; _items = new List<ORD_OrderCart>(); }
protected string GetPublishDetailRemark(int product) { ORD_ApplyPublishBLL publish = new ORD_ApplyPublishBLL((int)ViewState["Publish"]); ORD_ApplyPublishDetail detail = publish.Items.FirstOrDefault(p => p.Product == product); if (detail != null) { return(detail["Remark"]); } else { return(""); } }
private int _type = 1; //默认为成品 #endregion Fields #region Constructors public ORD_OrderCartBLL(int publish, int organizecity, int client, int month,int addressid) { _organizecity = organizecity; _client = client; _accountmonth = month; _addressid = addressid; if (publish != 0) { _publish = publish; ORD_ApplyPublishBLL p = new ORD_ApplyPublishBLL(publish); _type = p.Model.Type; _giftfeetype = p.Model.FeeType; int.TryParse(p.Model["ProductBrand"], out _brand); int.TryParse(p.Model["GiftClassify"], out _giftclassify); } _items = new List<ORD_OrderCart>(); }
private void LoadGiftApplyAmount() { int month = 0; int client = 0; int.TryParse(ddl_AccountMonth.SelectedValue, out month); int.TryParse(select_Client.SelectValue, out client); if (month > 0 && client > 0) { IList <ORD_GiftApplyAmount> lists = ORD_GiftApplyAmountBLL.GetModelList(string.Format("AccountMonth={0} AND Client={1}", month, client)); if (lists.Count == 0) { ORD_GiftApplyAmountBLL.ComputAvailableAmount(month, client); } int pulishid = 0; int brand = 0; int giftclassify = 0; int.TryParse(ddl_Publish.SelectedValue, out pulishid); if (pulishid > 0) { ORD_ApplyPublishBLL publish = new ORD_ApplyPublishBLL(pulishid); int.TryParse(publish.Model["ProductBrand"], out brand); int.TryParse(publish.Model["GiftClassify"], out giftclassify); lists = ORD_GiftApplyAmountBLL.GetModelList(string.Format("AccountMonth={0} AND Client={1} AND Brand={2} AND Classify={3}", month, client, brand, giftclassify)); if (lists.Count > 0) { lb_GiftApplyAmount.Text = string.Format("销量:{0:0.#元},赠品费率:{1:0.###%},赠品总额度:{2:0.#元}, 赠品额度余额:{3:0.#元}", lists[0].SalesVolume, lists[0].FeeRate, lists[0].AvailableAmount + lists[0].PreBalance - lists[0].DeductibleAmount, lists[0].BalanceAmount); } else { string[] nolimitbrand = Addr_OrganizeCityParamBLL.GetValueByType(1, 24).Replace(" ", "").Split(new char[] { ',', ',', ';', ';' }); lb_GiftApplyAmount.Text = nolimitbrand.Contains(publish.Model["ProductBrand"])?"本品类不限制申请额度":"上月无销量!"; } } } }
protected void bt_Publish_Click(object sender, EventArgs e) { Save(); if ((int)ViewState["ID"] > 0) { ORD_ApplyPublishBLL _bll = new ORD_ApplyPublishBLL((int)ViewState["ID"]); #region 赠品发布有效性判断 if (_bll.Model.Type == 2) { if (_bll.Model.FeeType == 0) { MessageBox.Show(this, "请指定正确的费用类型!"); return; } if (pl_ApplyPublish.FindControl("ORD_ApplyPublish_ProductBrand") != null && _bll.Model["ProductBrand"] != null) { if (_bll.Model["ProductBrand"] == "" || _bll.Model["ProductBrand"] == "0") { MessageBox.Show(this, "请指定赠品请购的所属品牌!"); return; } } if (pl_ApplyPublish.FindControl("ORD_ApplyPublish_GiftClassify") != null && _bll.Model["GiftClassify"] != null) { if (_bll.Model["GiftClassify"] == "" || _bll.Model["GiftClassify"] == "0") { MessageBox.Show(this, "请指定赠品请购的赠品费用类别!"); return; } } } #endregion _bll.Publish(2, (int)Session["UserID"]); Response.Redirect("PublishList.aspx"); } }
private void BindPublish() { if (tr_OrganizeCity.SelectValue != "0") { DataTable dt_publish = ORD_ApplyPublishBLL.GetbyOrganizeCity(int.Parse(tr_OrganizeCity.SelectValue), int.Parse(rbl_Type.SelectedValue)); ddl_Publish.DataSource = dt_publish; ddl_Publish.DataBind(); if (dt_publish.Rows.Count == 0) { ddl_Publish.Items.Insert(0, new ListItem("当前无可以申请的产品目录", "0")); bt_Confirm.Enabled = false; } else { bt_Confirm.Enabled = true; } } }
protected void bt_Out_Click(object sender, EventArgs e) { foreach (GridViewRow row in gv_List.Rows) { CheckBox cb_check = (CheckBox)row.FindControl("cb_Check"); if (cb_check.Checked) { ORD_ApplyPublishBLL _bll; if ((int)ViewState["ID"] != 0) { _bll = new ORD_ApplyPublishBLL((int)ViewState["ID"]); } else { return; } _bll.DeleteDetail(int.Parse(gv_List.DataKeys[row.RowIndex]["ID"].ToString())); } } Response.Redirect("PublishDetail.aspx?ID=" + ViewState["ID"].ToString()); }
protected void bt_In_Click(object sender, EventArgs e) { Save(); foreach (GridViewRow row in gv_NotInList.Rows) { CheckBox cb_check = (CheckBox)row.FindControl("cb_Check"); if (cb_check.Checked) { ORD_ApplyPublishBLL _bll; if ((int)ViewState["ID"] != 0) _bll = new ORD_ApplyPublishBLL((int)ViewState["ID"]); else return; ORD_ApplyPublishDetail pd = new ORD_ApplyPublishDetail(); pd.ID = (int)ViewState["ID"]; pd.Product = int.Parse(gv_NotInList.DataKeys[row.RowIndex]["ID"].ToString()); pd.Price = new PDT_ProductBLL(pd.Product).Model.FactoryPrice; _bll.AddDetail(pd); } } Response.Redirect("PublishDetail.aspx?ID=" + ViewState["ID"].ToString()); }
protected void bt_Submit_Click(object sender, EventArgs e) { if (!Save()) { return; } if ((int)ViewState["ID"] != 0) { ORD_OrderApplyBLL bll = new ORD_OrderApplyBLL((int)ViewState["ID"]); Session["SubmitOrderApplyID"] = (int)ViewState["ID"]; if (bll.Model.State > 1) { Response.Redirect("OrderApplyList.aspx"); } if (bll.Items.Count == 0) { MessageBox.ShowAndRedirect(this, "对不起,定单申请明细不能为空!", "OrderApplyDetail3.aspx?ID=" + ViewState["ID"].ToString()); return; } if (bll.Model.AccountMonth < AC_AccountMonthBLL.GetCurrentMonth()) { MessageBox.Show(this, "对不起,该订单申请月份已不是当前月份,已不可提交,请删除该单后重新申请赠品!"); return; } decimal totalcost = bll.Items.Sum(m => m.BookQuantity * m.Price); if (bll.Model.Type == 2) { //促销品申请 #region 判断预算额度余额是否够申请 ORD_ApplyPublish publish = new ORD_ApplyPublishBLL(bll.Model.PublishID).Model; int productbrand = 0, giftclassify = 0; int.TryParse(publish["ProductBrand"], out productbrand); int.TryParse(publish["GiftClassify"], out giftclassify); decimal _budgetbalance = FNA_BudgetBLL.GetUsableAmount(bll.Model.AccountMonth, bll.Model.OrganizeCity, publish.FeeType); decimal _productbalance = ORD_GiftApplyAmountBLL.GetBalanceAmount(bll.Model.AccountMonth, bll.Model.Client, productbrand, giftclassify); decimal _balance = _productbalance; //2012-3-27 暂时限定赠品额度,不限定预算 //decimal _balance = (_budgetbalance > _productbalance ? _productbalance : _budgetbalance); string[] nolimitbrand = Addr_OrganizeCityParamBLL.GetValueByType(1, 24).Replace(" ", "").Split(new char[] { ',', ',', ';', ';' }); if (_balance < totalcost && !nolimitbrand.Contains(publish["ProductBrand"])) { if (bll.Model["GiftClassify"] == "2" && _balance > 0 && ORD_OrderApplyBLL.GetModelList("Client=" + bll.Model.Client.ToString() + " AND AccountMonth=" + bll.Model.AccountMonth.ToString() + " AND State IN (2,3) AND MCS_SYS.dbo.UF_Spilt(ExtPropertys,'|',5)=" + bll.Model["ProductBrand"] + " AND MCS_SYS.dbo.UF_Spilt(ExtPropertys,'|',7)=" + bll.Model["GiftClassify"]).Count == 0) { //判断是否可以申请最低金额赠品1件 decimal MinApplyAmount = 0, MaxApplyAmount = 0; ORD_ApplyPublishBLL _publishbll = new ORD_ApplyPublishBLL(bll.Model.PublishID); _publishbll.GetMinApplyAmount(out MinApplyAmount, out MaxApplyAmount); if (_balance > 0 && _balance < MinApplyAmount) { if (bll.Items.Count > 1) { MessageBox.Show(this, "对不起,您当前的可申请余额不足,仅能申请最多1件赠品"); return; } else { int applyproduct = bll.Items[0].Product; ORD_ApplyPublishDetail applydetail = _publishbll.Items.FirstOrDefault(p => p.Product == applyproduct); if (applydetail != null && applydetail.MinQuantity < bll.Items[0].BookQuantity) { MessageBox.Show(this, "对不起,您当前的可申请余额不足,仅能申请最多1件赠品"); return; } } } else { MessageBox.ShowAndRedirect(this, "对不起,您当前的可申请余额[" + _balance.ToString("0.##") + "]不够申请这些品项!", "OrderApplyDetail3.aspx?ID=" + ViewState["ID"].ToString()); return; } } else { MessageBox.ShowAndRedirect(this, "对不起,您当前的可申请余额[" + _balance.ToString("0.##") + "]不够申请这些品项!", "OrderApplyDetail3.aspx?ID=" + ViewState["ID"].ToString()); return; } } #endregion #region 发起工作流 NameValueCollection dataobjects = new NameValueCollection(); dataobjects.Add("ID", ViewState["ID"].ToString()); dataobjects.Add("OrganizeCity", bll.Model.OrganizeCity.ToString()); dataobjects.Add("AccountMonth", bll.Model.AccountMonth.ToString()); dataobjects.Add("FeeType", publish.FeeType.ToString()); dataobjects.Add("ProductBrand", publish["ProductBrand"]); dataobjects.Add("GiftClassify", publish["GiftClassify"]); dataobjects.Add("TotalFee", totalcost.ToString()); int TaskID = EWF_TaskBLL.NewTask("CuXiaoPin_Apply", (int)Session["UserID"], "促销品申请申请流程", "~/SubModule/Logistics/Order/OrderApplyDetail3.aspx?ID=" + ViewState["ID"].ToString() + "&Type=2", dataobjects); new EWF_TaskBLL(TaskID).Start(); #endregion bll.Submit((int)Session["UserID"], TaskID); Response.Redirect("~/SubModule/EWF/TaskDetail.aspx?TaskID=" + TaskID.ToString()); } else { //产品申请申请 bll.Submit((int)Session["UserID"], 0); Response.Redirect("OrderApplyList.aspx"); } } }
private bool Save() { ORD_OrderCartBLL cart = null; if (Session["LogisticsOrderApplyDetail"] != null) { cart = (ORD_OrderCartBLL)Session["LogisticsOrderApplyDetail"]; } if ((int)ViewState["ID"] == 0) { if (cart == null || cart.Items.Count == 0) { MessageBox.Show(this, "对不起,定单申请明细不能为空!"); return(false); } ORD_OrderApplyBLL bll = new ORD_OrderApplyBLL(); pn_OrderApply.GetData(bll.Model); #region 判断有没有填写经销商 if (bll.Model.Client == 0) { MessageBox.Show(this, "对不起,请填写申请定购的经销商!"); return(false); } #endregion #region 初始化定单字段 bll.Model.OrganizeCity = cart.OrganizeCity; bll.Model.PublishID = cart.Publish; bll.Model.AccountMonth = cart.AccountMonth; bll.Model.SheetCode = ORD_OrderApplyBLL.GenerateSheetCode(bll.Model.OrganizeCity, bll.Model.AccountMonth); //自动产生备案号 bll.Model.ApproveFlag = 2; bll.Model.State = 1; bll.Model.InsertStaff = (int)Session["UserID"]; bll.Model["AddressID"] = cart.AddressID.ToString(); bll.Model["Receiver"] = cart.Receiver.ToString(); if (cart.Publish > 0) { ORD_ApplyPublish publish = new ORD_ApplyPublishBLL(cart.Publish).Model; if (publish != null) { bll.Model["ProductBrand"] = publish["ProductBrand"]; bll.Model["GiftClassify"] = publish["GiftClassify"]; } } #endregion ViewState["ID"] = bll.Add(); #region 新增定单明细明细 foreach (ORD_OrderCart cartitem in cart.Items) { if (cartitem.BookQuantity == 0) { continue; } ORD_OrderApplyDetail m = new ORD_OrderApplyDetail(); m.ApplyID = (int)ViewState["ID"]; m.Product = cartitem.Product; m.Price = cartitem.Price; m.BookQuantity = cartitem.BookQuantity; m.AdjustQuantity = 0; m.DeliveryQuantity = 0; bll.AddDetail(m); } #endregion } else { ORD_OrderApplyBLL bll = new ORD_OrderApplyBLL((int)ViewState["ID"]); pn_OrderApply.GetData(bll.Model); bll.Model.UpdateStaff = (int)Session["UserID"]; bll.Update(); #region 修改明细 if (cart != null) { //先将现有定单中每个品项与购物中的比较 //如果购物车中没有该产品,则删除,如有且数量不同,则更新,并从购物车中移除该品项 foreach (ORD_OrderApplyDetail m in bll.Items) { ORD_OrderCart cartitem = cart.Items.FirstOrDefault(p => p.Product == m.Product); if (cartitem == null) { bll.DeleteDetail(m.ID); } else { if (cartitem.BookQuantity != m.BookQuantity) { m.BookQuantity = cartitem.BookQuantity; bll.UpdateDetail(m); } cart.RemoveProduct(m.Product); } } //新购物车中新增的品项加入定单明细中 foreach (ORD_OrderCart cartitem in cart.Items) { ORD_OrderApplyDetail m = new ORD_OrderApplyDetail(); m.ApplyID = (int)ViewState["ID"]; m.Product = cartitem.Product; m.Price = cartitem.Price; m.BookQuantity = cartitem.BookQuantity; m.AdjustQuantity = 0; m.DeliveryQuantity = 0; bll.AddDetail(m); } } #endregion } return(true); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ViewState["ID"] = Request.QueryString["ID"] == null ? 0 : int.Parse(Request.QueryString["ID"]); if ((int)ViewState["ID"] > 0) { Session["LogisticsOrderApplyID"] = null; //申请单ID Session["LogisticsOrderApplyDetail"] = null; //购物车明细 } else if (Session["LogisticsOrderApplyID"] != null) { //Session中存有申请单ID,说明是对现有申请单进行编辑 ViewState["ID"] = (int)Session["LogisticsOrderApplyID"]; } if ((int)ViewState["ID"] > 0) { BindData(); } else if (Session["LogisticsOrderApplyDetail"] != null) { #region 新增申请单 //当无申请单ID,但有购物车中有明细时,则说明是新增申请单 ORD_OrderCartBLL cart = (ORD_OrderCartBLL)Session["LogisticsOrderApplyDetail"]; if (Session["LogisticsOrderApplyID"] == null) { ViewState["Publish"] = cart.Publish; ORD_ApplyPublish publish = new ORD_ApplyPublishBLL(cart.Publish).Model; if (publish == null) { Response.Redirect("OrderApplyDetail0.aspx"); } int month = publish.AccountMonth; #region 初始化申请单详细信息控件 ORD_OrderApply apply = new ORD_OrderApply(); apply.OrganizeCity = cart.OrganizeCity; apply.AccountMonth = cart.AccountMonth; apply.Type = cart.Type; apply.Client = cart.Client; apply.PreArrivalDate = DateTime.Today.AddMonths(1); apply["ProductBrand"] = cart.Brand.ToString(); apply["GiftClassify"] = cart.GiftClassify.ToString(); apply.State = 1; apply.InsertStaff = (int)Session["UserID"]; apply.InsertTime = DateTime.Now; apply.PublishID = cart.Publish; apply["AddressID"] = cart.AddressID.ToString(); apply["Receiver"] = cart.Receiver.ToString(); pn_OrderApply.BindData(apply); #endregion if (cart.Type == 2) { //促销品申请 #region 绑定赠品申请预算信息 BindBudgetInfo(cart.OrganizeCity, cart.AccountMonth, cart.Client, cart.GiftFeeType, cart.Brand, cart.GiftClassify); tb_GiftBudgetInfo.Visible = true; #endregion } BindGrid(); bt_Finish.Visible = false; bt_Delete.Visible = false; //bt_Submit.Visible = false; } #endregion } else { if (Session["SubmitOrderApplyID"] == null) { MessageBox.ShowAndRedirect(this, "加载购物车失败,请重新选购!", "OrderApplyDetail0.aspx"); return; } else { ViewState["ID"] = (int)Session["SubmitOrderApplyID"]; BindData(); } } } #region 注册弹出窗口脚本 string script = "function PopAdjust(id){\r\n"; script += "var tempid = Math.random() * 10000; \r\n window.showModalDialog('" + Page.ResolveClientUrl("Pop_OrderApplyDetailAdjust.aspx") + "?ID=' + id + '&tempid='+tempid, window, 'dialogWidth:500px;DialogHeight=600px;status:yes;resizable=yes');}"; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "PopAdjust", script, true); #endregion }
private void BindData() { ORD_OrderApplyBLL apply = new ORD_OrderApplyBLL((int)ViewState["ID"]); if (apply.Model == null) { Response.Redirect("FeeApplyList.aspx"); } pn_OrderApply.BindData(apply.Model); ViewState["Publish"] = apply.Model.PublishID; ORD_ApplyPublish publish = new ORD_ApplyPublishBLL(apply.Model.PublishID).Model; #region 根据审批状态控制页面 if (apply.Model.Type == 2 && apply.Model.State == 1) { #region 绑定赠品申请预算信息 if (publish == null) { Response.Redirect("OrderApplyDetail0.aspx"); } int productbrand = 0, giftclassify = 0; int.TryParse(publish["ProductBrand"], out productbrand); int.TryParse(publish["GiftClassify"], out giftclassify); int giftfeetype = publish.FeeType; int month = apply.Model.AccountMonth; int city = apply.Model.OrganizeCity; int client = apply.Model.Client; BindBudgetInfo(city, month, client, giftfeetype, productbrand, giftclassify); tb_GiftBudgetInfo.Visible = true; #endregion } if (apply.Model.State != 1) { //非 未提交 状态 pn_OrderApply.SetControlsEnable(false); bt_EditCart.Visible = false; bt_Delete.Visible = false; bt_Save.Visible = false; bt_Submit.Visible = false; //可见调整数量及原因 gv_List.Columns[gv_List.Columns.Count - 4].Visible = true; //调整原因 gv_List.Columns[gv_List.Columns.Count - 5].Visible = true; //批复数量 } AC_AccountMonth endmonht = new AC_AccountMonthBLL(apply.Model.AccountMonth).Model; DateTime reapplyend; reapplyend = DateTime.Parse(endmonht.Name + ConfigHelper.GetConfigString("GiftReApplyDate")); bt_ReApply.Visible = !(DateTime.Now > reapplyend); switch (apply.Model.State) { case 1: //编辑状态 bt_Finish.Visible = false; bt_ReApply.Visible = false; break; case 2: //已提交状态,审批过程中,可以作申请数量调整 if (Request.QueryString["Decision"] != "" && Request.QueryString["Decision"] == "Y") { gv_List.Columns[gv_List.Columns.Count - 2].Visible = true; //允许调整 } bt_Finish.Visible = false; bt_ReApply.Visible = false; break; case 3: //审核已通过 case 4: //审核已通过后,终止发放(该功能暂未启用) bt_Finish.Visible = false; bt_ReApply.Visible = false; //gv_List.Columns[gv_List.Columns.Count - 1].Visible = true; //已发放数量 break; case 8: //审核不通过 bt_Finish.Visible = false; int forwarddays = ConfigHelper.GetConfigInt("GiftApplyForwardDays"); if (apply.Model.AccountMonth < AC_AccountMonthBLL.GetMonthByDate(DateTime.Now.AddDays(forwarddays))) { bt_ReApply.Visible = false; } break; default: break; } #endregion BindGrid(); }
private void BindData() { ORD_OrderCartBLL cart = (ORD_OrderCartBLL)Session["LogisticsOrderApplyDetail"]; ORD_ApplyPublishBLL publish = new ORD_ApplyPublishBLL(cart.Publish); if (publish == null) { Response.Redirect("OrderApplyDetail0.aspx"); } ViewState["Publish"] = cart.Publish; pl_ApplyPublish.BindData(publish.Model); IList <ORD_ApplyPublishDetail> productlists; if (cart.Type == 1) { #region 成品取客户价表 productlists = new List <ORD_ApplyPublishDetail>(); IList <PDT_ProductPrice> pricelists = PDT_ProductPriceBLL.GetModelList ("GETDATE() BETWEEN BeginDate AND EndDate AND Client=" + cart.Client.ToString()); if (pricelists.Count == 0) { MessageBox.ShowAndRedirect(this, "对不起,该客户没有生效的价表,不可申请产品!", "OrderApplyDetail0.aspx"); return; } PDT_ProductPriceBLL pricebll = new PDT_ProductPriceBLL(pricelists[0].ID); foreach (ORD_ApplyPublishDetail item in publish.Items) { PDT_ProductBLL _bll = new PDT_ProductBLL(item.Product); if (new PDT_BrandBLL(_bll.Model.Brand).Model.IsOpponent == "1") { PDT_ProductPrice_Detail priceitem = pricebll.Items.FirstOrDefault(p => p.Product == item.Product); if (priceitem == null) { continue; } item.Price = priceitem.BuyingPrice; } else { item.Price = _bll.Model.FactoryPrice; } productlists.Add(item); } #endregion } else { #region 绑定赠品申请预算信息 BindBudgetInfo(cart.OrganizeCity, cart.AccountMonth, cart.Client, cart.GiftFeeType, cart.Brand, cart.GiftClassify, cart.Receiver); tb_GiftBudgetInfo.Visible = true; #endregion productlists = publish.Items; } ViewState["PublishDetails"] = productlists; gv_List.PageIndex = 0; BindGrid(); lb_CartCount.Text = cart.Items.Count.ToString(); }
protected string GetPublishDetailRemark(int product) { ORD_ApplyPublishBLL publish = new ORD_ApplyPublishBLL((int)ViewState["Publish"]); ORD_ApplyPublishDetail detail = publish.Items.FirstOrDefault(p => p.Product == product); if (detail != null) return detail["Remark"]; else return ""; }
private bool Save() { ORD_ApplyPublishBLL _bll; if ((int)ViewState["ID"] != 0) { _bll = new ORD_ApplyPublishBLL((int)ViewState["ID"]); } else { _bll = new ORD_ApplyPublishBLL(); } pl_ApplyPublish.GetData(_bll.Model); #region 判断有效性 if (_bll.Model.Type == 2) { if (_bll.Model["ProductBrand"] == "0") { MessageBox.Show(this, "请选择【品牌】!"); return(false); } if (_bll.Model["GiftClassify"] == "0") { MessageBox.Show(this, "请选择【赠品费用类别】!"); return(false); } } #endregion #region 组织主题 if (_bll.Model.Topic == "") { DropDownList ddl_Type = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_Type"); if (ddl_Type != null) { _bll.Model.Topic += ddl_Type.SelectedItem.Text + " "; } DropDownList ddl_AccountMonth = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_AccountMonth"); if (ddl_AccountMonth != null) { _bll.Model.Topic += ddl_AccountMonth.SelectedItem.Text.Replace('-', '年') + "月 "; } DropDownList ddl_ProductBrand = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_ProductBrand"); if (ddl_ProductBrand != null) { _bll.Model.Topic += ddl_ProductBrand.SelectedItem.Text + " "; } DropDownList ddl_GiftClassify = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_GiftClassify"); if (ddl_GiftClassify != null) { _bll.Model.Topic += ddl_GiftClassify.SelectedItem.Text + " "; } } #endregion if ((int)ViewState["ID"] != 0) { if (_bll.Model.Type == 2 && _bll.Model.FeeType == 0) { //赠品所属费用类型 _bll.Model.FeeType = ConfigHelper.GetConfigInt("GiftFeeType"); } _bll.Model.UpdateStaff = int.Parse(Session["UserID"].ToString()); _bll.Update(); } else { #region 判断相同品牌的申请当月是否已存在 string condition = string.Format(@"AccountMonth={0} AND Type={1} AND ToOrganizeCity={2} AND MCS_SYS.dbo.UF_Spilt2('MCS_Logistics.dbo.ORD_ApplyPublish',ExtPropertys,'ProductBrand')='{3}' AND MCS_SYS.dbo.UF_Spilt2('MCS_Logistics.dbo.ORD_ApplyPublish',ExtPropertys,'GiftClassify')='{4}' ", _bll.Model.AccountMonth, _bll.Model.Type, _bll.Model.ToOrganizeCity, _bll.Model["ProductBrand"], _bll.Model["GiftClassify"]); if (ORD_ApplyPublishBLL.GetModelList(condition).Count > 0) { MessageBox.Show(this, "对不起,相同品牌相同类别的申请目录已发布了,请勿重复发布!"); return(false); } #endregion _bll.Model.State = 1; _bll.Model.ApproveFlag = 2; _bll.Model.InsertStaff = (int)Session["UserID"]; _bll.Add(); ViewState["ID"] = _bll.Model.ID; } #region 修改明细 foreach (GridViewRow row in gv_List.Rows) { ORD_ApplyPublishDetail item = new ORD_ApplyPublishDetail(); item.PublishID = _bll.Model.ID; item.ID = int.Parse(gv_List.DataKeys[row.RowIndex]["ID"].ToString()); item.Product = int.Parse(gv_List.DataKeys[row.RowIndex]["Product"].ToString()); PDT_Product p = new PDT_ProductBLL(item.Product).Model; item.Price = p.FactoryPrice; if (row.FindControl("tbx_AvailableQuantity_T") != null) { item.AvailableQuantity = int.Parse(((TextBox)row.FindControl("tbx_AvailableQuantity_T")).Text) * p.ConvertFactor; } if (row.FindControl("tbx_MinQuantity_T") != null) { item.MinQuantity = int.Parse(((TextBox)row.FindControl("tbx_MinQuantity_T")).Text) * p.ConvertFactor; } if (row.FindControl("tbx_MaxQuantity_T") != null) { item.MaxQuantity = int.Parse(((TextBox)row.FindControl("tbx_MaxQuantity_T")).Text) * p.ConvertFactor; } if (row.FindControl("tbx_Remark") != null) { item.Remark = ((TextBox)row.FindControl("tbx_Remark")).Text; } if (row.FindControl("tbx_GiveLevel") != null) { item["GiveLevel"] = ((TextBox)row.FindControl("tbx_GiveLevel")).Text; } if (item.MaxQuantity > 0 && item.MinQuantity > item.MaxQuantity) { MessageBox.Show(this, "产品:" + p.FullName + "的【单次最小请购数量】不能大于【单次最大请购数量】!"); return(false); } if (item.MaxQuantity > 0 && item.AvailableQuantity > 0 && item.MaxQuantity > item.AvailableQuantity) { MessageBox.Show(this, "产品:" + p.FullName + "的【单次最大请购数量】不能大于【可供请购数量】!"); return(false); } _bll.UpdateDetail(item); } #endregion return(true); }
private void BindData() { ORD_ApplyPublish m = new ORD_ApplyPublishBLL((int)ViewState["ID"]).Model; ViewState["Type"] = m.Type; pl_ApplyPublish.BindData(m); if ((int)ViewState["Type"] == 1) { gv_List.Columns[5].Visible = false; //成品请购单,单价依据各客户价表结算 gv_List.Columns[6].Visible = false; //成品请购单,单价依据各客户价表结算 gv_List.Columns[gv_List.Columns.Count - 3].Visible = false; //赠送坎级不显示 DropDownList ddl_FeeType = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_FeeType"); if (ddl_FeeType != null) ddl_FeeType.Enabled = false; DropDownList ddl_ProductBrand = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_ProductBrand"); if (ddl_ProductBrand != null) ddl_ProductBrand.Enabled = false; DropDownList ddl_GiftClassify = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_GiftClassify"); if (ddl_GiftClassify != null) ddl_GiftClassify.Enabled = false; } if (m.State != 1) { pl_ApplyPublish.SetControlsEnable(false); btn_Save.Visible = false; btn_Delete.Visible = false; tbl_publish.Visible = false; CanEnabled = false; } switch (m.State) { case 1: //未发布 bt_Close.Visible = false; bt_Cancel.Visible = false; bt_Modify.Visible = false; bt_ViewApplyList.Visible = false; gv_List.Columns[gv_List.Columns.Count - 1].Visible = false; break; case 2: //已发布 bt_Publish.Visible = false; break; case 3: //关闭 case 4: //撤销 bt_Publish.Visible = false; bt_Close.Visible = false; bt_Cancel.Visible = false; bt_Modify.Visible = false; break; } }
/// <summary> /// 根据请购买申请单重新初始化购物车 /// </summary> /// <param name="ApplyID"></param> /// <returns></returns> public static ORD_OrderCartBLL InitByOrderApply(int ApplyID) { ORD_OrderApplyBLL apply = new ORD_OrderApplyBLL(ApplyID); if (apply.Model == null) return null; ORD_ApplyPublishBLL publish = new ORD_ApplyPublishBLL(apply.Model.PublishID); if (publish.Model == null) return null; int addressid = 0; int.TryParse(apply.Model["AddressID"], out addressid); ORD_OrderCartBLL cart = new ORD_OrderCartBLL(apply.Model.PublishID, apply.Model.OrganizeCity, apply.Model.Client, apply.Model.AccountMonth, addressid); foreach (ORD_OrderApplyDetail item in apply.Items) { ORD_ApplyPublishDetail _m = publish.Items.FirstOrDefault(m => m.Product == item.Product); if (_m == null) continue; ORD_OrderCart cartitem = new ORD_OrderCart(); cartitem.ID = _m.ID; cartitem.Product = _m.Product; cartitem.MinQuantity = _m.MinQuantity; cartitem.MaxQuantity = _m.MaxQuantity; cartitem.Price = item.Price; cartitem.AvailableQuantity = _m.AvailableQuantity; cartitem.SubmitQuantity = ORD_OrderApplyBLL.GetSubmitQuantity(cart.Publish, cartitem.Product); cartitem.BookQuantity = item.BookQuantity; cart.Items.Add(cartitem); } return cart; }
private void BindDropDown() { if ((int)ViewState["ID"] != 0) { ORD_ApplyPublish m = new ORD_ApplyPublishBLL((int)ViewState["ID"]).Model; ViewState["Type"] = m.Type; } if ((int)ViewState["Type"] == 1) ddl_Brand.DataSource = PDT_BrandBLL.GetModelList("IsOpponent IN (1,9)"); else ddl_Brand.DataSource = PDT_BrandBLL.GetModelList("IsOpponent='9'"); ddl_Brand.DataBind(); ddl_Brand.Items.Insert(0, new ListItem("所有品牌", "0")); ddl_Brand.SelectedValue = "0"; rbl_Brand_SelectedIndexChanged(null, null); DropDownList ddl_ProductBrand = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_ProductBrand"); if (ddl_ProductBrand != null) { ddl_ProductBrand.DataTextField = "Name"; ddl_ProductBrand.DataValueField = "ID"; ddl_ProductBrand.DataSource = PDT_BrandBLL.GetModelList("(IsOpponent IN (1) OR ID IN (4,5,99))"); ddl_ProductBrand.DataBind(); ddl_ProductBrand.Items.Insert(0, new ListItem("请选择", "0")); ddl_ProductBrand.SelectedValue = "0"; } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ViewState["ID"] = Request.QueryString["ID"] == null ? 0 : int.Parse(Request.QueryString["ID"]); if ((int)ViewState["ID"] > 0) { Session["LogisticsOrderApplyID"] = null; //申请单ID Session["LogisticsOrderApplyDetail"] = null; //购物车明细 } else if (Session["LogisticsOrderApplyID"] != null) { //Session中存有申请单ID,说明是对现有申请单进行编辑 ViewState["ID"] = (int)Session["LogisticsOrderApplyID"]; } if ((int)ViewState["ID"] > 0) { BindData(); } else if (Session["LogisticsOrderApplyDetail"] != null) { #region 新增申请单 //当无申请单ID,但有购物车中有明细时,则说明是新增申请单 ORD_OrderCartBLL cart = (ORD_OrderCartBLL)Session["LogisticsOrderApplyDetail"]; if (Session["LogisticsOrderApplyID"] == null) { ViewState["Publish"] = cart.Publish; ORD_ApplyPublish publish = new ORD_ApplyPublishBLL(cart.Publish).Model; if (publish == null) Response.Redirect("OrderApplyDetail0.aspx"); int month = publish.AccountMonth; #region 初始化申请单详细信息控件 ORD_OrderApply apply = new ORD_OrderApply(); apply.OrganizeCity = cart.OrganizeCity; apply.AccountMonth = cart.AccountMonth; apply.Type = cart.Type; apply.Client = cart.Client; apply.PreArrivalDate = DateTime.Today.AddMonths(1); apply["ProductBrand"] = cart.Brand.ToString(); apply["GiftClassify"] = cart.GiftClassify.ToString(); apply.State = 1; apply.InsertStaff = (int)Session["UserID"]; apply.InsertTime = DateTime.Now; apply.PublishID = cart.Publish; apply["AddressID"] = cart.AddressID.ToString(); apply["Receiver"] = cart.Receiver.ToString(); pn_OrderApply.BindData(apply); #endregion if (cart.Type == 2) { //促销品申请 #region 绑定赠品申请预算信息 BindBudgetInfo(cart.OrganizeCity, cart.AccountMonth, cart.Client, cart.GiftFeeType, cart.Brand, cart.GiftClassify); tb_GiftBudgetInfo.Visible = true; #endregion } BindGrid(); bt_Finish.Visible = false; bt_Delete.Visible = false; //bt_Submit.Visible = false; } #endregion } else { if (Session["SubmitOrderApplyID"] == null) { MessageBox.ShowAndRedirect(this, "加载购物车失败,请重新选购!", "OrderApplyDetail0.aspx"); return; } else { ViewState["ID"] = (int)Session["SubmitOrderApplyID"]; BindData(); } } } #region 注册弹出窗口脚本 string script = "function PopAdjust(id){\r\n"; script += "var tempid = Math.random() * 10000; \r\n window.showModalDialog('" + Page.ResolveClientUrl("Pop_OrderApplyDetailAdjust.aspx") + "?ID=' + id + '&tempid='+tempid, window, 'dialogWidth:500px;DialogHeight=600px;status:yes;resizable=yes');}"; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "PopAdjust", script, true); #endregion }
private void LoadGiftApplyAmount() { int month = 0; int client = 0; int.TryParse(ddl_AccountMonth.SelectedValue, out month); int.TryParse(select_Client.SelectValue, out client); if (month > 0 && client > 0) { IList<ORD_GiftApplyAmount> lists = ORD_GiftApplyAmountBLL.GetModelList(string.Format("AccountMonth={0} AND Client={1}", month, client)); if (lists.Count == 0) { ORD_GiftApplyAmountBLL.ComputAvailableAmount(month, client); } int pulishid = 0; int brand = 0; int giftclassify = 0; int.TryParse(ddl_Publish.SelectedValue, out pulishid); if (pulishid > 0) { ORD_ApplyPublishBLL publish = new ORD_ApplyPublishBLL(pulishid); int.TryParse(publish.Model["ProductBrand"], out brand); int.TryParse(publish.Model["GiftClassify"], out giftclassify); lists = ORD_GiftApplyAmountBLL.GetModelList(string.Format("AccountMonth={0} AND Client={1} AND Brand={2} AND Classify={3}", month, client, brand, giftclassify)); if (lists.Count > 0) { lb_GiftApplyAmount.Text = string.Format("销量:{0:0.#元},赠品费率:{1:0.###%},赠品总额度:{2:0.#元}, 赠品额度余额:{3:0.#元}", lists[0].SalesVolume, lists[0].FeeRate, lists[0].AvailableAmount + lists[0].PreBalance - lists[0].DeductibleAmount, lists[0].BalanceAmount); } else { string[] nolimitbrand = Addr_OrganizeCityParamBLL.GetValueByType(1, 24).Replace(" ", "").Split(new char[] { ',', ',', ';', ';' }); lb_GiftApplyAmount.Text =nolimitbrand.Contains(publish.Model["ProductBrand"])?"本品类不限制申请额度":"上月无销量!"; } } } }
protected void bt_Out_Click(object sender, EventArgs e) { foreach (GridViewRow row in gv_List.Rows) { CheckBox cb_check = (CheckBox)row.FindControl("cb_Check"); if (cb_check.Checked) { ORD_ApplyPublishBLL _bll; if ((int)ViewState["ID"] != 0) _bll = new ORD_ApplyPublishBLL((int)ViewState["ID"]); else return; _bll.DeleteDetail(int.Parse(gv_List.DataKeys[row.RowIndex]["ID"].ToString())); } } Response.Redirect("PublishDetail.aspx?ID=" + ViewState["ID"].ToString()); }
private bool Save() { ORD_ApplyPublishBLL _bll; if ((int)ViewState["ID"] != 0) _bll = new ORD_ApplyPublishBLL((int)ViewState["ID"]); else _bll = new ORD_ApplyPublishBLL(); pl_ApplyPublish.GetData(_bll.Model); #region 判断有效性 if (_bll.Model.Type == 2) { if (_bll.Model["ProductBrand"] == "0") { MessageBox.Show(this, "请选择【品牌】!"); return false; } if (_bll.Model["GiftClassify"] == "0") { MessageBox.Show(this, "请选择【赠品费用类别】!"); return false; } } #endregion #region 组织主题 if (_bll.Model.Topic == "") { DropDownList ddl_Type = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_Type"); if (ddl_Type != null) _bll.Model.Topic += ddl_Type.SelectedItem.Text + " "; DropDownList ddl_AccountMonth = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_AccountMonth"); if (ddl_AccountMonth != null) _bll.Model.Topic += ddl_AccountMonth.SelectedItem.Text.Replace('-', '年') + "月 "; DropDownList ddl_ProductBrand = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_ProductBrand"); if (ddl_ProductBrand != null) _bll.Model.Topic += ddl_ProductBrand.SelectedItem.Text + " "; DropDownList ddl_GiftClassify = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_GiftClassify"); if (ddl_GiftClassify != null) _bll.Model.Topic += ddl_GiftClassify.SelectedItem.Text + " "; } #endregion if ((int)ViewState["ID"] != 0) { if (_bll.Model.Type == 2 && _bll.Model.FeeType == 0) { //赠品所属费用类型 _bll.Model.FeeType = ConfigHelper.GetConfigInt("GiftFeeType"); } _bll.Model.UpdateStaff = int.Parse(Session["UserID"].ToString()); _bll.Update(); } else { #region 判断相同品牌的申请当月是否已存在 string condition = string.Format(@"AccountMonth={0} AND Type={1} AND ToOrganizeCity={2} AND MCS_SYS.dbo.UF_Spilt2('MCS_Logistics.dbo.ORD_ApplyPublish',ExtPropertys,'ProductBrand')='{3}' AND MCS_SYS.dbo.UF_Spilt2('MCS_Logistics.dbo.ORD_ApplyPublish',ExtPropertys,'GiftClassify')='{4}' ", _bll.Model.AccountMonth, _bll.Model.Type, _bll.Model.ToOrganizeCity, _bll.Model["ProductBrand"], _bll.Model["GiftClassify"]); if (ORD_ApplyPublishBLL.GetModelList(condition).Count > 0) { MessageBox.Show(this, "对不起,相同品牌相同类别的申请目录已发布了,请勿重复发布!"); return false; } #endregion _bll.Model.State = 1; _bll.Model.ApproveFlag = 2; _bll.Model.InsertStaff = (int)Session["UserID"]; _bll.Add(); ViewState["ID"] = _bll.Model.ID; } #region 修改明细 foreach (GridViewRow row in gv_List.Rows) { ORD_ApplyPublishDetail item = new ORD_ApplyPublishDetail(); item.PublishID = _bll.Model.ID; item.ID = int.Parse(gv_List.DataKeys[row.RowIndex]["ID"].ToString()); item.Product = int.Parse(gv_List.DataKeys[row.RowIndex]["Product"].ToString()); PDT_Product p = new PDT_ProductBLL(item.Product).Model; item.Price = p.FactoryPrice; if (row.FindControl("tbx_AvailableQuantity_T") != null) item.AvailableQuantity = int.Parse(((TextBox)row.FindControl("tbx_AvailableQuantity_T")).Text) * p.ConvertFactor; if (row.FindControl("tbx_MinQuantity_T") != null) item.MinQuantity = int.Parse(((TextBox)row.FindControl("tbx_MinQuantity_T")).Text) * p.ConvertFactor; if (row.FindControl("tbx_MaxQuantity_T") != null) item.MaxQuantity = int.Parse(((TextBox)row.FindControl("tbx_MaxQuantity_T")).Text) * p.ConvertFactor; if (row.FindControl("tbx_Remark") != null) item.Remark = ((TextBox)row.FindControl("tbx_Remark")).Text; if (row.FindControl("tbx_GiveLevel") != null) item["GiveLevel"] = ((TextBox)row.FindControl("tbx_GiveLevel")).Text; if (item.MaxQuantity > 0 && item.MinQuantity > item.MaxQuantity) { MessageBox.Show(this, "产品:" + p.FullName + "的【单次最小请购数量】不能大于【单次最大请购数量】!"); return false; } if (item.MaxQuantity > 0 && item.AvailableQuantity > 0 && item.MaxQuantity > item.AvailableQuantity) { MessageBox.Show(this, "产品:" + p.FullName + "的【单次最大请购数量】不能大于【可供请购数量】!"); return false; } _bll.UpdateDetail(item); } #endregion return true; }
/// <summary> /// 向购物车中新增产品 /// </summary> /// <param name="product"></param> /// <param name="price"></param> /// <returns>0:成功 -1:发布目录中不包括此产品 -2:已超可请购数量 -3:该产品已在购物车中 -4:该产品不在指定客户的价表中</returns> public int AddProduct(int product, decimal price) { if (Items.FirstOrDefault(m => m.Product == product) != null) return -3; ORD_ApplyPublishDetail _m = new ORD_ApplyPublishBLL(_publish).Items.FirstOrDefault(m => m.Product == product); if (_m != null) { ORD_OrderCart cartitem = new ORD_OrderCart(); cartitem.Product = _m.Product; cartitem.MinQuantity = _m.MinQuantity; cartitem.MaxQuantity = _m.MaxQuantity; cartitem.Price = price; cartitem.AvailableQuantity = _m.AvailableQuantity; cartitem.SubmitQuantity = ORD_OrderApplyBLL.GetSubmitQuantity(_publish, product); cartitem.BookQuantity = cartitem.MinQuantity > 0 ? cartitem.MinQuantity : new PDT_ProductBLL(product).Model.ConvertFactor; if (cartitem.AvailableQuantity > 0 && cartitem.BookQuantity > cartitem.AvailableQuantity - cartitem.SubmitQuantity) return -2; _items.Add(cartitem); return 0; } return -1; }
protected void bt_Submit_Click(object sender, EventArgs e) { if (!Save()) return; if ((int)ViewState["ID"] != 0) { ORD_OrderApplyBLL bll = new ORD_OrderApplyBLL((int)ViewState["ID"]); Session["SubmitOrderApplyID"] = (int)ViewState["ID"]; if (bll.Model.State > 1) Response.Redirect("OrderApplyList.aspx"); if (bll.Items.Count == 0) { MessageBox.ShowAndRedirect(this, "对不起,定单申请明细不能为空!", "OrderApplyDetail3.aspx?ID=" + ViewState["ID"].ToString()); return; } if (bll.Model.AccountMonth < AC_AccountMonthBLL.GetCurrentMonth()) { MessageBox.Show(this, "对不起,该订单申请月份已不是当前月份,已不可提交,请删除该单后重新申请赠品!"); return; } decimal totalcost = bll.Items.Sum(m => m.BookQuantity * m.Price); if (bll.Model.Type == 2) { //促销品申请 #region 判断预算额度余额是否够申请 ORD_ApplyPublish publish = new ORD_ApplyPublishBLL(bll.Model.PublishID).Model; int productbrand = 0, giftclassify = 0; int.TryParse(publish["ProductBrand"], out productbrand); int.TryParse(publish["GiftClassify"], out giftclassify); decimal _budgetbalance = FNA_BudgetBLL.GetUsableAmount(bll.Model.AccountMonth, bll.Model.OrganizeCity, publish.FeeType); decimal _productbalance = ORD_GiftApplyAmountBLL.GetBalanceAmount(bll.Model.AccountMonth, bll.Model.Client, productbrand, giftclassify); decimal _balance = _productbalance; //2012-3-27 暂时限定赠品额度,不限定预算 //decimal _balance = (_budgetbalance > _productbalance ? _productbalance : _budgetbalance); string[] nolimitbrand = Addr_OrganizeCityParamBLL.GetValueByType(1, 24).Replace(" ", "").Split(new char[] { ',', ',', ';', ';' }); if (_balance < totalcost && !nolimitbrand.Contains(publish["ProductBrand"])) { if (bll.Model["GiftClassify"] == "2" && _balance > 0 && ORD_OrderApplyBLL.GetModelList("Client=" + bll.Model.Client.ToString() + " AND AccountMonth=" + bll.Model.AccountMonth.ToString() + " AND State IN (2,3) AND MCS_SYS.dbo.UF_Spilt(ExtPropertys,'|',5)=" + bll.Model["ProductBrand"] + " AND MCS_SYS.dbo.UF_Spilt(ExtPropertys,'|',7)=" + bll.Model["GiftClassify"]).Count == 0) { //判断是否可以申请最低金额赠品1件 decimal MinApplyAmount = 0, MaxApplyAmount = 0; ORD_ApplyPublishBLL _publishbll = new ORD_ApplyPublishBLL(bll.Model.PublishID); _publishbll.GetMinApplyAmount(out MinApplyAmount, out MaxApplyAmount); if (_balance > 0 && _balance < MinApplyAmount) { if (bll.Items.Count > 1) { MessageBox.Show(this, "对不起,您当前的可申请余额不足,仅能申请最多1件赠品"); return; } else { int applyproduct = bll.Items[0].Product; ORD_ApplyPublishDetail applydetail = _publishbll.Items.FirstOrDefault(p => p.Product == applyproduct); if (applydetail != null && applydetail.MinQuantity < bll.Items[0].BookQuantity) { MessageBox.Show(this, "对不起,您当前的可申请余额不足,仅能申请最多1件赠品"); return; } } } else { MessageBox.ShowAndRedirect(this, "对不起,您当前的可申请余额[" + _balance.ToString("0.##") + "]不够申请这些品项!", "OrderApplyDetail3.aspx?ID=" + ViewState["ID"].ToString()); return; } } else { MessageBox.ShowAndRedirect(this, "对不起,您当前的可申请余额[" + _balance.ToString("0.##") + "]不够申请这些品项!", "OrderApplyDetail3.aspx?ID=" + ViewState["ID"].ToString()); return; } } #endregion #region 发起工作流 NameValueCollection dataobjects = new NameValueCollection(); dataobjects.Add("ID", ViewState["ID"].ToString()); dataobjects.Add("OrganizeCity", bll.Model.OrganizeCity.ToString()); dataobjects.Add("AccountMonth", bll.Model.AccountMonth.ToString()); dataobjects.Add("FeeType", publish.FeeType.ToString()); dataobjects.Add("ProductBrand", publish["ProductBrand"]); dataobjects.Add("GiftClassify", publish["GiftClassify"]); dataobjects.Add("TotalFee", totalcost.ToString()); int TaskID = EWF_TaskBLL.NewTask("CuXiaoPin_Apply", (int)Session["UserID"], "促销品申请申请流程", "~/SubModule/Logistics/Order/OrderApplyDetail3.aspx?ID=" + ViewState["ID"].ToString() + "&Type=2", dataobjects); new EWF_TaskBLL(TaskID).Start(); #endregion bll.Submit((int)Session["UserID"], TaskID); Response.Redirect("~/SubModule/EWF/TaskDetail.aspx?TaskID=" + TaskID.ToString()); } else { //产品申请申请 bll.Submit((int)Session["UserID"], 0); Response.Redirect("OrderApplyList.aspx"); } } }
private void BindData() { ORD_OrderApplyBLL apply = new ORD_OrderApplyBLL((int)ViewState["ID"]); if (apply.Model == null) Response.Redirect("FeeApplyList.aspx"); pn_OrderApply.BindData(apply.Model); ViewState["Publish"] = apply.Model.PublishID; ORD_ApplyPublish publish = new ORD_ApplyPublishBLL(apply.Model.PublishID).Model; #region 根据审批状态控制页面 if (apply.Model.Type == 2 && apply.Model.State == 1) { #region 绑定赠品申请预算信息 if (publish == null) Response.Redirect("OrderApplyDetail0.aspx"); int productbrand = 0, giftclassify = 0; int.TryParse(publish["ProductBrand"], out productbrand); int.TryParse(publish["GiftClassify"], out giftclassify); int giftfeetype = publish.FeeType; int month = apply.Model.AccountMonth; int city = apply.Model.OrganizeCity; int client = apply.Model.Client; BindBudgetInfo(city, month, client, giftfeetype, productbrand, giftclassify); tb_GiftBudgetInfo.Visible = true; #endregion } if (apply.Model.State != 1) { //非 未提交 状态 pn_OrderApply.SetControlsEnable(false); bt_EditCart.Visible = false; bt_Delete.Visible = false; bt_Save.Visible = false; bt_Submit.Visible = false; //可见调整数量及原因 gv_List.Columns[gv_List.Columns.Count - 4].Visible = true; //调整原因 gv_List.Columns[gv_List.Columns.Count - 5].Visible = true; //批复数量 } AC_AccountMonth endmonht = new AC_AccountMonthBLL(apply.Model.AccountMonth).Model; DateTime reapplyend; reapplyend = DateTime.Parse(endmonht.Name + ConfigHelper.GetConfigString("GiftReApplyDate")); bt_ReApply.Visible = !(DateTime.Now > reapplyend); switch (apply.Model.State) { case 1: //编辑状态 bt_Finish.Visible = false; bt_ReApply.Visible = false; break; case 2: //已提交状态,审批过程中,可以作申请数量调整 if (Request.QueryString["Decision"] != "" && Request.QueryString["Decision"] == "Y") gv_List.Columns[gv_List.Columns.Count - 2].Visible = true; //允许调整 bt_Finish.Visible = false; bt_ReApply.Visible = false; break; case 3: //审核已通过 case 4: //审核已通过后,终止发放(该功能暂未启用) bt_Finish.Visible = false; bt_ReApply.Visible = false; //gv_List.Columns[gv_List.Columns.Count - 1].Visible = true; //已发放数量 break; case 8: //审核不通过 bt_Finish.Visible = false; int forwarddays = ConfigHelper.GetConfigInt("GiftApplyForwardDays"); if (apply.Model.AccountMonth < AC_AccountMonthBLL.GetMonthByDate(DateTime.Now.AddDays(forwarddays))) bt_ReApply.Visible = false; break; default: break; } #endregion BindGrid(); }
private void BindData() { ORD_OrderCartBLL cart = (ORD_OrderCartBLL)Session["LogisticsOrderApplyDetail"]; ORD_ApplyPublishBLL publish = new ORD_ApplyPublishBLL(cart.Publish); if (publish == null) Response.Redirect("OrderApplyDetail0.aspx"); ViewState["Publish"] = cart.Publish; pl_ApplyPublish.BindData(publish.Model); IList<ORD_ApplyPublishDetail> productlists; if (cart.Type == 1) { #region 成品取客户价表 productlists = new List<ORD_ApplyPublishDetail>(); IList<PDT_ProductPrice> pricelists = PDT_ProductPriceBLL.GetModelList ("GETDATE() BETWEEN BeginDate AND EndDate AND Client=" + cart.Client.ToString()); if (pricelists.Count == 0) { MessageBox.ShowAndRedirect(this, "对不起,该客户没有生效的价表,不可申请产品!", "OrderApplyDetail0.aspx"); return; } PDT_ProductPriceBLL pricebll = new PDT_ProductPriceBLL(pricelists[0].ID); foreach (ORD_ApplyPublishDetail item in publish.Items) { PDT_ProductBLL _bll = new PDT_ProductBLL(item.Product); if (new PDT_BrandBLL(_bll.Model.Brand).Model.IsOpponent == "1") { PDT_ProductPrice_Detail priceitem = pricebll.Items.FirstOrDefault(p => p.Product == item.Product); if (priceitem == null) continue; item.Price = priceitem.BuyingPrice; } else { item.Price = _bll.Model.FactoryPrice; } productlists.Add(item); } #endregion } else { #region 绑定赠品申请预算信息 BindBudgetInfo(cart.OrganizeCity, cart.AccountMonth, cart.Client, cart.GiftFeeType, cart.Brand, cart.GiftClassify,cart.Receiver); tb_GiftBudgetInfo.Visible = true; #endregion productlists = publish.Items; } ViewState["PublishDetails"] = productlists; gv_List.PageIndex = 0; BindGrid(); lb_CartCount.Text = cart.Items.Count.ToString(); }
private bool Save() { ORD_OrderCartBLL cart = null; if (Session["LogisticsOrderApplyDetail"] != null) cart = (ORD_OrderCartBLL)Session["LogisticsOrderApplyDetail"]; if ((int)ViewState["ID"] == 0) { if (cart == null || cart.Items.Count == 0) { MessageBox.Show(this, "对不起,定单申请明细不能为空!"); return false; } ORD_OrderApplyBLL bll = new ORD_OrderApplyBLL(); pn_OrderApply.GetData(bll.Model); #region 判断有没有填写经销商 if (bll.Model.Client == 0) { MessageBox.Show(this, "对不起,请填写申请定购的经销商!"); return false; } #endregion #region 初始化定单字段 bll.Model.OrganizeCity = cart.OrganizeCity; bll.Model.PublishID = cart.Publish; bll.Model.AccountMonth = cart.AccountMonth; bll.Model.SheetCode = ORD_OrderApplyBLL.GenerateSheetCode(bll.Model.OrganizeCity, bll.Model.AccountMonth); //自动产生备案号 bll.Model.ApproveFlag = 2; bll.Model.State = 1; bll.Model.InsertStaff = (int)Session["UserID"]; bll.Model["AddressID"] = cart.AddressID.ToString(); bll.Model["Receiver"] = cart.Receiver.ToString(); if (cart.Publish > 0) { ORD_ApplyPublish publish = new ORD_ApplyPublishBLL(cart.Publish).Model; if (publish != null) { bll.Model["ProductBrand"] = publish["ProductBrand"]; bll.Model["GiftClassify"] = publish["GiftClassify"]; } } #endregion ViewState["ID"] = bll.Add(); #region 新增定单明细明细 foreach (ORD_OrderCart cartitem in cart.Items) { if (cartitem.BookQuantity == 0) continue; ORD_OrderApplyDetail m = new ORD_OrderApplyDetail(); m.ApplyID = (int)ViewState["ID"]; m.Product = cartitem.Product; m.Price = cartitem.Price; m.BookQuantity = cartitem.BookQuantity; m.AdjustQuantity = 0; m.DeliveryQuantity = 0; bll.AddDetail(m); } #endregion } else { ORD_OrderApplyBLL bll = new ORD_OrderApplyBLL((int)ViewState["ID"]); pn_OrderApply.GetData(bll.Model); bll.Model.UpdateStaff = (int)Session["UserID"]; bll.Update(); #region 修改明细 if (cart != null) { //先将现有定单中每个品项与购物中的比较 //如果购物车中没有该产品,则删除,如有且数量不同,则更新,并从购物车中移除该品项 foreach (ORD_OrderApplyDetail m in bll.Items) { ORD_OrderCart cartitem = cart.Items.FirstOrDefault(p => p.Product == m.Product); if (cartitem == null) bll.DeleteDetail(m.ID); else { if (cartitem.BookQuantity != m.BookQuantity) { m.BookQuantity = cartitem.BookQuantity; bll.UpdateDetail(m); } cart.RemoveProduct(m.Product); } } //新购物车中新增的品项加入定单明细中 foreach (ORD_OrderCart cartitem in cart.Items) { ORD_OrderApplyDetail m = new ORD_OrderApplyDetail(); m.ApplyID = (int)ViewState["ID"]; m.Product = cartitem.Product; m.Price = cartitem.Price; m.BookQuantity = cartitem.BookQuantity; m.AdjustQuantity = 0; m.DeliveryQuantity = 0; bll.AddDetail(m); } } #endregion } return true; }
private void BindData() { ORD_ApplyPublish m = new ORD_ApplyPublishBLL((int)ViewState["ID"]).Model; ViewState["Type"] = m.Type; pl_ApplyPublish.BindData(m); if ((int)ViewState["Type"] == 1) { gv_List.Columns[5].Visible = false; //成品请购单,单价依据各客户价表结算 gv_List.Columns[6].Visible = false; //成品请购单,单价依据各客户价表结算 gv_List.Columns[gv_List.Columns.Count - 3].Visible = false; //赠送坎级不显示 DropDownList ddl_FeeType = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_FeeType"); if (ddl_FeeType != null) { ddl_FeeType.Enabled = false; } DropDownList ddl_ProductBrand = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_ProductBrand"); if (ddl_ProductBrand != null) { ddl_ProductBrand.Enabled = false; } DropDownList ddl_GiftClassify = (DropDownList)pl_ApplyPublish.FindControl("ORD_ApplyPublish_GiftClassify"); if (ddl_GiftClassify != null) { ddl_GiftClassify.Enabled = false; } } if (m.State != 1) { pl_ApplyPublish.SetControlsEnable(false); btn_Save.Visible = false; btn_Delete.Visible = false; tbl_publish.Visible = false; CanEnabled = false; } switch (m.State) { case 1: //未发布 bt_Close.Visible = false; bt_Cancel.Visible = false; bt_Modify.Visible = false; bt_ViewApplyList.Visible = false; gv_List.Columns[gv_List.Columns.Count - 1].Visible = false; break; case 2: //已发布 bt_Publish.Visible = false; break; case 3: //关闭 case 4: //撤销 bt_Publish.Visible = false; bt_Close.Visible = false; bt_Cancel.Visible = false; bt_Modify.Visible = false; break; } }