| @ -0,0 +1,61 @@ | |||
| using BWP.B3ButcherManage.BO; | |||
| using BWP.B3ButcherManage.NamedValueTemplate; | |||
| using BWP.Web.Layout; | |||
| using BWP.Web.Pages.B3ButcherManage.Reports; | |||
| using BWP.Web.Utils; | |||
| using Forks.EnterpriseServices.DomainObjects2; | |||
| using Forks.EnterpriseServices.DomainObjects2.DQuery; | |||
| using Forks.EnterpriseServices.SqlDoms; | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using TSingSoft.WebControls2; | |||
| namespace BWP.Web.Pages.B3QingDaoWanFu.Overlays | |||
| { | |||
| class PayAnalyse_Ext : PayAnalyse | |||
| { | |||
| protected override void AddCustomerColumn(Utils.ReportDisplayOptionHelper helper) | |||
| { | |||
| } | |||
| DFNamedValueInput<付款对象> payTag; | |||
| protected override void AddCustomerCondition(Layout.LayoutManager layout) | |||
| { | |||
| base.AddCustomerCondition(layout); | |||
| payTag = layout.Add("PayTarget", QueryCreator.DFNameValueInput<付款对象>(mDFInfo.Fields["PayTarget"])); | |||
| payTag.EnableTopItem = false; | |||
| payTag.Fill("0", "供应商"); | |||
| var c = layout.Config as AutoLayoutConfig; | |||
| c.Add("PayTarget"); | |||
| } | |||
| protected override Forks.EnterpriseServices.DomainObjects2.DQuery.DQueryDom GetQueryDom() | |||
| { | |||
| var query = base.GetQueryDom(); | |||
| var tag = DQSelectColumn.Create(DQExpression.Field("Supplier_Name"), "供应商"); | |||
| if (payTag.Value == 付款对象.养殖户) | |||
| { | |||
| var detail = new JoinAlias(typeof(Pay_FarmerDetail)); | |||
| query.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.EQ(query.From.RootSource.Alias, "ID", detail, "Pay_ID")); | |||
| tag = DQSelectColumn.Create(DQExpression.Field(detail, "Farmer_Name"), "养殖户"); | |||
| var last = query.Columns.Last(); | |||
| if (last.Name == "付款金额") | |||
| { | |||
| query.Columns.Remove(last); | |||
| query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(detail, "Money")), "付款金额")); | |||
| } | |||
| } | |||
| query.Columns.Insert(0, tag); | |||
| query.GroupBy.Expressions.Add(tag.Expression); | |||
| query.Where.Conditions.Add(DQCondition.EQ("PayTarget", payTag.Value)); | |||
| if (query.Columns.Last().Name == "付款金额") | |||
| { | |||
| SumColumnIndexs.Clear(); | |||
| SumColumnIndexs.Add(query.Columns.Count - 1); | |||
| } | |||
| return query; | |||
| } | |||
| } | |||
| } | |||