diff --git a/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Overlays/PayAnalyse_Ext.cs b/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Overlays/PayAnalyse_Ext.cs index e77e7c3..b07dec9 100644 --- a/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Overlays/PayAnalyse_Ext.cs +++ b/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Overlays/PayAnalyse_Ext.cs @@ -25,7 +25,6 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Overlays { 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"); @@ -35,21 +34,19 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Overlays { 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 == "付款金额") { - 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.Remove(last); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ("PayTarget", 付款对象.供应商), DQExpression.Field("Money"), 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 (!payTag.IsEmpty) + query.Where.Conditions.Add(DQCondition.EQ("PayTarget", payTag.Value)); if (query.Columns.Last().Name == "付款金额") { SumColumnIndexs.Clear(); diff --git a/B3QingDaoWanFu/TypeIOCs/StatPayBLTypeIoc.cs b/B3QingDaoWanFu/TypeIOCs/StatPayBLTypeIoc.cs index 2cfa0ab..770c00d 100644 --- a/B3QingDaoWanFu/TypeIOCs/StatPayBLTypeIoc.cs +++ b/B3QingDaoWanFu/TypeIOCs/StatPayBLTypeIoc.cs @@ -41,6 +41,8 @@ namespace BWP.B3QingDaoWanFu.TypeIOCs if ((dmo.RealNumber ?? 0) != 0) { detail.ExeWeight = dmo.RealWeight * detail.Number / dmo.RealNumber; + if (detail.ExeWeight.HasValue) + detail.ExeWeight = decimal.Round(detail.ExeWeight.Value, 2); var money = detail.Money; if (dmo.PurchaseType_Name == "业务" && dmo.PayTarget == 付款对象.供应商) { @@ -113,6 +115,8 @@ namespace BWP.B3QingDaoWanFu.TypeIOCs if ((dmo.RealNumber ?? 0) != 0) { detail.ExeWeight = dmo.RealWeight * detail.Number / dmo.RealNumber; + if (detail.ExeWeight.HasValue) + detail.ExeWeight = decimal.Round(detail.ExeWeight.Value, 2); var money = detail.Money; if (dmo.PurchaseType_Name == "业务" && dmo.PayTarget == 付款对象.供应商) {