|
|
|
@ -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<string>("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<string>("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<string>(@"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<string>("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<string>("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<Money<金额>?>(), 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<Money<金额>?>(), 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<Money<金额>?>(), 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<Money<金额>?>(), 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<Money<金额>?>(), item.Text)); |
|
|
|
ColumnNames.Add(item.Text); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|