From 3b6526308cb5c264bb62017ee9275ec08edb63e4 Mon Sep 17 00:00:00 2001 From: wugang <425674808@qq.com> Date: Thu, 12 Apr 2018 13:18:47 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=8D=95No.139466?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reports/ToFreightNetPriceReport2.cs | 57 ++++++++++++++++--- 1 file changed, 49 insertions(+), 8 deletions(-) diff --git a/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.cs b/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.cs index 1cbec8c..dc3a0d0 100644 --- a/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.cs +++ b/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.cs @@ -28,7 +28,7 @@ using System.Web.UI; namespace BWP.Web.Pages.B3YunKen.Reports { - public class ToFreightNetPriceReport2 : DFBrowseGridReportPage + public class ToFreightNetPriceReport2 : DFGridReportPage { protected override string AccessRoleName @@ -238,6 +238,25 @@ namespace BWP.Web.Pages.B3YunKen.Reports placeHolder.Controls.Add(addressPropertyCatalogLevel); #endregion panel.EAdd(placeHolder); + AddOtherOptions(panel); + } + + private CheckBoxList _showTypeList; + private void AddOtherOptions(Panel vPanel) + { + var hPanel = new HLayoutPanel(); + vPanel.EAdd(hPanel); + _showTypeList = new CheckBoxList { + RepeatColumns = 6, + RepeatDirection = RepeatDirection.Horizontal + }; + _showTypeList.Items.Add(new ListItem("合并单元格") { + Selected = true + }); + + vPanel.EAdd(new HLayoutPanel() { new SimpleLabel("显示格式"), _showTypeList }); + mQueryControls.Add("显示格式", _showTypeList); + } @@ -343,6 +362,8 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); vPanel.Add(layout.CreateLayout(), new VLayoutOption(HorizontalAlign.Center)); } + + class PackageData { public long? Goods_ID { get; set; } @@ -366,7 +387,8 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); protected override DQueryDom GetQueryDom() { - //CustomerAccept + mDFGrid.AllowRowGroup = _showTypeList.Items.FindByText("合并单元格").Selected; + mDFGrid.AllowSorting = true; var dom = base.GetQueryDom(); var main = JoinAlias.Create("main"); var detail = new JoinAlias(typeof(CustomerAccept_Detail)); @@ -413,10 +435,12 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); case "YearOfLoadTime": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet("Left(Convert(nvarchar(10),main.LoadTime, 23),4)"), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime")); + ColumnNames.Add(item.Text); break; case "MonthOfLoadTime": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet("Left(Convert(nvarchar(10),main.LoadTime, 23),7)"), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime")); + ColumnNames.Add(item.Text); break; case "TenDaysOfLoadTime": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet(@"CASE WHEN day(main.LoadTime) > 0 AND day(main.LoadTime)<= 10 @@ -426,14 +450,17 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); WHEN day(main.LoadTime) > 20 THEN cast(YEAR(main.LoadTime)as nvarchar)+'年'+cast(MONTH(main.LoadTime)as nvarchar) + '月下旬' END"), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime")); + ColumnNames.Add(item.Text); break; case "WeekOfLoadTime": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet("convert(nvarchar(10), dateadd(day,1-(datepart(weekday,main.LoadTime)+@@datefirst-1)%7,main.LoadTime),23)+'~'+convert(nvarchar(10),dateadd(day,7-(datepart(weekday,main.LoadTime)+@@datefirst-1)%7,main.LoadTime),23)"), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime")); + ColumnNames.Add(item.Text); break; case "DayOfLoadTime": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet("Convert(nvarchar(10),main.LoadTime, 23)"), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime")); + ColumnNames.Add(item.Text); break; case "Code": case "Remark": @@ -454,10 +481,12 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); case "BillType": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(main, field)); + ColumnNames.Add(item.Text); break; case "CustomerSaleZone_Name": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(customer2, "SaleZone_Name"), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(customer2, "SaleZone_Name")); + ColumnNames.Add(item.Text); break; case "Driver_Name": case "Driver_Telephone": @@ -468,18 +497,22 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); case "FreightBear": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(outStore, field), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(outStore, field)); + ColumnNames.Add(item.Text); break; case "OutBillID": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(outStore, "ID"), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(outStore, "ID")); + ColumnNames.Add(item.Text); break; case "OutNum": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(outDetail, "Number")), item.Text)); - SumColumnIndexs.Add(dom.Columns.Count - 1); + ColumnNames.Add(item.Text); + SumColumnNames.Add(item.Text); break; case "OutMoney": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(outDetail, "Money")), item.Text)); - SumColumnIndexs.Add(dom.Columns.Count - 1); + ColumnNames.Add(item.Text); + SumColumnNames.Add(item.Text); break; case "GoodsPropertyCatalog_Name": case "Goods_Name": @@ -491,33 +524,39 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); case "ProductLine_Name": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(detail, field), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(detail, field)); - + ColumnNames.Add(item.Text); break; case "PolicyPrice": case "AcceptPrice": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(detail, field).ECastType?>(), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(detail, field)); + ColumnNames.Add(item.Text); break; case "FreightMoney": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(freightMoney).ECastType?>(), item.Text)); + ColumnNames.Add(item.Text); //SumColumnIndexs.Add(dom.Columns.Count - 1); break; case "AcceptMoney": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(detail, field)), item.Text)); - SumColumnIndexs.Add(dom.Columns.Count - 1); + ColumnNames.Add(item.Text); + SumColumnNames.Add(item.Text); break; case "AcceptNum": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(detail, field)), item.Text)); - SumColumnIndexs.Add(dom.Columns.Count - 1); + ColumnNames.Add(item.Text); + SumColumnNames.Add(item.Text); break; case "AcceptSecondNumber": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(detail, field)), item.Text)); - SumColumnIndexs.Add(dom.Columns.Count - 1); + ColumnNames.Add(item.Text); + SumColumnNames.Add(item.Text); break; case "PackingMoney": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(包装费Exp).ECastType?>(), item.Text)); + ColumnNames.Add(item.Text); //SumColumnIndexs.Add(dom.Columns.Count - 1); break; case "NetPrice": @@ -533,6 +572,7 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); var netExp = DQExpression.Divide(DQExpression.Sum(DQExpression.Subtract(DQExpression.Field(detail, "AcceptMoney"), DQExpression.IfNull(DQExpression.LogicCase(DQCondition.EQ(outStore, "FreightBear", 运费承担方.购方), DQExpression.Value(0), freightMoney), DQExpression.Value(0))).ESubtract(DQExpression.IfNull(包装费Exp, DQExpression.Value(0)))), DQExpression.NullIfZero(DQExpression.Sum(DQExpression.Field(detail, "AcceptNum")))); dom.Columns.Add(DQSelectColumn.Create(netExp.ECastType?>(), item.Text)); + ColumnNames.Add(item.Text); break; case "ToFreightNetPrice": // 增加逻辑,当运费承担方为‘购方’: @@ -552,6 +592,7 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); var priceExp = DQExpression.Divide(DQExpression.Sum(DQExpression.Subtract(DQExpression.Field(detail, "AcceptMoney"), DQExpression.IfNull(DQExpression.LogicCase(DQCondition.EQ(outStore, "FreightBear", 运费承担方.购方), DQExpression.Value(0), freightMoney), DQExpression.Value(0)))), DQExpression.NullIfZero(DQExpression.Sum(DQExpression.Field(detail, "AcceptNum")))); dom.Columns.Add(DQSelectColumn.Create(priceExp.ECastType?>(), item.Text)); + ColumnNames.Add(item.Text); break; } }