Employee_ChooseUserToGroup.cs 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using UAS_MES.CustomControl.DataGrid_View;
  11. using UAS_MES.DataOperate;
  12. using UAS_MES.PublicMethod;
  13. namespace UAS_MES.Employee
  14. {
  15. public partial class Employee_ChooseUserToGroup : Form
  16. {
  17. DataHelper dh;
  18. DataTable dt;
  19. LogStringBuilder sql = new LogStringBuilder();
  20. AutoSizeFormClass asc = new AutoSizeFormClass();
  21. public Employee_ChooseUserToGroup()
  22. {
  23. InitializeComponent();
  24. }
  25. public Employee_ChooseUserToGroup(string GroupCode)
  26. {
  27. InitializeComponent();
  28. }
  29. public Employee_ChooseUserToGroup(string GroupCode, string GroupName)
  30. {
  31. InitializeComponent();
  32. ug_code_title.Text = GroupCode;
  33. ug_name_title.Text = GroupName;
  34. em_code2.KeyDown += KeyDownEvent;
  35. em_name2.KeyDown += KeyDownEvent;
  36. em_name3.KeyDown += KeyDownEvent;
  37. em_code3.KeyDown += KeyDownEvent;
  38. }
  39. private void 人员选择_Load(object sender, EventArgs e)
  40. {
  41. dh = new DataHelper();
  42. //组内人员添加全选列
  43. DataGridViewCheckBoxColumn dgvc = new DataGridViewCheckBoxColumn();
  44. dgvc.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
  45. dgvc.Width = 90;
  46. dgvc.Name = "全选";
  47. DataGridViewCheckBoxHeaderCell ch1 = new DataGridViewCheckBoxHeaderCell(InGroupUser, dgvc);
  48. dgvc.HeaderCell = ch1;
  49. this.InGroupUser.Columns.Insert(0, dgvc);
  50. //组外人员添加全选列
  51. DataGridViewCheckBoxColumn dgvc1 = new DataGridViewCheckBoxColumn();
  52. dgvc1.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
  53. dgvc1.Width = 90;
  54. dgvc1.Name = "全选";
  55. DataGridViewCheckBoxHeaderCell ch2 = new DataGridViewCheckBoxHeaderCell(OutGroupUser, dgvc1);
  56. dgvc1.HeaderCell = ch2;
  57. this.OutGroupUser.Columns.Insert(0, dgvc1);
  58. //组内人员用户编号放大镜
  59. em_code3.FormName = Name;
  60. em_code3.TableName = "employee";
  61. em_code3.SelectField = "em_code # 用户编号,em_name # 用户姓名,em_depart # 部门,em_position # 岗位,em_indate # 入职日期";
  62. em_code3.SetValueField = new string[] { "em_code3", "em_name3" };
  63. //组外人员用户编号放大镜
  64. em_code2.FormName = Name;
  65. em_code2.TableName = "employee";
  66. em_code2.SelectField = "em_code # 用户编号,em_name # 用户姓名,em_depart # 部门,em_position # 岗位,em_indate # 入职日期";
  67. em_code2.SetValueField = new string[] { "em_code2", "em_name2" };
  68. if (em_name3.Text != "" || ug_code_title.Text != "")
  69. ScreenInGroup.PerformClick();
  70. ScreenOutGroup.PerformClick();
  71. asc.controllInitializeSize(this);
  72. }
  73. private void UserIn_Click(object sender, EventArgs e)
  74. {
  75. List<string> MoveInUserCode = new List<string>();
  76. for (int i = 0; i < OutGroupUser.Rows.Count; i++)
  77. {
  78. if (OutGroupUser.Rows[i].Cells["全选"].FormattedValue.ToString() == "True")
  79. MoveInUserCode.Add(OutGroupUser.Rows[i].Cells["em_code1"].Value.ToString());
  80. }
  81. //存在修改的数据
  82. if (MoveInUserCode.ToArray().Length > 0)
  83. {
  84. string ConfirmAdd = MessageBox.Show(this.ParentForm, "确认添加所选人员到分组?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString();
  85. if (ConfirmAdd == "Yes")
  86. {
  87. sql.Clear();
  88. sql.Append("insert into cs$empgroup (eg_id,eg_emcode,eg_groupcode,eg_name)");
  89. sql.Append("values (cs$empgroup_seq.nextval,:em_code,'" + ug_code_title.Text + "','" + em_name3.Text + "')");
  90. dh.BatchInsert(sql.GetString(), new string[] { "em_code", }, MoveInUserCode.ToArray());
  91. ScreenInGroup.PerformClick();
  92. ScreenOutGroup.PerformClick();
  93. }
  94. }
  95. else
  96. MessageBox.Show("请先勾选人员");
  97. }
  98. private void UserOut_Click(object sender, EventArgs e)
  99. {
  100. List<string> MoveOutUserID = new List<string>();
  101. for (int i = 0; i < InGroupUser.Rows.Count; i++)
  102. {
  103. if (InGroupUser.Rows[i].Cells["全选"].FormattedValue.ToString() == "True")
  104. MoveOutUserID.Add(InGroupUser.Rows[i].Cells["eg_id"].Value.ToString());
  105. }
  106. if (MoveOutUserID.ToArray().Length > 0)
  107. {
  108. string ConfirmRemove = MessageBox.Show(this.ParentForm, "确认移除所选人员?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString();
  109. if (ConfirmRemove == "Yes")
  110. {
  111. dh.BatchInsert("delete from cs$empgroup where eg_id=:eg_id", new string[] { "eg_id" }, MoveOutUserID.ToArray());
  112. ScreenInGroup.PerformClick();
  113. ScreenOutGroup.PerformClick();
  114. }
  115. }
  116. else
  117. MessageBox.Show("请先勾选人员");
  118. }
  119. /// <summary>
  120. /// 组内人员筛选
  121. /// </summary>
  122. /// <param name="sender"></param>
  123. /// <param name="e"></param>
  124. private void ScreenInGroup_Click(object sender, EventArgs e)
  125. {
  126. sql.Clear();
  127. sql.Append("select eg_id,em_code,em_name,em_indate,em_recorder from cs$empgroup ");
  128. sql.Append("left join employee on eg_emcode=em_code where em_code like ");
  129. sql.Append("'%" + em_code3.Text + "%' and em_name like '%" + em_name3.Text + "%' and eg_groupcode like '%" + ug_code_title.Text + "%'");
  130. dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
  131. BaseUtil.FillDgvWithDataTable(InGroupUser, dt);
  132. ScreenOutGroup.PerformClick();
  133. }
  134. /// <summary>
  135. /// 组外人员筛选
  136. /// </summary>
  137. /// <param name="sender"></param>
  138. /// <param name="e"></param>
  139. private void ScreenOutGroup_Click(object sender, EventArgs e)
  140. {
  141. sql.Clear();
  142. sql.Append("select distinct em_code,em_name,em_position,em_depart from employee left join ");
  143. sql.Append("cs$empgroup on eg_emcode=em_code and eg_groupcode='" + ug_code_title.Text + "'");
  144. if (ug_code_title.Text != "" || ug_name_title.Text != "")
  145. {
  146. sql.Append(" where ");
  147. if (ug_code_title.Text != "" && ug_name_title.Text == "")
  148. sql.Append("(eg_groupcode <> '" + ug_code_title.Text + "' or eg_groupcode is null)");
  149. else if (ug_name_title.Text == "" && ug_name_title.Text != "")
  150. sql.Append("(eg_name <> '" + ug_name_title.Text + "' or eg_name is null)");
  151. else if (ug_code_title.Text != "" && ug_name_title.Text != "")
  152. sql.Append("(eg_groupcode <> '" + ug_code_title.Text + "'or eg_groupcode is null) and (eg_name <> '" + ug_name_title.Text + "' or eg_name is null)");
  153. }
  154. if (sql.GetString().Contains("where"))
  155. {
  156. string condition = BaseUtil.GetScreenSqlCondition(em_code2, em_name2);
  157. if (condition != "")
  158. sql.Append(" and " + condition.Replace("where", ""));
  159. }
  160. else
  161. sql.Append(BaseUtil.GetScreenSqlCondition(em_code2, em_name2));
  162. dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
  163. BaseUtil.FillDgvWithDataTable(OutGroupUser, dt);
  164. }
  165. private void 人员选择_SizeChanged(object sender, EventArgs e)
  166. {
  167. asc.controlAutoSize(this);
  168. }
  169. private void KeyDownEvent(object sender, KeyEventArgs e)
  170. {
  171. if (e.KeyCode == Keys.Enter)
  172. {
  173. Control c = (Control)sender;
  174. if (c.Name == "em_code3" || c.Name == "em_name3")
  175. ScreenInGroup.PerformClick();
  176. else if (c.Name == "em_code2" || c.Name == "em_name2")
  177. ScreenOutGroup.PerformClick();
  178. }
  179. }
  180. }
  181. }