Browse Source

需求单No.137525

master
xueyingcheng 8 years ago
parent
commit
311eb88c86
2 changed files with 174 additions and 98 deletions
  1. +136
    -10
      BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/LogisticsAnalysisReport.cs
  2. +38
    -88
      BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/LogisticsAnalysisReport.xml

+ 136
- 10
BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/LogisticsAnalysisReport.cs View File

@ -1,6 +1,9 @@
using BWP.B3Frameworks.BO.NamedValueTemplate;
using BWP.B3Frameworks;
using BWP.B3Frameworks.BO.NamedValueTemplate;
using BWP.B3Sale.BO;
using BWP.B3Sale.Utils;
using BWP.Web.Layout;
using BWP.Web.Utils;
using BWP.Web.WebControls;
using Forks.EnterpriseServices.DataForm;
using Forks.EnterpriseServices.DomainObjects2;
@ -11,6 +14,7 @@ using System.Linq;
using System.Text;
using System.Web.UI.WebControls;
using TSingSoft.WebControls2;
using TSingSoft.WebControls2.QBELinks;
namespace BWP.Web.Pages.B3YunKen.Reports
{
@ -48,7 +52,8 @@ namespace BWP.Web.Pages.B3YunKen.Reports
list.Add(new Tuple<string, string>("Driver_Name", "司机姓名"));
list.Add(new Tuple<string, string>("Driver_Telephone", "司机电话"));
list.Add(new Tuple<string, string>("HandcarNumber", "车牌号"));
list.Add(new Tuple<string, string>("Carrier_Name", "货站名称"));//承运方(还没有添加)
list.Add(new Tuple<string, string>("DriverCard", "司机驾驶证号"));
list.Add(new Tuple<string, string>("Carrier_Name", "货站名称"));//承运方 Carrier_Name
list.Add(new Tuple<string, string>("LinkManTel", "货站电话"));//电话
list.Add(new Tuple<string, string>("CustomerSaleZone_Name", "地区"));//销售地区
list.Add(new Tuple<string, string>("Car_Name", "车主姓名"));
@ -76,17 +81,43 @@ namespace BWP.Web.Pages.B3YunKen.Reports
protected override void AddQueryControls(VLayoutPanel vPanel)
{
var layout = new LayoutManager("main", mDFInfo, mQueryContainer);
layout.Add("AccountingUnit_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["AccountingUnit_ID"],
B3FrameworksConsts.DataSources.), s => long.Parse(s)), "AccountingUnit_ID"));
layout["AccountingUnit_ID"].NotAutoAddToContainer = true;
layout.Add("Carrier_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["Carrier_ID"],
B3SaleDataSources.), s => long.Parse(s)), "Carrier_ID"));
layout["Carrier_ID"].NotAutoAddToContainer = true;
layout.Add("CustomerSaleZone_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["CustomerSaleZone_ID"],
B3SaleDataSources.), s => long.Parse(s)), "CustomerSaleZone_ID"));
layout["CustomerSaleZone_ID"].NotAutoAddToContainer = true;
layout.Add("Customer_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["Customer_ID"],
B3SaleDataSources.), s => long.Parse(s)), "Customer_ID"));
layout["Customer_ID"].NotAutoAddToContainer = true;
layout.Add("AccountCustomer_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["AccountCustomer_ID"],
B3SaleDataSources.), s => long.Parse(s)), "AccountCustomer_ID"));
layout["AccountCustomer_ID"].NotAutoAddToContainer = true;
var config = layout.CreateDefaultConfig(2);
config.Expand = false;
config.Add("LoadTime");
config.Add("AccountingUnit_ID");
//config.Add("AccountingUnit_ID");
config.Add("Driver_ID");
config.Add("HandcarNumber"); ;
config.Add("Carrier_ID");
config.Add("CustomerSaleZone_ID");
config.Add("Customer_ID");
config.Add("AccountCustomer_ID");
config.Add("DriverCard");
//config.Add("Carrier_ID");
//config.Add("Customer_ID");
//config.Add("CustomerSaleZone_ID");
//config.Add("AccountCustomer_ID");
config.Add("Car_ID");
config.Add("TakeGoods_Type");
config.Add("FreightBear");
@ -105,10 +136,105 @@ namespace BWP.Web.Pages.B3YunKen.Reports
protected override DQueryDom GetQueryDom()
{
var dom = base.GetQueryDom();
var bill = JoinAlias.Create("main");
var main = JoinAlias.Create("main");
foreach (ListItem item in checkbox.Items)
{
if (!item.Selected) { continue; }
var field = item.Value;
switch (field)
{
case "LoadTime":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "Customer_Name":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "AccountCustomer_Name":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "Driver_Name":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "Driver_Telephone":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "HandcarNumber":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "Carrier_Name":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "LinkManTel":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "CustomerSaleZone_Name":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "Car_Name":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "FreightUnitPrice":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "AccountingUnit_Name":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "TakeGoods_Type":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "FreightBear":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "FreightPayment":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
case "承运次数":
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Count(DQExpression.Field(main, "ID")), item.Text));
break;
default:
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
break;
}
}
dom.Where.Conditions.Add(DQCondition.EQ(bill, "BillState", .));
dom.Where.Conditions.Add(DQCondition.EQ(main, "BillState", .));
return dom;
}


