/*********************** * 说明:提醒人确认人设置 * 创建人:龚宇超 * 创建日期: * 修改人: * 修改日期: * 修改备注: * 版本:1.0.0.0 ***********************/ using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Lskj.Control.Model; using Lskj.Util; using Lskj.Control; using Lskj.Data; using Lskj.Business.Impl; namespace Lskj.Control { public partial class FrmRemindSelectEx : BaseUserControl { public FrmRemindSelectEx() { InitializeComponent(); } /// /// Occurs when [on ok callback]. /// public event EventHandler OnOkCallback; #region 私有变量 /// /// 键值 /// private string _fieldValue; /// /// 模块编号 /// private string _menuCode; #endregion #region 初始化控件 /// /// 说明:初始化控件 /// 创建人:龚宇超 /// 创建日期:2017-12-22 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// public void InitializeSetting(string fieldValue, string menuCode) { try { this._fieldValue = fieldValue; this._menuCode = menuCode; //创建列 this.gridMain.SetReadOnlyColumns(BaseAuditImpl.GetRemindSelectColumn()); this.gridRemind.SetReadOnlyColumns(BaseAuditImpl.GetPersonColumn()); this.gridConfirm.SetReadOnlyColumns(BaseAuditImpl.GetPersonColumn()); //初始化树 this.tv_left.TreeNodeKeyField = "SpeciesNo"; this.tv_left.TreeNodeTextField = "SpeciesName"; this.tv_left.BindTreeView(BaseAuditImpl.BindRemindSelectTree()); this.tv_left.TreeNodeSelectAfter += new TreeViewEventHandler(treeView_TreeNodeSelectAfter); this.InitGridView(); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } #endregion #region 选中树节点后 /// /// 说明:选中树节点后 /// 创建人:龚宇超 /// 创建日期:2017-01-31 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void treeView_TreeNodeSelectAfter(object sender, TreeViewEventArgs e) { try { if (e.Action == TreeViewAction.ByMouse) { this.gridMain.SetGridViewDataSource(BaseAuditImpl.GetRemindSelectOpers(e.Node.Name)); } } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } #endregion #region 初始化表格 /// /// 说明:初始化表格 /// 创建人:龚宇超 /// 创建日期:2017-12-22 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void InitGridView() { this.gridMain.SetGridViewDataSource(MainImpl.GetEmployeeList()); DataRow opers = BaseAuditImpl.GetConfirmAndRemindOpers(_menuCode, _fieldValue); if (opers != null) { string confirmOpers = opers["comfirmOpers"] + ""; string remindOpers = opers["remindOpers"] + ""; if (!string.IsNullOrEmpty(confirmOpers)) this.gridConfirm.SetGridViewDataSource(confirmOpers.ToNewDataTable("UserName")); if (!string.IsNullOrEmpty(remindOpers)) this.gridRemind.SetGridViewDataSource(remindOpers.ToNewDataTable("UserName")); } } #endregion #region 添加提醒人 /// /// 说明:添加提醒人(可多选) /// 创建人:龚宇超 /// 创建日期:2017-12-22 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. private void btnAddRemind_Click(object sender, EventArgs e) { try { this.gridRemind.SetGridViewDataSource(AddOperData("Remind")); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } #endregion #region 添加确认人 /// /// 说明:添加确认人(可多选) /// 创建人:龚宇超 /// 创建日期:2017-12-22 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. private void btnAddConfirm_Click(object sender, EventArgs e) { try { this.gridConfirm.SetGridViewDataSource(AddOperData("Confirm")); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } #endregion #region (提醒,确认)添加共通函数 /// /// 说明:添加用户数据(提醒,确认共用) /// 创建人:龚宇超 /// 创建日期:2017-12-22 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// DataTable. private DataTable AddOperData(string flag) { DataTable dtTable = new DataTable(); int[] rows = this.gridMain.GridView.GetSelectedRows(); if (rows.Length == 0) { MessageUtil.Show(ResourceKeys.SelectRowIsNull); } else { dtTable = flag == "Confirm" ? this.gridConfirm.GridControl.DataSourceTable() : this.gridRemind.GridControl.DataSourceTable(); if (dtTable.Columns.Count == 0) { dtTable.Columns.Add("UserCode"); dtTable.Columns.Add("UserName"); } for (int i = 0; i < rows.Length; i++) { DataRow row = this.gridMain.GridView.GetDataRow(rows[i]); if (dtTable.Rows.Cast().FirstOrDefault(x => (x["UserName"] + "") == (row["UserName"] + "")) == null) { DataRow newRow = dtTable.NewRow(); newRow["UserCode"] = row["UserCode"]; newRow["UserName"] = row["UserName"]; dtTable.Rows.Add(newRow); } } } return dtTable; } #endregion #region 删除共通函数 /// /// 说明:删除共通函数(提醒,确认共用) /// 创建人:龚宇超 /// 创建日期:2017-12-22 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private DataTable DelOperData(GridControlEx gceControl) { DataTable dtTable = gceControl.GridControl.DataSourceTable(); int[] rows = gceControl.GridView.GetSelectedRows(); if (rows.Length == 0) { MessageUtil.Show(ResourceKeys.SelectRowIsNull); } else { if (dtTable != null) { for (int i = 0; i < rows.Length; i++) { DataRow row = gceControl.GridView.GetDataRow(rows[i]); DataRow selectRow = dtTable.Rows.Cast().FirstOrDefault(x => x["UserName"] + "" == row["UserName"] + ""); if (selectRow != null) { if (string.IsNullOrEmpty(selectRow["UserCode"] + "")) { MessageUtil.Show(string.Format(ResourceKeys.UnableToDeleteUser, selectRow["UserName"])); } else { dtTable.Rows.Remove(selectRow); } } } } } return dtTable; } #endregion #region 删除提醒人 /// /// 说明:删除提醒人 /// 创建人:龚宇超 /// 创建日期:2017-12-22 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. private void btnDelRemind_Click(object sender, EventArgs e) { try { this.gridRemind.SetGridViewDataSource(DelOperData(this.gridRemind)); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } #endregion #region 删除确认人 /// /// 说明:确认通过审核 /// 创建人:王一帆 /// 创建日期:2020-07-13 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. private void btnExamineOk_Click(object sender, EventArgs e) { try { if (OnOkCallback != null) { this.OnOkCallback(sender, e); } } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } #endregion #region 删除通过审核 /// /// 说明:删除确认人 /// 创建人:龚宇超 /// 创建日期:2017-12-22 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. private void btnDelConfirm_Click(object sender, EventArgs e) { try { this.gridConfirm.SetGridViewDataSource(DelOperData(this.gridConfirm)); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } #endregion #region 关闭 /// /// 说明:关闭窗口时候记录提醒人和确认人 /// 创建人:龚宇超 /// 创建日期:2017-12-22 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The remind opers. /// The confirm opers. public void GetClosingSelectOpers(ref string remindOpers, ref string confirmOpers) { DataTable dtRemind = this.gridRemind.GridControl.DataSourceTable(); DataTable dtConfirm = this.gridConfirm.GridControl.DataSourceTable(); foreach (DataRow item in dtRemind.Rows) { remindOpers += item["UserName"] + ","; } foreach (DataRow item in dtConfirm.Rows) { confirmOpers += item["UserName"] + ","; } remindOpers = remindOpers.TrimEnd(','); confirmOpers = confirmOpers.TrimEnd(','); } #endregion } }