Files
lserp_cs_5.0/插件库/Lskj.PubAccraditation/Lskj.PubAccraditation/frmRemindSelectForm.cs
T
2026-07-10 15:25:05 +08:00

340 lines
12 KiB
C#

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 CommonLib.data;
using DevExpress.XtraEditors;
using CommonLib;
using Lskj.Common;
namespace Lskj.PubAccraditation
{
public partial class frmRemindSelectForm : FormBase
{
// 传入参数
public string FieldValue;
// 需要返回的数据
public string ConfirmOpers = "";
public string RemindOpers = "";
// 左侧树,表名
private string Hr_PersonSpecTab = string.Empty;
public frmRemindSelectForm()
{
InitializeComponent();
tvLeft.GetTreeView.AfterSelect += new TreeViewEventHandler(tvLeft_AfterSelect);
}
protected override void OnLoad(EventArgs e)
{
this.GetPersonSpecTabName();
this.InitTreeViewEx();
this.InitGridViewEx();
}
#region 私有方法
private void GetPersonSpecTabName()
{
string sqlValue = "select * from p_SystemTab";
DataTable dtTable = SqlHelper.ExecuteDataSet(sqlValue).Tables[0];
if (dtTable.Columns.Contains("Hr_SpecTab"))
{
Hr_PersonSpecTab = dtTable.Rows[0]["Hr_SpecTab"] + "";
}
}
/// <summary>
/// 初始化树结构
/// </summary>
private void InitTreeViewEx()
{
string treeSql = string.Empty;
if (string.IsNullOrEmpty(Hr_PersonSpecTab))
{
treeSql = "select SpeciesNo,SpeciesName from Hr_PeraonnelSpecTab";
}
else
{
treeSql = "select SpeciesNo,SpeciesName from " + Hr_PersonSpecTab;
}
PubClass.BindTree(treeSql, tvLeft.GetTreeView);
}
/// <summary>
/// 初始化表格数据
/// </summary>
private void InitGridViewEx()
{
string sqlValue = "select employeeId id,loginaccount,employeename name from P_employeeTab where sign=0";
DataTable dtTable = SqlHelper.ExecuteDataSet(sqlValue).Tables[0];
gcMain.DataSource = dtTable;
string sqlValue2 = string.Format("select comfirmOpers,remindOpers from p_baseflowOper where modid = '{0}' and keyvalue='{1}'", ModuleId, FieldValue);
DataTable dtTable2 = SqlHelper.ExecuteDataSet(sqlValue2).Tables[0];
if (dtTable2.Rows.Count > 0)
{
string comfirm = dtTable2.Rows[0]["comfirmOpers"] + "";
string remind = dtTable2.Rows[0]["remindOpers"] + "";
string loginaccount = "loginaccount";
string name = "name";
if (!string.IsNullOrEmpty(comfirm))
{
DataTable dtConfirm = new DataTable();
dtConfirm.Columns.Add(loginaccount);
dtConfirm.Columns.Add(name);
comfirm = comfirm.Replace(" ", "").Replace(",,", ",").Trim(',');
string[] comfirms = comfirm.Split(',');
for (int i = 0; i < comfirms.Length; i++)
{
DataRow row = dtConfirm.NewRow();
row[name] = comfirms[i];
dtConfirm.Rows.Add(row);
}
gcConfirm.DataSource = dtConfirm;
}
if (!string.IsNullOrEmpty(remind))
{
DataTable dtRemind = new DataTable();
dtRemind.Columns.Add(loginaccount);
dtRemind.Columns.Add(name);
remind = remind.Replace(" ", "").Replace(",,", ",").Trim(',');
string[] reminds = remind.Split(',');
for (int i = 0; i < reminds.Length; i++)
{
DataRow row = dtRemind.NewRow();
row[name] = reminds[i];
dtRemind.Rows.Add(row);
}
gcRemind.DataSource = dtRemind;
}
}
}
#endregion
protected void tvLeft_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Action == TreeViewAction.ByMouse)
{
string strWhere = " and SpeciesNo like '" + e.Node.Name + "%'";
string sqlValue = "select employeeId id,loginaccount,employeename name from P_employeeTab where sign=0 " + strWhere;
DataTable dtTable = SqlHelper.ExecuteDataSet(sqlValue).Tables[0];
gcMain.DataSource = dtTable;
}
}
/// <summary>
/// 添加提醒人
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnAddRemind_Click(object sender, EventArgs e)
{
int[] rows = gvMain.GetSelectedRows();
if (rows.Length == 0)
{
XtraMessageBox.Show("请选择员工.");
}
else
{
string loginaccount = "loginaccount";
string name = "name";
DataTable dtTable = gcRemind.DataSource as DataTable;
if (dtTable == null)
{
dtTable = new DataTable();
dtTable.Columns.Add(loginaccount);
dtTable.Columns.Add(name);
}
for (int i = 0; i < rows.Length; i++)
{
DataRow row = gvMain.GetDataRow(rows[i]);
if (dtTable.Rows.Cast<DataRow>().FirstOrDefault(x => (x[name] + "") == (row[name] + "")) == null)
{
DataRow newRow = dtTable.NewRow();
newRow[loginaccount] = row[loginaccount];
newRow[name] = row[name];
dtTable.Rows.Add(newRow);
}
}
gcRemind.DataSource = dtTable;
}
}
/// <summary>
/// 添加确认人
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnAddConfirm_Click(object sender, EventArgs e)
{
int[] rows = gvMain.GetSelectedRows();
if (rows.Length == 0)
{
XtraMessageBox.Show("请选择员工.");
}
else
{
string loginaccount = "loginaccount";
string name = "name";
DataTable dtTable = gcConfirm.DataSource as DataTable;
if (dtTable == null)
{
dtTable = new DataTable();
dtTable.Columns.Add(loginaccount);
dtTable.Columns.Add(name);
}
for (int i = 0; i < rows.Length; i++)
{
DataRow row = gvMain.GetDataRow(rows[i]);
if (dtTable.Rows.Cast<DataRow>().FirstOrDefault(x => (x[name] + "") == (row[name] + "")) == null)
{
DataRow newRow = dtTable.NewRow();
newRow[loginaccount] = row[loginaccount];
newRow[name] = row[name];
dtTable.Rows.Add(newRow);
}
}
gcConfirm.DataSource = dtTable;
}
}
/// <summary>
/// 删除提醒人
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnDelRemind_Click(object sender, EventArgs e)
{
int[] rows = gvRemind.GetSelectedRows();
if (rows.Length == 0)
{
XtraMessageBox.Show("请选择要删除的员工.");
}
else
{
DataTable dtTable = gcRemind.DataSource as DataTable;
if (dtTable != null)
{
for (int i = 0; i < rows.Length; i++)
{
DataRow row = gvRemind.GetDataRow(rows[i]);
DataRow selectRow = dtTable.Rows.Cast<DataRow>().FirstOrDefault(x => x["name"] + "" == row["name"] + "");
if (selectRow != null)
{
if (string.IsNullOrEmpty(selectRow["loginaccount"] + ""))
{
XtraMessageBox.Show("无法删除[" + selectRow["name"] + "]员工.");
}
else
{
dtTable.Rows.Remove(selectRow);
}
}
}
gcRemind.DataSource = dtTable;
}
}
}
/// <summary>
/// 删除确认人
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnDelConfirm_Click(object sender, EventArgs e)
{
int[] rows = gvConfirm.GetSelectedRows();
if (rows.Length == 0)
{
XtraMessageBox.Show("请选择要删除的员工.");
}
else
{
DataTable dtTable = gcConfirm.DataSource as DataTable;
if (dtTable != null)
{
for (int i = 0; i < rows.Length; i++)
{
DataRow row = gvConfirm.GetDataRow(rows[i]);
DataRow selectRow = dtTable.Rows.Cast<DataRow>().FirstOrDefault(x => x["name"] + "" == row["name"] + "");
if (selectRow != null)
{
if (string.IsNullOrEmpty(selectRow["loginaccount"] + ""))
{
XtraMessageBox.Show("无法删除[" + selectRow["name"] + "]员工.");
}
else
{
dtTable.Rows.Remove(selectRow);
}
}
}
gcConfirm.DataSource = dtTable;
}
}
}
/// <summary>
/// 关闭
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void frmRemindSelectForm_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
this.DialogResult = XtraMessageBox.Show("退出是否审核?", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
DataTable dtRemind = gcRemind.DataSource as DataTable;
DataTable dtConfirm = gcConfirm.DataSource as DataTable;
if (dtRemind != null && dtRemind.Rows.Count > 0)
{
foreach (DataRow item in dtRemind.Rows)
{
RemindOpers += item["name"] + ",";
}
}
if (dtConfirm != null && dtConfirm.Rows.Count > 0)
{
foreach (DataRow item in dtConfirm.Rows)
{
ConfirmOpers += item["name"] + ",";
}
}
RemindOpers = RemindOpers.TrimEnd(',');
ConfirmOpers = ConfirmOpers.TrimEnd(',');
}
catch (Exception ex)
{
}
}
}
}