/// <summary>
        /// 删除
        /// </summary>
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (SelectedNode == null || SelectedNode.Tag == null)
            {
                MessageDialog.ShowPromptMessage("请选择需要删除的信息!");
                return;
            }
            else
            {
                View_HR_Dept dept = m_departmentServer.GetDeptByDeptCode(SelectedNode.Tag.ToString());

                if (MessageDialog.ShowEnquiryMessage("您是否确定要删除部门 [" + dept.部门名称 + "] 信息?") == DialogResult.Yes)
                {
                    if (!m_departmentServer.DeleteDeptInfo(dept, out m_error))
                    {
                        MessageDialog.ShowPromptMessage(m_error);
                        return;
                    }

                    刷新toolStripButton1_Click(null, null);
                }
                else
                {
                    return;
                }
            }
        }
        /// <summary>
        /// 生成树节点
        /// </summary>
        /// <param name="dept">部门信息</param>
        /// <returns>返回生成的树节点</returns>
        TreeNode GenerateTreeNode(View_HR_Dept dept)
        {
            TreeNode node = new TreeNode();

            node.Name = dept.部门代码;
            node.Text = string.Format("({0}) {1}", dept.部门代码, dept.部门名称);
            node.Tag  = dept;

            return(node);
        }
Пример #3
0
        /// <summary>
        /// 点击选择按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSelectField_Click(object sender, EventArgs e)
        {
            int index = 0;

            if (AllUser != null)
            {
                m_selectedUser = new List <View_SelectPersonnel>();

                foreach (DataGridViewRow item in dataGridView.Rows)
                {
                    if ((bool)item.Cells["选中"].Value)
                    {
                        View_SelectPersonnel user = (from r in m_lstAllUser
                                                     where r.员工编号 == item.Cells["员工编号"].Value.ToString()
                                                     select r).Single();
                        m_selectedUser.Add(user);
                    }

                    index++;
                }

                if (m_selectedUser.Count() == 0)
                {
                    MessageDialog.ShowPromptMessage("请在【选中】框内勾选人员");
                    return;
                }
            }
            else if (AllDept != null)
            {
                m_selectedDept = new List <View_HR_Dept>();

                foreach (DataGridViewRow item in dataGridView.Rows)
                {
                    if ((bool)item.Cells["选中"].Value)
                    {
                        View_HR_Dept user = (from r in m_lstAllDept
                                             where r.部门代码 == item.Cells["部门代码"].Value.ToString()
                                             select r).Single();
                        m_selectedDept.Add(user);
                    }

                    index++;
                }

                if (m_selectedDept.Count == index)
                {
                    m_count = "全部";
                }
            }

            this.DialogResult = DialogResult.OK;
        }
        /// <summary>
        /// 修改
        /// </summary>
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (SelectedNode == null || SelectedNode.Tag == null)
            {
                MessageDialog.ShowPromptMessage("请选择需要删除的信息!");
                return;
            }

            View_HR_Dept viewDept = m_departmentServer.GetDeptByDeptCode(SelectedNode.Tag.ToString());

            if (viewDept.部门代码 != txtCode.Text)
            {
                MessageDialog.ShowPromptMessage("部门编码不允许修改!");

                txtCode.Text = viewDept.部门代码;

                return;
            }

            HR_Dept dept = new HR_Dept();

            dept.DeptCode   = txtCode.Text;
            dept.DeptName   = txtName.Text;
            dept.DeptTypeID = m_deptTypes[cmbDeptType.SelectedIndex].TypeID;
            dept.OrderID    = Convert.ToInt32(numOrder.Value);
            dept.Telephone  = txtTelephone.Text;
            dept.Fax        = txtFax.Text;
            dept.DeleteFlag = false;
            dept.Remark     = txtRemark.Text;
            dept.Recorder   = BasicInfo.LoginID;
            dept.RecordTime = ServerTime.Time;
            dept.FatherCode = txtFatherCode.Text.Trim();

            if (!m_departmentServer.UpdataDeptInfo(dept, out m_error))
            {
                MessageDialog.ShowErrorMessage(m_error);

                return;
            }

            SelectedNode.Text = string.Format("({0}) {1}", dept.DeptCode, dept.DeptName);
            SelectedNode.Tag  = dept.DeptCode;

            MessageDialog.ShowPromptMessage("修改成功!");
            刷新toolStripButton1_Click(null, null);
        }
        /// <summary>
        /// 递归生成树
        /// </summary>
        /// <param name="parent">父节点</param>
        /// <param name="deptInfo">部门信息</param>
        void RecursionGenerateTree(TreeNode parent, List <View_HR_Dept> deptInfo)
        {
            for (int i = 0; deptInfo.Count > 0; i++)
            {
                View_HR_Dept curDept = deptInfo[i];

                if ((parent.Tag as View_HR_Dept).部门代码 != curDept.父级编码)
                {
                    continue;
                }

                TreeNode node = GenerateTreeNode(curDept);
                parent.Nodes.Add(node);

                if (deptInfo.Count > 0 && deptInfo[0].父级编码 == curDept.部门代码)
                {
                    RecursionGenerateTree(node, deptInfo);
                }
            }
        }
