Files
lserp_cs_6.0/插件库/Lskj.Control/FrmRemindSelectEx.cs
cyf ab56a9bcf7 基线 SVN r240
SVN-Revision: r240
2025-02-06 06:46:06 +00:00

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
}
}