ab56a9bcf7
SVN-Revision: r240
388 lines
14 KiB
C#
388 lines
14 KiB
C#
/***********************
|
|
* 说明:提醒人确认人设置
|
|
* 创建人:龚宇超
|
|
* 创建日期:
|
|
* 修改人:
|
|
* 修改日期:
|
|
* 修改备注:
|
|
* 版本: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();
|
|
}
|
|
/// <summary>
|
|
/// Occurs when [on ok callback].
|
|
/// </summary>
|
|
public event EventHandler OnOkCallback;
|
|
#region 私有变量
|
|
/// <summary>
|
|
/// 键值
|
|
/// </summary>
|
|
private string _fieldValue;
|
|
/// <summary>
|
|
/// 模块编号
|
|
/// </summary>
|
|
private string _menuCode;
|
|
#endregion
|
|
|
|
#region 初始化控件
|
|
/// <summary>
|
|
/// <para>说明:初始化控件</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-22 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
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 选中树节点后
|
|
/// <summary>
|
|
/// <para>说明:选中树节点后</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-01-31 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
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 初始化表格
|
|
/// <summary>
|
|
/// <para>说明:初始化表格</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-22 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
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 添加提醒人
|
|
/// <summary>
|
|
/// <para>说明:添加提醒人(可多选)</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-22 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="sender">The source of the event.</param>
|
|
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
|
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 添加确认人
|
|
/// <summary>
|
|
/// <para>说明:添加确认人(可多选)</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-22 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="sender">The source of the event.</param>
|
|
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
|
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 (提醒,确认)添加共通函数
|
|
/// <summary>
|
|
/// <para>说明:添加用户数据(提醒,确认共用)</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-22 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <returns>DataTable.</returns>
|
|
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<DataRow>().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 删除共通函数
|
|
/// <summary>
|
|
/// <para>说明:删除共通函数(提醒,确认共用)</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-22 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
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<DataRow>().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 删除提醒人
|
|
/// <summary>
|
|
/// <para>说明:删除提醒人</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-22 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="sender">The source of the event.</param>
|
|
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
|
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 删除确认人
|
|
/// <summary>
|
|
/// <para>说明:确认通过审核</para>
|
|
/// <para>创建人:王一帆</para>
|
|
/// <para>创建日期:2020-07-13 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="sender">The source of the event.</param>
|
|
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
|
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 删除通过审核
|
|
/// <summary>
|
|
/// <para>说明:删除确认人</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-22 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="sender">The source of the event.</param>
|
|
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
|
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 关闭
|
|
/// <summary>
|
|
/// <para>说明:关闭窗口时候记录提醒人和确认人</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-22 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="RemindOpers">The remind opers.</param>
|
|
/// <param name="ConfirmOpers">The confirm opers.</param>
|
|
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
|
|
}
|
|
}
|