Пример #6
0
        /// <summary>
        /// 递归生成树
        /// </summary>
        /// <param name="parent">父节点</param>
        /// <param name="deptInfo">部门信息</param>
        void RecursionGenerateTree(TreeNode parent, List <View_HR_Dept> deptInfo)
        {
            for (; deptInfo.Count > 0;)
            {
                View_HR_Dept curDept = deptInfo[0];

                if ((parent.Tag as View_HR_Dept).部门代码 != curDept.父级编码)
                {
                    break;
                }

                TreeNode node = GenerateTreeNode(curDept);
                parent.Nodes.Add(node);
                deptInfo.RemoveAt(0);

                if (deptInfo.Count > 0 && deptInfo[0].父级编码 == curDept.部门代码)
                {
                    RecursionGenerateTree(node, deptInfo);
                }
            }
        }
Пример #7
0
        /// <summary>
        /// 通过部门编码删除某一部门
        /// </summary>
        /// <param name="dept">部门信息</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <returns>返回是否成功删除某一部门</returns>
        public bool DeleteDeptInfo(View_HR_Dept dept, out string error)
        {
            try
            {
                error = null;

                DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext;

                var result = from c in dataContxt.HR_Dept
                             where c.DeptCode == dept.部门代码
                             select c;

                if (result.Count() == 1)
                {
                    HR_Dept deptInfo = result.Single();

                    var varData = from a in dataContxt.HR_PersonnelArchive
                                  where a.Dept == dept.部门代码 &&
                                  a.PersonnelStatus == 1
                                  select a;

                    if (varData.Count() > 0)
                    {
                        throw new Exception("此部门存在在职人员 无法删除,如需删除请将此部门所属人员调离此部门,再进行删除操作");
                    }

                    deptInfo.DeleteFlag = true;
                }

                dataContxt.SubmitChanges();
                return(true);
            }
            catch (Exception exce)
            {
                error = exce.Message;
                return(false);
            }
        }
Пример #8
0
        /// <summary>
        /// 刷新树视图
        /// </summary>
        /// <param name="findStore"></param>
        void RefreshTreeView(IQueryable <View_HR_Dept> findDepartmentBill)
        {
            if (findDepartmentBill.Count() == 0)
            {
                return;
            }

            List <View_HR_Dept> deptInfo = findDepartmentBill.ToList();

            for (int i = 0; deptInfo.Count > 0;)
            {
                View_HR_Dept curDept = deptInfo[i];
                TreeNode     node    = GenerateTreeNode(curDept);

                this.treeView1.Nodes[0].Nodes.Add(node);
                deptInfo.RemoveAt(i);

                if (deptInfo.Count > 0 && deptInfo[i].父级编码 != "")
                {
                    RecursionGenerateTree(node, deptInfo);
                }
            }
        }
        /// <summary>
        /// 刷新控件
        /// </summary>
        void RefreshControl()
        {
            ClearControl();

            if (SelectedNode == null || SelectedNode.Tag == null || SelectedNode.Tag.ToString() == "system")
            {
                return;
            }

            View_HR_Dept dept = m_departmentServer.GetDeptByDeptCode(SelectedNode.Tag.ToString());

            txtCode.Text = dept.部门代码;
            txtName.Text = dept.部门名称;

            // 获取部门负责人
            IQueryable <View_SelectPersonnel> directorGroup = m_personnerServer.GetDirector(dept.部门代码, "1");

            if (directorGroup != null && directorGroup.Count() > 0)
            {
                foreach (var item in directorGroup)
                {
                    cmbPrincipal.Items.Add(item.员工姓名);
                }

                cmbPrincipal.SelectedIndex = 0;
                cmbPrincipal.Tag           = directorGroup.ToList();
            }

            // 获取部门主管
            directorGroup = null;
            directorGroup = m_personnerServer.GetDirector(dept.部门代码, "0");

            if (directorGroup != null && directorGroup.Count() > 0)
            {
                foreach (var item in directorGroup)
                {
                    cmbDirector.Items.Add(item.员工姓名);
                }

                cmbDirector.SelectedIndex = 0;
                cmbDirector.Tag           = directorGroup.ToList();
            }

            // 获取部门分管领导
            directorGroup = null;
            directorGroup = m_personnerServer.GetDirector(dept.部门代码, "2");

            if (directorGroup != null && directorGroup.Count() > 0)
            {
                foreach (var item in directorGroup)
                {
                    cmbLeader.Items.Add(item.员工姓名);
                }

                cmbLeader.SelectedIndex = 0;
                cmbLeader.Tag           = directorGroup.ToList();
            }

            if (dept.电话 != null)
            {
                txtTelephone.Text = dept.电话;
            }

            if (dept.真 != null)
            {
                txtFax.Text = dept.真;
            }

            if (dept.备注 != null)
            {
                txtRemark.Text = dept.备注;
            }

            cmbDeptType.Text = dept.部门类型;
            numOrder.Value   = dept.排序号;

            txtFatherCode.Text = dept.父级编码;
        }