From 0763451275e0fc140567d5ee60d4d3323cc7fac0 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Fri, 12 Oct 2018 13:48:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=AE=8C=E6=88=90=E6=83=85?= =?UTF-8?q?=E5=86=B5=E5=8A=A0=E5=AD=98=E8=B4=A7=E5=B1=9E=E6=80=A7=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E5=92=8C=E5=8D=95=E6=8D=AE=E7=8A=B6=E6=80=81=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9D=A1=E4=BB=B6=EF=BC=8C=E5=8D=95=E6=8D=AE=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E9=92=88=E5=AF=B9=E9=94=80=E5=94=AE=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E5=8D=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OutputToSaleOutDiff.cs | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs b/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs index d88e0e9..5165d91 100644 --- a/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs +++ b/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs @@ -15,6 +15,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.UI; +using System.Web.UI.WebControls; using TSingSoft.WebControls2; using TSingSoft.WebPluginFramework; @@ -38,6 +39,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_ queryPanel.ConditonPanel.EAdd(CreateDataRangePanel()); } + DFDropDownList stateDp; HLayoutPanel CreateDataRangePanel() { var hPanel = new HLayoutPanel(); @@ -45,6 +47,13 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_ hPanel.Add(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["ID"], mQueryContainer, "Store_ID", B3FrameworksConsts.DataSources.授权仓库全部)); hPanel.Add(new LiteralControl("*日期:")); hPanel.Add(QueryCreator.DateRange(mDFInfo.Fields["Date"], mQueryContainer, "MinDate", "MaxDate", DateTime.Today, DateTime.Today + new TimeSpan(23, 59, 29))); + hPanel.Add(new LiteralControl("存货属性:")); + hPanel.Add(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["ID"], mQueryContainer, "GoodsProperty_Catalog_ID", B3UnitedInfos.B3UnitedInfosConsts.DataSources.存货属性分类全部)); + hPanel.Add(new LiteralControl("单据状态:")); + stateDp = hPanel.Add(new DFDropDownList() { Width = Unit.Pixel(80) }); + stateDp.Items.Add(""); + stateDp.Items.Add(new ListItem("未审核", "0")); + stateDp.Items.Add(new ListItem("已审核", "20")); return hPanel; } @@ -53,6 +62,10 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_ var minInput = mQueryContainer.GetControl("MinDate"); var maxInput = mQueryContainer.GetControl("MaxDate"); var storeInput = mQueryContainer.GetControl("Store_ID"); + var gpc = mQueryContainer.GetControl("GoodsProperty_Catalog_ID"); + int? billState = null; + if (stateDp.SelectedIndex > 0) + billState = int.Parse(stateDp.SelectedValue); if (minInput.IsEmpty) throw new Exception("请选择开始日期"); if (maxInput.IsEmpty) @@ -63,7 +76,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_ var main = new JoinAlias(typeof(UnionTemp)); var goods = new JoinAlias(typeof(Goods)); var query = new DQueryDom(main); - UnionTemp.Register(query, minInput.Date, maxInput.Date, storeInput.GetValues().Select(x => long.Parse(x))); + UnionTemp.Register(query, minInput.Date, maxInput.Date, billState, storeInput.GetValues().Select(x => long.Parse(x))); query.From.AddJoin(JoinType.Left, new DQDmoSource(goods), DQCondition.EQ(main, "Goods_ID", goods, "ID")); query.Columns.Add(DQSelectColumn.Field("Code", goods, "编码")); query.Columns.Add(DQSelectColumn.Field("Name", goods, "名称")); @@ -90,6 +103,8 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_ query.GroupBy.Expressions.Add(DQExpression.Field(goods, "Spec")); query.GroupBy.Expressions.Add(DQExpression.Field(goods, "MainUnit")); query.GroupBy.Expressions.Add(DQExpression.Field(goods, "SecondUnit")); + if (!gpc.IsEmpty) + query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(goods, "GoodsPropertyCatalog_ID"), gpc.GetValues().Select(x => DQExpression.Value(long.Parse(x))).ToArray())); return query; } @@ -103,15 +118,15 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_ public Money? OutUnitNum { get; set; } public Money? OutSecondNumber { get; set; } - public static void Register(DQueryDom root, DateTime minDate, DateTime maxDate, IEnumerable storeID) + public static void Register(DQueryDom root, DateTime minDate, DateTime maxDate, int? billState, IEnumerable storeID) { - var query = GetSaleOutStore(minDate, maxDate, storeID); + var query = GetSaleOutStore(minDate, maxDate, billState, storeID); query.UnionNext.Select = GetOutput(minDate, maxDate); OrganizationUtil.RegisterOrganizationQueryTable(root); root.RegisterQueryTable(typeof(UnionTemp), new string[] { "Goods_ID", "UnitNum", "SecondNumber", "OutUnitNum", "OutSecondNumber" }, query); } - static DQueryDom GetSaleOutStore(DateTime minDate, DateTime maxDate, IEnumerable storeID) + static DQueryDom GetSaleOutStore(DateTime minDate, DateTime maxDate, int? billState, IEnumerable storeID) { var main = new JoinAlias(typeof(SaleOutStore)); var detail = new JoinAlias(typeof(SaleOutStore_Detail)); @@ -122,7 +137,11 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_ query.Columns.Add(DQSelectColumn.Field("SecondNumber", detail)); query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "OutUnitNum")); query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "OutSecondNumber")); - query.Where.Conditions.Add(DQCondition.And(DQCondition.Between("LoadTime", minDate, maxDate), DQCondition.InList(DQExpression.Field("Store_ID"), storeID.Select(x => DQExpression.Value(x)).ToArray()), DQCondition.EQ("BillState", 单据状态.未审核))); + query.Where.Conditions.Add(DQCondition.And(DQCondition.Between("LoadTime", minDate, maxDate), DQCondition.InList(DQExpression.Field("Store_ID"), storeID.Select(x => DQExpression.Value(x)).ToArray()))); + if (billState.HasValue) + query.Where.Conditions.Add(DQCondition.EQ("BillState", billState)); + else + query.Where.Conditions.Add(DQCondition.InEQ("BillState", 单据状态.已作废)); OrganizationUtil.AddOrganizationLimit(query, typeof(SaleOutStore)); return query; }