+ 38
- 88
BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/LogisticsAnalysisReport.xml View File

@ -11,112 +11,62 @@
<Field name="ID"/>
<QBE paramName="ID"/>
</EQ>
<EQ>
<Field name="Order_ID"/>
<QBE paramName="Order_ID"/>
</EQ>
<EQ>
<Field name="CustomerOrderNo"/>
<QBE paramName="CustomerOrderNo"/>
</EQ>
<EQ>
<Field name="IsGift" alias="saledetail"/>
<QBE paramName="IsGift"/>
</EQ>
<GreaterThanOrEqual>
<Field name="LoadTime"/>
<QBE paramName="MinLoadTime" />
</GreaterThanOrEqual>
<LessThanOrEqual>
<Field name="LoadTime"/>
<QBE paramName="MaxLoadTime"/>
</LessThanOrEqual>
<QBEIn>
<Field name="AccountingUnit_ID"/>
<QBE paramName="AccountingUnit_ID"/>
</QBEIn>
<EQ>
<Field name="Driver_ID"/>
<QBE paramName="Driver_ID"/>
</EQ>
<Like>
<Field name="DriverCard"/>
<QBE paramName="DriverCard"/>
</Like>
<Like>
<Field name="HandcarNumber"/>
<QBE paramName="HandcarNumber"/>
</Like>
<QBEIn>
<Field name="DeliverGoodsLine_ID"/>
<QBE paramName="DeliverGoodsLine_ID"/>
</QBEIn>
<QBEIn>
<Field name="Customer_ID"/>
<QBE paramName="Customer_ID"/>
</QBEIn>
<QBEIn>
<Field name="SaleKind_ID"/>
<QBE paramName="SaleKind_ID"/>
<Field name="Carrier_ID"/>
<QBE paramName="Carrier_ID"/>
</QBEIn>
<QBEIn>
<Field name="Employee_ID"/>
<QBE paramName="Employee_ID"/>
<Field name="CustomerSaleZone_ID"/>
<QBE paramName="CustomerSaleZone_ID"/>
</QBEIn>
<QBEIn>
<Field name="CheckUser_ID"/>
<QBE paramName="CheckUser_ID"/>
<Field name="Customer_ID"/>
<QBE paramName="Customer_ID"/>
</QBEIn>
<QBEIn>
<Field name="CargoSpace_ID"/>
<QBE paramName="CargoSpace_ID"/>
<Field name="AccountCustomer_ID"/>
<QBE paramName="AccountCustomer_ID"/>
</QBEIn>
<QBEIn>
<EQ>
<Field name="Car_ID"/>
<QBE paramName="Car_ID"/>
</EQ>
<EQ>
<Field name="TakeGoods_Type"/>
<QBE paramName="TakeGoods_Type"/>
</QBEIn>
<QBEIn>
<Field name="CustomerTax_Detail_ID"/>
<QBE paramName="CustomerTax_Detail_ID"/>
</QBEIn>
<QBEIn>
<Field name="BillState"/>
<QBE paramName ="BillState"/>
</QBEIn>
<GreaterThanOrEqual>
<Field name="OrderDate"/>
<QBE paramName="MinOrderDate" />
</GreaterThanOrEqual>
<LessThanOrEqual>
<Field name="OrderDate"/>
<QBE paramName="MaxOrderDate"/>
</LessThanOrEqual>
<GreaterThanOrEqual>
<Field name="LoadTime"/>
<QBE paramName="MinLoadTime" />
</GreaterThanOrEqual>
<LessThanOrEqual>
<Field name="LoadTime"/>
<QBE paramName="MaxLoadTime"/>
</LessThanOrEqual>
<Like>
<Field name="Remark"/>
<QBE paramName="Remark"/>
</Like>
</EQ>
<EQ>
<Field name="Car"/>
<QBE paramName="Car"/>
<Field name="FreightBear"/>
<QBE paramName="FreightBear"/>
</EQ>
<EQ>
<Field name="Driver"/>
<QBE paramName="Driver"/>
<Field name="FreightPayment"/>
<QBE paramName="FreightPayment"/>
</EQ>
<Contains>
<Field name="Customer_OuterCode"/>
<QBE paramName="Customer_OuterCode"/>
</Contains>
<QBEIn>
<Field name="DepartmentWorkFlow_Detail_ID"/>
<QBE paramName="DepartmentWorkFlow_Detail_ID"/>
</QBEIn>
<Contains>
<Field name="SealNumber"/>
<QBE paramName="SealNumber"/>
</Contains>
<QBEIn>
<Field name="DepartmentWorkFlowStateCategory_ID"/>
<QBE paramName="DepartmentWorkFlowStateCategory_ID"/>
</QBEIn>
<GreaterThanOrEqual>
<Field name="CheckTime"/>
<QBE paramName="MinCheckTime" />
</GreaterThanOrEqual>
<LessThanOrEqual>
<Field name="CheckTime"/>
<QBE paramName="MaxCheckTime"/>
</LessThanOrEqual>
</And>
</Where>
</Select>

Loading…
Cancel
Save