#region using System; using System.Collections.Generic; using System.Drawing; using CSFrameworkV5.Business; using CSFrameworkV5.Common; using CSFrameworkV5.Core; using CSFrameworkV5.Library.CommonClass; #endregion namespace CSFrameworkV5.Library { public partial class frmBaseEditorQueryBusiness : frmBaseEditorQuery, IBusinessSupportable { protected bllBaseBusiness _BLL = null; public frmBaseEditorQueryBusiness() { InitializeComponent(); } private void frmBaseEditorQueryBusiness_Load(object sender, EventArgs e) { // } public override void InitButtons() { base.InitButtons(); var dataButton = GetBusinessButtons(); //数据操作按钮 Buttons.AddRange(dataButton); } #region IBusinessSupportable 成员 /// /// 返回业务单据窗体的按钮数组 /// /// public virtual IButtonInfo[] GetBusinessButtons() { var list = new List(); //审核/反审 if (ButtonAuthorized(ButtonAuthority.APPROVAL)) { list.Add(ToolbarRegister.CreateButton("btnApproval", "审核", ToolBarGroup.审核功能, Globals.LoadBitmap("24_Approval.ico"), new Size(57, 28), true, false, DoApproval)); list.Add(ToolbarRegister.CreateButton("btnApprovalUndo", "反审", ToolBarGroup.审核功能, Globals.LoadBitmap("24_ApprovalUndo.ico"), new Size(57, 28), true, false, DoApprovalUndo)); } //查看日志 if (ButtonAuthorized(ButtonAuthority.SHOW_MOD_HISTORY)) list.Add(ToolbarRegister.CreateButton("btnShowModifyHistory", "查看日志", ToolBarGroup.扩展功能1, Globals.LoadBitmap("32_EditLog.png"), new Size(57, 28), true, true, DoShowModifyHistory)); return list.ToArray(); } /// /// 审核单据 /// /// public virtual void DoApproval(IButtonInfo button) { AssertFocusedRow(); var row = _SummaryView.GetDataRow(_SummaryView.FocusedRowHandle); var docNo = row[_BLL.KeyFieldName].ToStringEx(); if (_BLL.IsApproved(row)) { Msg.Warning($"单据<{docNo}>已经审核,不可重复操作!"); } else { if (Msg.AskQuestion($"确定要审核单据<{docNo}>吗?")) { _BLL.ApprovalBusiness(row); //审核单据 _SummaryView.RefreshRow(_SummaryView.FocusedRowHandle); DoViewContent(null); //显示单据明细 } } } public virtual void DoApprovalUndo(IButtonInfo button) { AssertFocusedRow(); var row = _SummaryView.GetDataRow(_SummaryView.FocusedRowHandle); var docNo = row[_BLL.KeyFieldName].ToStringEx(); if (!_BLL.IsApproved(row)) { Msg.Warning($"单据<{docNo}>没有审核,不需要反审核操作!"); } else { if (Msg.AskQuestion($"确定要反审核单据<{docNo}>吗?")) { _BLL.ApprovalBusinessUndo(row); //审核单据 _SummaryView.RefreshRow(_SummaryView.FocusedRowHandle); DoViewContent(null); //显示单据明细 } } } /// /// 查看单据的修改历史记录 /// /// public virtual void DoShowModifyHistory(IButtonInfo button) { AssertFocusedRow(); var form = MdiTools.OpenChildForm(MdiParent as IMdiForm, typeof(frmLogEditHistory), false); if (form != null) { var keyValue = ""; if (tcBusiness.SelectedTabPageIndex == 0) //数据查看 keyValue = _SummaryView.GetDataRow(_SummaryView.FocusedRowHandle)[ _BLL.KeyFieldName].ToStringEx(); else //数据编辑 keyValue = _BLL.DataBinder != null ? _BLL.DataBindRow[_BLL.KeyFieldName].ToStringEx() : ""; (form as frmLogEditHistory).ShowData(_BLL.SummaryTableName, keyValue, DateTime.Today); } } /// /// 外部调用接口,显示单据 /// /// 单据号码 public virtual void ShowBusiness(string docNo) { Msg.ShowInformation("请在派生类实现些方法,主键:" + docNo); } #endregion } }