Browse Source

需求单No.139466

master
wugang 7 years ago
parent
commit
3b6526308c
1 changed files with 49 additions and 8 deletions
  1. +49
    -8
      BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.cs

+ 49
- 8
BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.cs View File

@ -28,7 +28,7 @@ using System.Web.UI;
namespace BWP.Web.Pages.B3YunKen.Reports namespace BWP.Web.Pages.B3YunKen.Reports
{ {
public class ToFreightNetPriceReport2 : DFBrowseGridReportPage
public class ToFreightNetPriceReport2 : DFGridReportPage
{ {
protected override string AccessRoleName protected override string AccessRoleName
@ -238,6 +238,25 @@ namespace BWP.Web.Pages.B3YunKen.Reports
placeHolder.Controls.Add(addressPropertyCatalogLevel); placeHolder.Controls.Add(addressPropertyCatalogLevel);
#endregion #endregion
panel.EAdd(placeHolder); 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)); vPanel.Add(layout.CreateLayout(), new VLayoutOption(HorizontalAlign.Center));
} }
class PackageData class PackageData
{ {
public long? Goods_ID { get; set; } public long? Goods_ID { get; set; }
@ -366,7 +387,8 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID"));
protected override DQueryDom GetQueryDom() protected override DQueryDom GetQueryDom()
{ {
//CustomerAccept
mDFGrid.AllowRowGroup = _showTypeList.Items.FindByText("合并单元格").Selected;
mDFGrid.AllowSorting = true;
var dom = base.GetQueryDom(); var dom = base.GetQueryDom();
var main = JoinAlias.Create("main"); var main = JoinAlias.Create("main");
var detail = new JoinAlias(typeof(CustomerAccept_Detail)); var detail = new JoinAlias(typeof(CustomerAccept_Detail));
@ -413,10 +435,12 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID"));
case "YearOfLoadTime": case "YearOfLoadTime":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet<string>("Left(Convert(nvarchar(10),main.LoadTime, 23),4)"), item.Text)); 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")); dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime"));
ColumnNames.Add(item.Text);
break; break;
case "MonthOfLoadTime": case "MonthOfLoadTime":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet<string>("Left(Convert(nvarchar(10),main.LoadTime, 23),7)"), item.Text)); 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")); dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime"));
ColumnNames.Add(item.Text);
break; break;
case "TenDaysOfLoadTime": case "TenDaysOfLoadTime":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet<string>(@"CASE WHEN day(main.LoadTime) > 0 AND day(main.LoadTime)<= 10 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 WHEN day(main.LoadTime) > 20
THEN cast(YEAR(main.LoadTime)as nvarchar)+'年'+cast(MONTH(main.LoadTime)as nvarchar) + '' END"), item.Text)); THEN cast(YEAR(main.LoadTime)as nvarchar)+'年'+cast(MONTH(main.LoadTime)as nvarchar) + '' END"), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime")); dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime"));
ColumnNames.Add(item.Text);
break; break;
case "WeekOfLoadTime": 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.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")); dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime"));
ColumnNames.Add(item.Text);
break; break;
case "DayOfLoadTime": case "DayOfLoadTime":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet<string>("Convert(nvarchar(10),main.LoadTime, 23)"), item.Text)); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet<string>("Convert(nvarchar(10),main.LoadTime, 23)"), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime")); dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime"));
ColumnNames.Add(item.Text);
break; break;
case "Code": case "Code":
case "Remark": case "Remark":
@ -454,10 +481,12 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID"));
case "BillType": case "BillType":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text)); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field)); dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
ColumnNames.Add(item.Text);
break; break;
case "CustomerSaleZone_Name": case "CustomerSaleZone_Name":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(customer2, "SaleZone_Name"), item.Text)); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(customer2, "SaleZone_Name"), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(customer2, "SaleZone_Name")); dom.GroupBy.Expressions.Add(DQExpression.Field(customer2, "SaleZone_Name"));
ColumnNames.Add(item.Text);
break; break;
case "Driver_Name": case "Driver_Name":
case "Driver_Telephone": case "Driver_Telephone":
@ -468,18 +497,22 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID"));
case "FreightBear": case "FreightBear":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(outStore, field), item.Text)); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(outStore, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(outStore, field)); dom.GroupBy.Expressions.Add(DQExpression.Field(outStore, field));
ColumnNames.Add(item.Text);
break; break;
case "OutBillID": case "OutBillID":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(outStore, "ID"), item.Text)); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(outStore, "ID"), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(outStore, "ID")); dom.GroupBy.Expressions.Add(DQExpression.Field(outStore, "ID"));
ColumnNames.Add(item.Text);
break; break;
case "OutNum": case "OutNum":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(outDetail, "Number")), item.Text)); 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; break;
case "OutMoney": case "OutMoney":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(outDetail, "Money")), item.Text)); 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; break;
case "GoodsPropertyCatalog_Name": case "GoodsPropertyCatalog_Name":
case "Goods_Name": case "Goods_Name":
@ -491,33 +524,39 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID"));
case "ProductLine_Name": case "ProductLine_Name":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(detail, field), item.Text)); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(detail, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(detail, field)); dom.GroupBy.Expressions.Add(DQExpression.Field(detail, field));
ColumnNames.Add(item.Text);
break; break;
case "PolicyPrice": case "PolicyPrice":
case "AcceptPrice": case "AcceptPrice":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(detail, field).ECastType<Money<>?>(), item.Text)); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(detail, field).ECastType<Money<>?>(), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(detail, field)); dom.GroupBy.Expressions.Add(DQExpression.Field(detail, field));
ColumnNames.Add(item.Text);
break; break;
case "FreightMoney": case "FreightMoney":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(freightMoney).ECastType<Money<>?>(), item.Text)); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(freightMoney).ECastType<Money<>?>(), item.Text));
ColumnNames.Add(item.Text);
//SumColumnIndexs.Add(dom.Columns.Count - 1); //SumColumnIndexs.Add(dom.Columns.Count - 1);
break; break;
case "AcceptMoney": case "AcceptMoney":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(detail, field)), item.Text)); 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; break;
case "AcceptNum": case "AcceptNum":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(detail, field)), item.Text)); 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; break;
case "AcceptSecondNumber": case "AcceptSecondNumber":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(detail, field)), item.Text)); 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; break;
case "PackingMoney": case "PackingMoney":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(Exp).ECastType<Money<>?>(), item.Text)); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(Exp).ECastType<Money<>?>(), item.Text));
ColumnNames.Add(item.Text);
//SumColumnIndexs.Add(dom.Columns.Count - 1); //SumColumnIndexs.Add(dom.Columns.Count - 1);
break; break;
case "NetPrice": 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")))); 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)); dom.Columns.Add(DQSelectColumn.Create(netExp.ECastType<Money<>?>(), item.Text));
ColumnNames.Add(item.Text);
break; break;
case "ToFreightNetPrice": 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")))); 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)); dom.Columns.Add(DQSelectColumn.Create(priceExp.ECastType<Money<>?>(), item.Text));
ColumnNames.Add(item.Text);
break; break;
} }
} }


Loading…
Cancel
Save