diff --git a/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/DynamicPriceReport.cs b/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/DynamicPriceReport.cs index 2923680..8ade5e1 100644 --- a/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/DynamicPriceReport.cs +++ b/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/DynamicPriceReport.cs @@ -18,6 +18,7 @@ using BWP.B3UnitedInfos; using BWP.B3UnitedInfos.BO; using BWP.B3Sale.Utils; using BWP.B3Sale.BO; +using BWP.B3Frameworks.BO; namespace BWP.Web.Pages.B3YunKen.Reports { @@ -112,9 +113,13 @@ namespace BWP.Web.Pages.B3YunKen.Reports private DQueryDom GetMaxPriceBillID() { + var detail = new JoinAlias(typeof(PriceBill_AccountingUnitDetail)); var query = new DQueryDom(new JoinAlias(typeof(PriceBill))); - query.Columns.Add(DQSelectColumn.Max("ID")); + query.From.AddJoin(JoinType.Left,new DQDmoSource(detail),DQCondition.EQ(detail,"PriceBill_ID",query.From.RootSource.Alias,"ID")); + query.Columns.Add(DQSelectColumn.Field("AccountingUnit_ID",detail)); + query.Columns.Add(DQSelectColumn.Max(query.From.RootSource.Alias,"ID")); query.Where.Conditions.Add(DQCondition.EQ("BillState",单据状态.已审核)); + query.GroupBy.Expressions.Add(DQExpression.Field(detail,"AccountingUnit_ID")); return query; } @@ -133,11 +138,13 @@ namespace BWP.Web.Pages.B3YunKen.Reports var convert = new JoinAlias("convert", typeof(StandardConvert)); var goods = new JoinAlias("goods", typeof(SaleGoods)); var priceBillID = new JoinAlias("priceBillID", typeof(PriceBillID)); + var accountingUnit = new JoinAlias("accountingUnit", typeof(AccountingUnit)); mDisplayHelper.AddAlias("detail", JoinAlias.Create("detail")); mDisplayHelper.AddAlias("convert", JoinAlias.Create("convert")); mDisplayHelper.AddAlias("goods", JoinAlias.Create("goods")); - dom.RegisterQueryTable(typeof(PriceBillID), new string[] { "ID" }, GetMaxPriceBillID()); + dom.RegisterQueryTable(typeof(PriceBillID), new string[] { "AccountingUnit_ID","ID" }, GetMaxPriceBillID()); dom.From.AddJoin(JoinType.Inner, new DQDmoSource(priceBillID), DQCondition.EQ(bill, "ID", priceBillID, "ID")); + dom.From.AddJoin(JoinType.Left, new DQDmoSource(accountingUnit), DQCondition.EQ(priceBillID, "AccountingUnit_ID", accountingUnit, "ID")); dom.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.EQ(bill, "ID", detail, "PriceBill_ID")); dom.From.AddJoin(JoinType.Left, new DQDmoSource(convert), DQCondition.EQ(detail, "SaleGoods_ID", convert, "StandardGoods_ID")); dom.From.AddJoin(JoinType.Left, new DQDmoSource(goods), DQCondition.EQ(detail, "SaleGoods_ID", goods, "ID"));