diff --git a/B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/Pay_/PayEdit.cs b/B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/Pay_/PayEdit.cs index 8a9c277..7fdd94c 100644 --- a/B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/Pay_/PayEdit.cs +++ b/B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/Pay_/PayEdit.cs @@ -32,10 +32,12 @@ namespace BWP.Web.Pages.B3SheepButcherManage.Bills.Pay_ var config = new AutoLayoutConfig(); layoutManager.Config = config; config.Add("AccountingUnit_ID"); - config.Add("Supplier_ID"); config.Add("Department_ID"); config.Add("Employee_ID"); config.Add("Date"); + config.Add("Supplier_ID"); + config.Add("Supplier_Bank"); + config.Add("Supplier_BankAccount"); config.Add("Account_ID"); config.Add("Account_BankAccountNumber"); config.Add("PaySupplier_ID"); @@ -66,6 +68,36 @@ else __DFContainer.setValue('PaySupplier_AccountNo',''); } +},{ });"; + paySupplierInput.OnClientSelected = script; + } + } + if (layoutManager.Contains("Supplier_ID")) + { + var paySupplierInput = layoutManager["PaySupplier_ID"].InputControl as DFChoiceBox; + + if (paySupplierInput != null) + { + var script = @" +var txtValue =parseInt(__DFContainer.getValue('Supplier_ID')); +simpleRestCall('/MainSystem/B3CowButcherManage/Rpcs/SupplierRpc/GetBySupplierID',[txtValue,['Bank','BankAccount']], +function(result){ +if(typeof(result.Bank)!='undefined') +{ + __DFContainer.setValue('Supplier_Bank',result.Bank); +} +else +{ +__DFContainer.setValue('Supplier_Bank',''); +} +if(typeof(result.BankAccount)!='undefined') +{ + __DFContainer.setValue('Supplier_BankAccount',result.BankAccount); +} +else +{ +__DFContainer.setValue('Supplier_BankAccount',''); +} },{ });"; paySupplierInput.OnClientSelected = script; } @@ -97,7 +129,14 @@ __DFContainer.setValue('PaySupplier_AccountNo',''); // _detailGrid.Columns.Add(new DFEditGridColumn("PaidMoney")); _detailGrid.Columns.Add(new DFEditGridColumn("AlreadyPaidMoney")); - _detailGrid.Columns.EAdd(new DFEditGridColumn("Money")).SumMode = SumMode.Sum;//本次 + _detailGrid.Columns.EAdd(new DFEditGridColumn("Money") { SumMode = SumMode.Sum }).InitEditControl += (sender, e) => { + e.Control.Attributes["onchange"] = "var money = dfContainer.getValue('Money');var sf = dfContainer.getValue('ServiceFee');dfContainer.setValue('SubServiceMoney',money-sf)"; + };//本次 + _detailGrid.Columns.EAdd(new DFEditGridColumn("ServiceFee") { SumMode = SumMode.Sum }).InitEditControl += (sender, e) => + { + e.Control.Attributes["onchange"] = "var money = dfContainer.getValue('Money');var sf = dfContainer.getValue('ServiceFee');dfContainer.setValue('SubServiceMoney',money-sf)"; + };//手续费 + _detailGrid.Columns.EAdd(new DFEditGridColumn("SubServiceMoney")).SumMode = SumMode.Sum; _detailGrid.Columns.Add(new DFEditGridColumn("Remark")); mDFContainer.AddNonDFControl(_detailGrid, "$detailGrid"); diff --git a/B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/Pay_/PayList.cs b/B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/Pay_/PayList.cs index c1c8b59..207aa45 100644 --- a/B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/Pay_/PayList.cs +++ b/B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/Pay_/PayList.cs @@ -49,7 +49,7 @@ namespace BWP.Web.Pages.B3SheepButcherManage.Bills.Pay_ if (!CheckDefaultRole("数据分析", true)) return; var button = new TSButton("数据分析") { UseSubmitBehavior = false }; - button.OnClientClick = "preventEventDefault(event);OpenUrlInTopTab('B3SheepButcherManage/Reports/PayAnalyse.aspx','数据分析');"; + button.OnClientClick = "preventEventDefault(event);OpenUrlInTopTab('B3SheepButcherManage/Reports/PayAnalyse_/PayAnalyse.aspx','数据分析');"; toolbar.Add(button); } } diff --git a/B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Reports/PayAnalyse_/PayAnalyse.cs b/B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Reports/PayAnalyse_/PayAnalyse.cs index 3db145c..fd39d2e 100644 --- a/B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Reports/PayAnalyse_/PayAnalyse.cs +++ b/B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Reports/PayAnalyse_/PayAnalyse.cs @@ -1,10 +1,13 @@ using BWP.B3CowButcherManage; using BWP.B3Frameworks; +using BWP.B3Frameworks.BO.MoneyTemplate; using BWP.B3SheepButcherManage.BO; using BWP.Web.Layout; using BWP.Web.Utils; using Forks.EnterpriseServices.DomainObjects2; using Forks.EnterpriseServices.DomainObjects2.DQuery; +using Forks.EnterpriseServices.SqlDoms; +using Forks.Utils; using System; using System.Collections.Generic; using System.Linq; @@ -30,7 +33,7 @@ namespace BWP.Web.Pages.B3SheepButcherManage.Reports.PayAnalyse_ protected override string AccessRoleName { - get { return "B3SheepButcherManage.付款单.数据分析"; } + get { return "B3SheepButcherManage.羊付款单.数据分析"; } } protected override void AddQueryControls(VLayoutPanel vPanel)//查询条件 @@ -63,22 +66,42 @@ namespace BWP.Web.Pages.B3SheepButcherManage.Reports.PayAnalyse_ mDisplayHelper.AddOptionItem("供应商", "bill", "Supplier_Name", false); mDisplayHelper.AddOptionItem("付款日期", "bill", "Date", false); mDisplayHelper.AddOptionItem("付款金额", "bill", "Money", false, true); + mDisplayHelper.AddOptionItem("手续费", "detail", "ServiceFee", false, true); + mDisplayHelper.AddOptionItem("扣费额金额", "detail", "SubServiceMoney", false, true); AddQueryOption("选项", mDisplayHelper.GetAllDisplayNames(), mDisplayHelper.GetDefaultSelelectedDisplayNames()); - base.AddQueryOptions(vPanel); } protected override DQueryDom GetQueryDom() { var dom = base.GetQueryDom(); - //dom.Columns.Add(DQSelectColumn.Field("Supplier_ID")); - //dom.Columns.Add(DQSelectColumn.Field("Supplier_Name")); var bill = dom.From.RootSource.Alias; + var detail = new JoinAlias(typeof(DetailTemp)); + DetailTemp.Register(dom); + dom.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.EQ(bill, "ID", detail, "Pay_ID")); mDisplayHelper.AddAlias("bill", JoinAlias.Create("bill")); - //mDisplayHelper.AddAlias("bill", JoinAlias.Create("supplier")); + mDisplayHelper.AddAlias("detail", detail); mDisplayHelper.AddSelectColumns(dom, (name) => OptionIsSelected("选项", name), SumColumnIndexs); return dom; } + + class DetailTemp + { + public long? Pay_ID { get; set; } + public Money<金额>? ServiceFee { get; set; } + public Money<金额>? SubServiceMoney { get; set; } + + public static void Register(DQueryDom root) + { + var query = new DQueryDom(new JoinAlias(typeof(Pay_Detail))); + query.Columns.Add(DQSelectColumn.Field("Pay_ID")); + query.Columns.Add(DQSelectColumn.Sum("ServiceFee")); + query.Columns.Add(DQSelectColumn.Sum("SubServiceMoney")); + query.GroupBy.Expressions.Add(DQExpression.Field("Pay_ID")); + + root.RegisterQueryTable(typeof(DetailTemp), new string[] { "Pay_ID", "ServiceFee", "SubServiceMoney" }, query); + } + } } } diff --git a/B3SheepButcherManage/BL/Bill/PayBL/PayBL.cs b/B3SheepButcherManage/BL/Bill/PayBL/PayBL.cs index 6fe5c79..4dea9e8 100644 --- a/B3SheepButcherManage/BL/Bill/PayBL/PayBL.cs +++ b/B3SheepButcherManage/BL/Bill/PayBL/PayBL.cs @@ -23,6 +23,13 @@ namespace BWP.B3SheepButcherManage.BL.Bill.PayBL public class PayBL : DepartmentWorkFlowBillBL, IPayBL { + protected override void beforeSave(Pay dmo) + { + dmo.Money = dmo.Details.Sum(x => (x.Money ?? 0).Value); + foreach (var detail in dmo.Details) + detail.SubServiceMoney = (detail.Money ?? 0).Value - (detail.ServiceFee ?? 0).Value; + base.beforeSave(dmo); + } protected override void doCheck(Pay dmo) { diff --git a/B3SheepButcherManage/BO/Bill/Pay/Pay.cs b/B3SheepButcherManage/BO/Bill/Pay/Pay.cs index 09d1461..1ddc686 100644 --- a/B3SheepButcherManage/BO/Bill/Pay/Pay.cs +++ b/B3SheepButcherManage/BO/Bill/Pay/Pay.cs @@ -82,6 +82,16 @@ namespace BWP.B3SheepButcherManage.BO [Join("Supplier_ID", "ID")] public string Supplier_Name { get; set; } + [LogicName("开户银行")] + [ReferenceTo(typeof(Supplier), "Bank")] + [Join("Supplier_ID", "ID")] + public string Supplier_Bank { get; set; } + + [LogicName("银行账号")] + [ReferenceTo(typeof(Supplier), "BankAccount")] + [Join("Supplier_ID", "ID")] + public string Supplier_BankAccount { get; set; } + [LogicName("付款账户")] [ReferenceTo(typeof(Account), "Name")] [Join("Account_ID", "ID")] diff --git a/B3SheepButcherManage/BO/Bill/Pay/Pay_Detail.cs b/B3SheepButcherManage/BO/Bill/Pay/Pay_Detail.cs index 9189b4f..535d633 100644 --- a/B3SheepButcherManage/BO/Bill/Pay/Pay_Detail.cs +++ b/B3SheepButcherManage/BO/Bill/Pay/Pay_Detail.cs @@ -50,6 +50,12 @@ namespace BWP.B3SheepButcherManage.BO [LogicName("已付金额")] public Money<金额>? AlreadyPaidMoney { get; set; } + + [LogicName("手续费")] + public Money<金额>? ServiceFee { get; set; } + + [LogicName("扣费额金额")] + public Money<金额>? SubServiceMoney { get; set; } } [Serializable]