diff --git a/B3_DongFangWanQi.Web/B3_DongFangWanQi.Web.csproj b/B3_DongFangWanQi.Web/B3_DongFangWanQi.Web.csproj index 58078b3..060ac2c 100644 --- a/B3_DongFangWanQi.Web/B3_DongFangWanQi.Web.csproj +++ b/B3_DongFangWanQi.Web/B3_DongFangWanQi.Web.csproj @@ -44,6 +44,7 @@ False ..\..\..\tsref\Debug\B3Sale.Web.dll + diff --git a/B3_DongFangWanQi.Web/Pages/B3_DongFangWanQi/Tools/SaleOederUpdateList.cs b/B3_DongFangWanQi.Web/Pages/B3_DongFangWanQi/Tools/SaleOederUpdateList.cs index 63ad89f..25a563b 100644 --- a/B3_DongFangWanQi.Web/Pages/B3_DongFangWanQi/Tools/SaleOederUpdateList.cs +++ b/B3_DongFangWanQi.Web/Pages/B3_DongFangWanQi/Tools/SaleOederUpdateList.cs @@ -35,7 +35,7 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { private DFChoiceBox _goodsPropertyCatalog; private ChoiceBox _goodsProperty; - private DFChoiceBox _storeInput, _accInput, _customerInput; + private DFChoiceBox _storeInput, _accInput, _customerCatalogt, _customerInput; protected override void InitForm(HtmlForm form) { _queryContainer = QueryContainer.FromResource(GetType().FullName + ".xml", GetType().Assembly); form.Controls.Add(new PageTitle("销售订单调整")); @@ -56,6 +56,9 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { layoutManager.Add("Store_ID", new SimpleLabel("仓库"), _storeInput = QueryCreator.DFChoiceBox(_dFInfo.Fields["Store_ID"], B3FrameworksConsts.DataSources.授权仓库), false); layoutManager.Add("Customer_ID", _customerInput = QueryCreator.DFChoiceBox(_dFInfo.Fields["Customer_ID"], B3SaleDataSources.用户配置客户)); + + _customerCatalogt = QueryCreator.DFChoiceBox(_dFInfo.Fields["CustomerCatalog_ID"], B3SaleDataSources.客户分类); + layoutManager.Add("CustomerCatalog_ID", new SimpleLabel("客户分类"), _customerCatalogt ); var config = new AutoLayoutConfig(); config.Add("OrderDate"); @@ -65,19 +68,25 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { config.Add("Store_ID"); config.Add("GoodsProperty_ID"); config.Add("GoodsPropertyCatalog_ID"); + config.Add("CustomerCatalog_ID"); layoutManager.Config = config; var section = mPageLayoutManager.AddSection("BaseProperties", "查询条件"); section.ApplyLayout(layoutManager, config, mPageLayoutManager, _dFInfo); section.SetDisplayName("GoodsProperty_ID", "存货属性"); section.SetDisplayName("GoodsPropertyCatalog_ID", "存货属性分类"); - - titlePanel.Controls.Add(layoutManager.CreateLayout()); + VLayoutPanel vp; + titlePanel.Controls.Add(vp=new VLayoutPanel()); + vp.Add(layoutManager.CreateLayout()); var tsbtn = new TSButton("开始查询"); tsbtn.Click += delegate { DataBindGrid(); }; - titlePanel.Controls.Add(tsbtn); + var hPanel = new HLayoutPanel { Align = HorizontalAlign.Left }; + hPanel.Add(tsbtn); + hPanel.Add(new RedirectTSButton("清除条件")); + vp.Add(hPanel); + AddDetails(form.EAdd(new TitlePanel("订单明细", "订单明细"))); var vPanel = new VLayoutPanel(); @@ -119,10 +128,9 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { DFBrowseGrid _grid; void AddDetails(TitlePanel tPanel) { - HLayoutPanel hPanel; - tPanel.Controls.Add(new LiteralControl("
")); - tPanel.Controls.Add(hPanel = new HLayoutPanel()); - + + tPanel.Controls.Add(new LiteralControl("

")); + var editor = new DFDataTableEditor(); _grid = new DFBrowseGrid(editor) { Width = Unit.Percentage(100), @@ -265,11 +273,13 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { var goodsPropertyCatalog = new JoinAlias(typeof(GoodsPropertyCatalog)); var goodsProperty = new JoinAlias(typeof(GoodsProperty)); var goods = new JoinAlias(typeof(SaleGoods)); + var customer = new JoinAlias(typeof(Customer)); dom.From.AddJoin(JoinType.Inner, new DQDmoSource(detail), DQCondition.EQ(bill, "ID", detail, "Order_ID")); dom.From.AddJoin(JoinType.Left, new DQDmoSource(goods), DQCondition.EQ(detail, "SaleGoods_ID", goods, "ID")); dom.From.AddJoin(JoinType.Left, new DQDmoSource(goodsProperty), DQCondition.EQ(goodsProperty, "ID", goods, "GoodsProperty_ID")); dom.From.AddJoin(JoinType.Left, new DQDmoSource(goodsPropertyCatalog), DQCondition.EQ(goodsProperty, "GoodsPropertyCatalog_ID", goodsPropertyCatalog, "ID")); + dom.From.AddJoin(JoinType.Left, new DQDmoSource(customer), DQCondition.EQ(bill, "Customer_ID", customer, "ID")); AddGoodsCondition(goodsPropertyCatalog, goodsProperty, dom); dom.Columns.Add(DQSelectColumn.Field("ID", goodsProperty)); @@ -281,7 +291,16 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { dom.Where.Conditions.Add(DQCondition.EQ("BillState", 单据状态.未审核)); OrganizationUtil.AddOrganizationLimit(dom, typeof(Order)); dom.Where.Conditions.Add(DQCondition.EQ(bill, "Domain_ID", DomainContext.Current.ID)); - + if (!_customerCatalogt.IsEmpty) { + var strs = B3SaleWebUtil.GetDeepByTreeName(_customerCatalogt.DisplayValue); + var conditions = new List(); + var values = _customerCatalogt.GetValues(); + for (int index = 0; index < values.Length; index++) { + var value = values[index]; + conditions.Add(DQCondition.EQ(customer, "CustomerCatalog_TreeDeep" + strs[index] + "ID", value)); + } + dom.Where.Conditions.Add(DQCondition.Or(conditions)); + } return dom; } diff --git a/B3_DongFangWanQi.Web/Pages/B3_DongFangWanQi/Tools/SaleOrderUpdateEdit.cs b/B3_DongFangWanQi.Web/Pages/B3_DongFangWanQi/Tools/SaleOrderUpdateEdit.cs index ad520aa..2048fb6 100644 --- a/B3_DongFangWanQi.Web/Pages/B3_DongFangWanQi/Tools/SaleOrderUpdateEdit.cs +++ b/B3_DongFangWanQi.Web/Pages/B3_DongFangWanQi/Tools/SaleOrderUpdateEdit.cs @@ -11,6 +11,7 @@ using BWP.B3Sale.BL; using BWP.B3Sale.BO; using BWP.B3UnitedInfos.BO; using BWP.Web.Utils; +using Forks.EnterpriseServices; using Forks.EnterpriseServices.BusinessInterfaces; using Forks.EnterpriseServices.DataForm; using Forks.EnterpriseServices.DomainObjects2; @@ -116,11 +117,11 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { } } - public List Details { + List Details { get { if (ViewState["Details"] == null) - ViewState["Details"] = new List(); - return (List)ViewState["Details"]; + ViewState["Details"] = new List(); + return (List)ViewState["Details"]; } set { ViewState["Details"] = value; } } @@ -162,15 +163,15 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { _dfContainer = new DFContainer(); _dfContainer.ID = "DFContainer"; form.Controls.Add(_dfContainer); - + var panel = new HLayoutPanel(); panel.Add(new SimpleLabel("可用数量")); - var label = new Label(); - label.Font.Size = 14; - label.Width = 120; - label.Font.Bold = true; - label.Text = decimal.Parse(Request.QueryString["number"]).ToString("0.00"); - panel.Add(label); + var label = new Label(); + label.Font.Size = 14; + label.Width = 120; + label.Font.Bold = true; + label.Text = decimal.Parse(Request.QueryString["number"]).ToString("0.00"); + panel.Add(label); panel.Add(new SimpleLabel("合计订货数量")); _l1 = new Label(); @@ -194,7 +195,7 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { } private void CreateGrid(VLayoutPanel vPanel) { - var editor = new DFCollectionEditor(() => Details); + var editor = new DFCollectionEditor(() => Details); editor.CanDeleteFunc = detail => true; editor.IsEditableFunc = (field, detail) => { @@ -213,6 +214,7 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { _goodsGrid.ShowLineNo = true; _goodsGrid.Columns.Add(new DFEditGridColumn("Order_ID")); _goodsGrid.Columns.Add(new DFEditGridColumn("Customer_Name")); + _goodsGrid.Columns.Add(new DFEditGridColumn("LoadTime")); _goodsGrid.Columns.Add(new DFEditGridColumn("Goods_Code")); _goodsGrid.Columns.Add(new DFEditGridColumn("Goods_Name")); @@ -234,8 +236,7 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { _goodsGrid.ValueColumns.Add("Goods_SecondUnitRatio"); _goodsGrid.ValueColumns.Add("LeftRatio"); _goodsGrid.ValueColumns.Add("RightRatio"); - - + vPanel.Add(_goodsGrid); new MainToSecondConvertRowManger(_goodsGrid); _dfContainer.AddNonDFControl(_goodsGrid, "$Grid"); @@ -246,10 +247,10 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { saveBt.Click += SaveBtClick; hl.Add(new LiteralControl(" ")); TSButton back; - hl.Add(back=new TSButton("返回", delegate { + hl.Add(back = new TSButton("返回", delegate { DialogUtil.SetCachedObj(this, ""); })); - back.Width = Unit.Pixel(80); + back.Width = Unit.Pixel(80); } void SaveBtClick(object sender, EventArgs e) { @@ -340,7 +341,7 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { dom.Columns.Add(DQSelectColumn.Field("Order_ID", detailAlias)); dom.Columns.Add(DQSelectColumn.Field("GoodsBatch_ID", detailAlias)); dom.Columns.Add(DQSelectColumn.Field("GoodsBatch_Name", detailAlias)); - + dom.Columns.Add(DQSelectColumn.Field("LoadTime", order)); if (GoodsProperty_ID != null) { dom.Where.Conditions.Add(DQCondition.EQ(goodsProperty, "ID", GoodsProperty_ID)); } @@ -380,7 +381,7 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { using (var context = new TransactionContext()) { using (var reader = context.Session.ExecuteReader(dom)) { while (reader.Read()) { - var detail = new Order_Detail { + var detail = new Order_DetailExt { ID = (long)reader[0], UnitNum = (Money?)reader[1], SecondNumber = (Money?)reader[2], @@ -393,7 +394,8 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { Customer_Name = (string)reader[9], Order_ID = (long)reader[10], GoodsBatch_ID = (long?)reader[11], - GoodsBatch_Name = (string)reader[12] + GoodsBatch_Name = (string)reader[12], + LoadTime = (DateTime?)reader[13] }; Details.Add(detail); } @@ -402,11 +404,16 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools { foreach (var detail in Details) { Dmo.RefreshDependency(detail, "SaleGoods_ID"); } - - + _goodsGrid.DataBind(); _l1.Text = Math.Round(Details.Sum(x => (decimal?)(x.UnitNum) ?? 0), 2).ToString(); _l2.Text = Math.Round(Details.Sum(x => (decimal?)(x.Money) ?? 0), 2).ToString(); } + + [DFClass,Serializable] + class Order_DetailExt : Order_Detail { + [LogicName("发货时间")] + public DateTime? LoadTime { get; set; } + } } }