Employee_ChooseUserToGroup.cs 8.9 KB

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