Employee_ChooseUserToGroup.cs 8.5 KB

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