From a12ab9b937a8f7bc5ed328e8bfbf9d73c029f426 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Mon, 15 Oct 2018 12:00:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../B3ButcherManageToSale.Web.csproj | 4 ++ .../OutputToSaleOutDiff.cs | 57 ++++++++++++++----- 2 files changed, 46 insertions(+), 15 deletions(-) diff --git a/B3ButcherManageToSale.Web/B3ButcherManageToSale.Web.csproj b/B3ButcherManageToSale.Web/B3ButcherManageToSale.Web.csproj index fb183ba..37de1bb 100644 --- a/B3ButcherManageToSale.Web/B3ButcherManageToSale.Web.csproj +++ b/B3ButcherManageToSale.Web/B3ButcherManageToSale.Web.csproj @@ -50,6 +50,10 @@ False ..\..\..\BwpB3Project\tsref\Debug\B3Sale.dll + + False + ..\..\..\tsref\Debug\B3Sale.Web.dll + False ..\..\..\BwpB3Project\tsref\Debug\B3System.dll diff --git a/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs b/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs index 030ea8c..a01e511 100644 --- a/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs +++ b/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs @@ -4,8 +4,10 @@ using BWP.B3Frameworks.BO.NamedValueTemplate; using BWP.B3Frameworks.Utils; using BWP.B3Sale.BO; using BWP.B3UnitedInfos.BO; +using BWP.Web.Pages.B3Sale.Reports; using BWP.Web.Utils; using BWP.Web.WebControls; +using Forks.EnterpriseServices.DataForm; using Forks.EnterpriseServices.DomainObjects2; using Forks.EnterpriseServices.DomainObjects2.DQuery; using Forks.EnterpriseServices.SqlDoms; @@ -21,8 +23,13 @@ using TSingSoft.WebPluginFramework; namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_ { - class OutputToSaleOutDiff : DFBrowseGridReportPage + class OutputToSaleOutDiff : B3SaleDFGridReportPage { + protected override void InitForm(System.Web.UI.HtmlControls.HtmlForm form) + { + base.InitForm(form); + mDFGrid.AllowColGroup = true; + } protected override string AccessRoleName { get { return "B3ButcherManageToSale.报表分析.订单完成情况"; } @@ -39,6 +46,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_ queryPanel.ConditonPanel.EAdd(CreateDataRangePanel()); } + readonly DFInfo mDFInfo = DFInfo.Get(typeof(Output)); DFDropDownList stateDp; HLayoutPanel CreateDataRangePanel() { @@ -73,28 +81,41 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_ query.Columns.Add(DQSelectColumn.Field("Code", goods, "编码")); query.Columns.Add(DQSelectColumn.Field("Name", goods, "名称")); query.Columns.Add(DQSelectColumn.Field("Spec", goods, "规格")); - query.Columns.Add(DQSelectColumn.Sum("UnitNum", "订货|数量")); - SumColumnIndexs.Add(query.Columns.Count - 1); + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field("OrderNumber")), "原订单|数量")); + SumColumnNames.Add("原订单|数量"); + GroupSumColumnNamnes.Add("原订单|数量"); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field("OrderSecondNumber")), "原订单|辅数量")); + SumColumnNames.Add("原订单|辅数量"); + GroupSumColumnNamnes.Add("原订单|辅数量"); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field("UnitNum")), "订货|数量")); + SumColumnNames.Add("订货|数量"); + GroupSumColumnNamnes.Add("订货|数量"); query.Columns.Add(DQSelectColumn.Field("MainUnit", goods, "订货|单位")); - query.Columns.Add(DQSelectColumn.Sum("SecondNumber", "订货|辅数量")); - SumColumnIndexs.Add(query.Columns.Count - 1); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field("SecondNumber")), "订货|辅数量")); + SumColumnNames.Add("订货|辅数量"); + GroupSumColumnNamnes.Add("订货|辅数量"); query.Columns.Add(DQSelectColumn.Field("SecondUnit", goods, "订货|辅单位")); - query.Columns.Add(DQSelectColumn.Sum("OutUnitNum", "产出|数量")); - SumColumnIndexs.Add(query.Columns.Count - 1); - query.Columns.Add(DQSelectColumn.Sum("OutSecondNumber", "产出|辅数量")); - SumColumnIndexs.Add(query.Columns.Count - 1); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field("OutUnitNum")), "产出|数量")); + SumColumnNames.Add("产出|数量"); + GroupSumColumnNamnes.Add("产出|数量"); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field("OutSecondNumber")), "产出|辅数量")); + SumColumnNames.Add("产出|辅数量"); + GroupSumColumnNamnes.Add("产出|辅数量"); query.Columns.Add(DQSelectColumn.Create(DQExpression.Subtract(DQExpression.IfNull(DQExpression.Sum(DQExpression.Field("UnitNum")), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Sum(DQExpression.Field("OutUnitNum")), DQExpression.Value(0))).ECastType?>(), "差异|数量")); - SumColumnIndexs.Add(query.Columns.Count - 1); - GroupSumColumnIndexs.Add(query.Columns.Count - 1); + SumColumnNames.Add("差异|数量"); + GroupSumColumnNamnes.Add("差异|数量"); query.Columns.Add(DQSelectColumn.Create(DQExpression.Subtract(DQExpression.IfNull(DQExpression.Sum(DQExpression.Field("SecondNumber")), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Sum(DQExpression.Field("OutSecondNumber")), DQExpression.Value(0))).ECastType?>(), "差异|辅数量")); - SumColumnIndexs.Add(query.Columns.Count - 1); - GroupSumColumnIndexs.Add(query.Columns.Count - 1); + SumColumnNames.Add("差异|辅数量"); + GroupSumColumnNamnes.Add("差异|辅数量"); query.GroupBy.Expressions.Add(DQExpression.Field(goods, "Code")); query.GroupBy.Expressions.Add(DQExpression.Field(goods, "Name")); query.GroupBy.Expressions.Add(DQExpression.Field(goods, "Spec")); query.GroupBy.Expressions.Add(DQExpression.Field(goods, "MainUnit")); query.GroupBy.Expressions.Add(DQExpression.Field(goods, "SecondUnit")); + foreach (var c in query.Columns) + ColumnNames.Add(c.Name); return query; } } @@ -102,6 +123,8 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_ class UnionTemp { public long Goods_ID { get; set; } + public Money? OrderNumber { get; set; } + public Money? OrderSecondNumber { get; set; } public Money? UnitNum { get; set; } public Money? SecondNumber { get; set; } public Money? OutUnitNum { get; set; } @@ -112,18 +135,20 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_ var query = GetSaleOutStore(minDate, maxDate, billState); query.UnionNext.Select = GetOutput(minDate, maxDate); OrganizationUtil.RegisterOrganizationQueryTable(root); - root.RegisterQueryTable(typeof(UnionTemp), new string[] { "Goods_ID", "UnitNum", "SecondNumber", "OutUnitNum", "OutSecondNumber" }, query); + root.RegisterQueryTable(typeof(UnionTemp), new string[] { "Goods_ID", "OrderNumber", "OrderSecondNumber", "UnitNum", "SecondNumber", "OutUnitNum", "OutSecondNumber" }, query); } static DQueryDom GetSaleOutStore(DateTime minDate, DateTime maxDate, int? billState) { var main = new JoinAlias(typeof(SaleOutStore)); var detail = new JoinAlias(typeof(SaleOutStore_Detail)); - var config = new JoinAlias("_gvc1",typeof(GoodsViewConfig)); + var config = new JoinAlias("_gvc1", typeof(GoodsViewConfig)); var query = new DQueryDom(main); query.From.AddJoin(JoinType.Inner, new DQDmoSource(detail), DQCondition.EQ(main, "ID", detail, "SaleOutStore_ID")); query.From.AddJoin(JoinType.Inner, new DQDmoSource(config), DQCondition.EQ(detail, "SaleGoods_ID", config, "Goods_ID")); query.Columns.Add(DQSelectColumn.Field("SaleGoods_ID", detail)); + query.Columns.Add(DQSelectColumn.Field("Order_Detail_UnitNum", detail, "OrderNumber")); + query.Columns.Add(DQSelectColumn.Field("Order_Detail_SecondNumber", detail, "OrderSecondNumber")); query.Columns.Add(DQSelectColumn.Field("UnitNum", detail)); query.Columns.Add(DQSelectColumn.Field("SecondNumber", detail)); query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "OutUnitNum")); @@ -146,6 +171,8 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_ query.From.AddJoin(JoinType.Inner, new DQDmoSource(detail), DQCondition.EQ(main, "ID", detail, "Output_ID")); query.From.AddJoin(JoinType.Inner, new DQDmoSource(config), DQCondition.EQ(config, "Goods_ID", detail, "Goods_ID")); query.Columns.Add(DQSelectColumn.Field("Goods_ID", detail)); + query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "OrderNumber")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "OrderSecondNumber")); query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "UnitNum")); query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "SecondNumber")); query.Columns.Add(DQSelectColumn.Field("Number", detail));