diff --git a/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Overlays/PayEdit_Ext.cs b/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Overlays/PayEdit_Ext.cs index 39e6369..cfc3903 100644 --- a/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Overlays/PayEdit_Ext.cs +++ b/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Overlays/PayEdit_Ext.cs @@ -28,6 +28,10 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Overlays protected override void BuildBody(System.Web.UI.Control control) { base.BuildBody(control); + if (CanSave) + { + dialogButton.BeforeClientClick += " var pt=__DFContainer.getValue('PayTarget'); if (pt == '') { alert('先选择付款对象');return false;}"; + } AddFarmerDetails(control.EAdd(new TitlePanel("养殖户明细", "养殖户明细"))); } diff --git a/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/PayInfoExport.cs b/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/PayInfoExport.cs index 52f69b5..22af9c2 100644 --- a/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/PayInfoExport.cs +++ b/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/PayInfoExport.cs @@ -1,5 +1,6 @@ using BWP.B3ButcherManage; using BWP.B3ButcherManage.BO; +using BWP.B3ButcherManage.NamedValueTemplate; using BWP.B3Frameworks; using BWP.Web.Layout; using BWP.Web.Utils; @@ -32,12 +33,14 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports queryPanel.ConditonPanel.EAdd(CreateExportTypePanel()); } - DFBoolComboBox payTarget; + DFNamedValueInput<付款对象> payTarget; private HLayoutPanel CreateExportTypePanel() { var panel = new HLayoutPanel(); panel.Add(new SimpleLabel("付款对象")); - payTarget = panel.Add(new DFBoolComboBox() { TrueDisplayValue = "供应商", FalseDisplayValue = "养殖户" }); + payTarget = panel.Add(QueryCreator.DFNameValueInput<付款对象>(mDFInfo.Fields["PayTarget"])); + payTarget.Value = 付款对象.供应商; + payTarget.EnableTopItem = false; return panel; } @@ -71,7 +74,7 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports var t = string.Format(SubTitle, GetMinDate()); var query = base.GetQueryDom(); query.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet("ROW_NUMBER() OVER(order by [_bill].[ID])"), t + "序号")); - if (!payTarget.Value.Value) + if (payTarget.Value==付款对象.养殖户) { var root = query.From.RootSource.Alias; var detail = new JoinAlias(typeof(Pay_FarmerDetail)); @@ -93,6 +96,7 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports query.Columns.Add(DQSelectColumn.Field("Remark", t + "备注")); if (!purchaseType.IsEmpty) DetailTemp.AddPurchaseTypeCondition(query, long.Parse(purchaseType.Value)); + query.Where.Conditions.Add(DQCondition.EQ("PayTarget", payTarget.Value)); foreach (var c in query.Columns) ColumnNames.Add(c.Name); return query; diff --git a/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/StatPayAnalyse.cs b/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/StatPayAnalyse.cs index 82e4a76..1b234b6 100644 --- a/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/StatPayAnalyse.cs +++ b/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/StatPayAnalyse.cs @@ -1,7 +1,9 @@ using BWP.B3ButcherManage; using BWP.B3ButcherManage.BO; +using BWP.B3ButcherManage.NamedValueTemplate; using BWP.B3Frameworks; using BWP.B3Frameworks.BO.MoneyTemplate; +using BWP.B3Frameworks.BO.NamedValueTemplate; using BWP.Web.Layout; using BWP.Web.Utils; using Forks.EnterpriseServices.DomainObjects2; @@ -120,13 +122,13 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports ReportDisplayOptionHelper mDisplayHelper = new ReportDisplayOptionHelper(); protected override void AddQueryOptions(VLayoutPanel vPanel)//显示字段 { - mDisplayHelper.AddOptionItem("结算单号", "_bill", "ID", false); + mDisplayHelper.AddOptionItem("过磅日期", () => DQExpression.Snippet("CAST([_weight].[WeighTime] AS DATE)").ECastType(), false); + mDisplayHelper.AddOptionItem("过磅单号", "_bill", "Weigh_ID", false); mDisplayHelper.AddOptionItem("结算日期", "_bill", "Date", false); + mDisplayHelper.AddOptionItem("结算单号", "_bill", "ID", false); mDisplayHelper.AddOptionItem("供应商", "_bill", "Supplier_Name", false); mDisplayHelper.AddOptionItem("收购头数", "_bill", "RealNumber", false); mDisplayHelper.AddOptionItem("收购重量", "_bill", "RealWeight", false); - mDisplayHelper.AddOptionItem("过磅单号", "_bill", "Weigh_ID", false); - mDisplayHelper.AddOptionItem("过磅日期", () => DQExpression.Snippet("CAST([_weight].[WeighTime] AS DATE)").ECastType(), false); mDisplayHelper.AddOptionItem("实付金额", "_bill", "ActualMoney", false); mDisplayHelper.AddOptionItem("养殖户", "_detail", "Farmer_Name", false); @@ -136,6 +138,7 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports mDisplayHelper.AddOptionItem("棚前头数", "_detail", "Number", false, true); mDisplayHelper.AddOptionItem("棚前重量", "_detail", "ExeWeight", false, true); mDisplayHelper.AddOptionItem("棚前金额", "_detail", "ExtMoney", false, true); + mDisplayHelper.AddOptionItem("付款对象", "_pay", "PayTarget", false); AddQueryOption("选项", mDisplayHelper.GetAllDisplayNames(), mDisplayHelper.GetDefaultSelelectedDisplayNames()); base.AddQueryOptions(vPanel); @@ -148,15 +151,42 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports var root = query.From.RootSource.Alias; var weight = new JoinAlias("_weight", typeof(WeighBill)); var detail = new JoinAlias("_detail", typeof(Weigh_FarmerDetail)); + var pay = new JoinAlias("_pay", typeof(PayTemp)); + PayTemp.Register(query); query.From.AddJoin(JoinType.Left, new DQDmoSource(weight), DQCondition.EQ(root, "Weigh_ID", weight, "ID")); query.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.EQ(root, "Weigh_ID", detail, "Weigh_ID")); + query.From.AddJoin(JoinType.Left, new DQDmoSource(pay), DQCondition.EQ(pay, "StatPay_ID", root, "ID")); mDisplayHelper.AddAlias("_bill", root); mDisplayHelper.AddAlias("_weight", weight); mDisplayHelper.AddAlias("_detail", detail); + mDisplayHelper.AddAlias("_pay", pay); mDisplayHelper.AddSelectColumns(query, (name) => OptionIsSelected("选项", name), SumColumnNames, ColumnNames); query.Where.Conditions.Add(DQCondition.EQ(root, "Domain_ID", DomainContext.Current.ID)); return query; } + + class PayTemp + { + public long StatPay_ID { get; set; } + + public NamedValue<付款对象>? PayTarget { get; set; } + + public static void Register(DQueryDom root) + { + var payDetail = new JoinAlias(typeof(Pay_Detail)); + var pay = new JoinAlias("_pay", typeof(Pay)); + + var query = new DQueryDom(pay); + query.From.AddJoin(JoinType.Inner, new DQDmoSource(payDetail), DQCondition.EQ(payDetail, "Pay_ID", pay, "ID")); + query.Columns.Add(DQSelectColumn.Field("StatPay_ID", payDetail)); + query.Columns.Add(DQSelectColumn.Field("PayTarget")); + query.GroupBy.Expressions.Add(DQExpression.Field(payDetail, "StatPay_ID")); + query.GroupBy.Expressions.Add(DQExpression.Field("PayTarget")); + query.Where.Conditions.Add(DQCondition.And(DQCondition.GreaterThanOrEqual("BillState", 单据状态.已审核), DQCondition.EQ("Domain_ID", DomainContext.Current.ID))); + + root.RegisterQueryTable(typeof(PayTemp), new string[] { "StatPay_ID", "PayTarget" }, query); + } + } } }