using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using DevComponents.DotNetBar; using System.Data.SqlClient; namespace PipeLine.Forms { public partial class FrmDepartMgr : Office2007Form { private string currentUser; public FrmDepartMgr(string username) { InitializeComponent(); currentUser = username; } private void FrmAddRole_Load(object sender, EventArgs e) { showUser(); showPipeLine(); } private void showUser() { lstDepartment.Items.Clear(); string sql = "select department from department"; DataTable dtshowPartment = OledbHelper.ExecuteDataTable(sql); foreach (DataRow row in dtshowPartment.Rows) { lstDepartment.Items.Add(row[0].ToString()); } } private void showPipeLine() { string sql = "select pipeline from pipelineType"; DataTable dtshowpipeLine = OledbHelper.ExecuteDataTable(sql); foreach (DataRow row in dtshowpipeLine.Rows) { clbDeparts.Items.Add(row[0].ToString()); } } private void btnApply_Click(object sender, EventArgs e) { if (lstDepartment.SelectedItem == null) { MessageBox.Show("请选择要授权的部门!"); return; } string selectedDepartment = lstDepartment.SelectedItem.ToString(); try { string sqldel = "delete from de_pipeLine where departmentId = (select id from department where department='" + selectedDepartment + "')"; OledbHelper.sqlExecuteNonQuery(sqldel); for (int i = 0; i < this.clbDeparts.CheckedItems.Count; i++) { string checkedDepart = clbDeparts.CheckedItems[i].ToString(); string sqldepartmentid = "select id from department where department='" + selectedDepartment + "'"; DataTable dtdepartmentid = OledbHelper.ExecuteDataTable(sqldepartmentid); int departmentid =Convert.ToInt32(dtdepartmentid.Rows[0][0]); string sqlpipelineid = "select id from pipelineType where pipeline='" + checkedDepart + "'"; DataTable dtpipelineid = OledbHelper.ExecuteDataTable(sqlpipelineid); int pipelineid = Convert.ToInt32(dtpipelineid.Rows[0][0]); string insertpartment = "insert into de_pipeLine(departmentId,pipelineTypeId) values('" + departmentid + "','" + pipelineid + "')"; OledbHelper.sqlExecuteNonQuery(insertpartment); } } catch (Exception ex) { MessageBox.Show(ex.Message); return; } } private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } private void btnSelectAll_Click(object sender, EventArgs e) { for (int i = 0; i < this.clbDeparts.Items.Count; i++) { this.clbDeparts.SetItemChecked(i, true); } } private void btnUnCheck_Click(object sender, EventArgs e) { for (int i = 0; i < this.clbDeparts.Items.Count; i++) { if (clbDeparts.GetItemChecked(i) == true) { this.clbDeparts.SetItemChecked(i, false); } else { this.clbDeparts.SetItemChecked(i, true); } } } private void lstDepartment_SelectedValueChanged(object sender, EventArgs e) { string selectedDepartment = lstDepartment.SelectedItem.ToString(); string sqlSetPipeLine = "select pipeline from pipeLineType where id in (select pipelineTypeId from de_pipeLine where departmentId =(select id from department where department = '" + selectedDepartment + "'))"; //查询记录数 //listDeparts.SelectedItems.Clear(); for (int i = 0; i < this.clbDeparts.Items.Count; i++) { this.clbDeparts.SetItemChecked(i, false); } string department = ""; DataTable dtdepartment = OledbHelper.ExecuteDataTable(sqlSetPipeLine); foreach (DataRow row in dtdepartment.Rows) { department += row[0].ToString() + ","; } string[] depart_Split = department.Split(new char[] { ',' }); for (int i = 0; i < clbDeparts.Items.Count; i++) { string tempDepart = clbDeparts.Items[i].ToString(); for (int j = 0; j < depart_Split.Length; j++) { if (tempDepart == depart_Split[j] && depart_Split[j] != "") { clbDeparts.SetItemChecked(i, true); continue; } } } } private void btnAddPartment_Click(object sender, EventArgs e) { if (txtNewPartment.Text == "") { MessageBox.Show("请输入部门名称!"); return; } try { string sql = "insert into department(department) values('" + txtNewPartment.Text.Trim() + "')"; OledbHelper.sqlExecuteNonQuery(sql); showUser(); } catch (Exception ex) { MessageBox.Show(ex.Message); return; } } private void btnDelDepartment_Click(object sender, EventArgs e) { if (lstDepartment.SelectedItem == null) { MessageBox.Show("请选择要删除的部门!"); return; } string delDepartment = lstDepartment.SelectedItem.ToString(); string sqlDelDepartment = "delete from department where department='"+delDepartment+"'"; string sqlDeluserDepartment = "delete from user_department where departmentId=(select id from department where department='" + delDepartment + "')"; string sqlDelDePipelineType = "delete from de_pipeLine where departmentId =(select id from department where department='" + delDepartment + "')"; try { OledbHelper.sqlExecuteNonQuery(sqlDelDePipelineType); OledbHelper.sqlExecuteNonQuery(sqlDeluserDepartment); OledbHelper.sqlExecuteNonQuery(sqlDelDepartment); showUser(); } catch(Exception ex) { MessageBox.Show(ex.Message); return; } } } }