diff --git a/BWP.B3_YunKen.Web/Pages/B3YunKen/Bill/GoodsPackageSet.cs b/BWP.B3_YunKen.Web/Pages/B3YunKen/Bill/GoodsPackageSet.cs index a352c55..c12ecab 100644 --- a/BWP.B3_YunKen.Web/Pages/B3YunKen/Bill/GoodsPackageSet.cs +++ b/BWP.B3_YunKen.Web/Pages/B3YunKen/Bill/GoodsPackageSet.cs @@ -132,6 +132,11 @@ namespace BWP.Web.Pages.B3YunKen.Bill { string name = (string)dr[tuple.Item2] ?? ""; var price = GetWrappageUnitPrice(accName, name) ?? 0; + if (price == 0) + { + price = GetWrappagePrice(accName, name) ?? 0; + } + if (name.Contains("内包装")) { price =price * smallPackNum; @@ -356,16 +361,37 @@ namespace BWP.Web.Pages.B3YunKen.Bill DQueryDom dom = new DQueryDom(main); dom.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.EQ(main, "ID", detail, "WrappageUnitPrice_ID")); //dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(detail, "OldPrice")), "OldPrice")); - dom.Columns.Add(DQSelectColumn.Field("OldPrice", detail)); + dom.Columns.Add(DQSelectColumn.Field("NewPrice", detail)); dom.Where.Conditions.Add(DQCondition.EQ(main, "BillState", 单据状态.已审核)); dom.Where.Conditions.Add(DQCondition.EQ(main, "AccountingUnit_Name", accName)); dom.Where.Conditions.Add(DQCondition.EQ(detail, "Wrappage_Name", wrappageName)); + dom.Where.Conditions.Add(DQCondition.EQ("Domain_ID", DomainContext.Current.ID)); + var price = (decimal?)dom.EExecuteScalar(); return price; } + //根据会计单位和包装物名称 得到 包装物单价 + private decimal? GetWrappagePrice(string accName, string wrappageName) + { + JoinAlias main = new JoinAlias(typeof(Wrappage)); + DQueryDom dom = new DQueryDom(main); + + dom.Columns.Add(DQSelectColumn.Field("Price", main)); + + dom.Where.Conditions.Add(DQCondition.EQ(main, "Stopped", 0)); + dom.Where.Conditions.Add(DQCondition.EQ(main, "AccountingUnit_Name", accName)); + dom.Where.Conditions.Add(DQCondition.EQ(main, "Name", wrappageName)); + dom.Where.Conditions.Add(DQCondition.EQ("Domain_ID", DomainContext.Current.ID)); + + var price = (decimal?)dom.EExecuteScalar(); + + + return price; + } + } }