private void 批准ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lblStatus.Text.Trim() == DimissionBillStatus.等待总经理批准.ToString())
            {
                if (txtGMOpinion.Text.Trim() == "")
                {
                    MessageDialog.ShowPromptMessage("请填写总经理意见!");
                    return;
                }

                HR_DimissionBill dimission = new HR_DimissionBill();

                dimission.GM_Opinion         = txtGMOpinion.Text;
                dimission.GM_Signature       = BasicInfo.LoginID;
                dimission.GM_SignatureDate   = ServerTime.Time;
                dimission.WorkID             = txtApplicant.Tag.ToString();
                dimission.AllowDimissionDate = dtpAllowDate.Value;
                dimission.Date   = dtpDate.Value;
                dimission.Reason = txtReason.Text;

                if (!cbGMAuthorize.Checked)
                {
                    if (MessageBox.Show("您是否同意 " + txtApplicant.Text.Trim()
                                        + " 的离职申请?", "消息", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        cbGMAuthorize.Checked = true;
                    }
                    else
                    {
                        cbGMAuthorize.Checked = false;
                    }
                }

                dimission.GM_Authorize = cbGMAuthorize.Checked;
                billID = Convert.ToInt32(m_dimiServer.AddAndUpdateDimission(dimission, "总经理批准", out error));

                if (billID == 0)
                {
                    MessageDialog.ShowPromptMessage(error);
                    return;
                }

                List <string> noticeUser = new List <string>();

                noticeUser.Add(txtApplicant.Tag.ToString());

                List <string> noticeRole = new List <string>();

                noticeRole.Add(CE_RoleEnum.人力资源主管.ToString());

                m_billMessageServer.EndFlowMessage(billID.ToString(), string.Format("{0} 号离职申请已经处理完毕", billID), noticeRole, noticeUser);
            }
            else
            {
                MessageDialog.ShowPromptMessage("请确认单据状态!");
                return;
            }

            this.Close();
        }
        private void 提交申请ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lblStatus.Text.Trim() == DimissionBillStatus.新建单据.ToString())
            {
                if (txtReason.Text.Trim() == "")
                {
                    MessageDialog.ShowPromptMessage("请填写离职原因!");
                    return;
                }

                HR_DimissionBill dimission = new HR_DimissionBill();

                dimission.Date            = dtpDate.Value;
                dimission.Dept            = txtDept.Tag.ToString();
                dimission.WorkPost        = txtWorkPost.Text;
                dimission.WorkID          = txtApplicant.Tag.ToString();
                dimission.Reason          = txtReason.Text;
                dimission.DeptAuthorize   = false;
                dimission.LeaderAuthorize = false;
                dimission.GM_Authorize    = false;
                //dimission.AllowDimissionDate = ServerTime.Time.AddDays(1);
                dimission.DeptSignatureDate   = ServerTime.Time;
                dimission.HR_SignatureDate    = ServerTime.Time;
                dimission.LeaderSignatureDate = ServerTime.Time;
                dimission.GM_SignatureDate    = ServerTime.Time;
                dimission.BillStatus          = DimissionBillStatus.等待部门负责人审核.ToString();

                billID = Convert.ToInt32(m_dimiServer.AddAndUpdateDimission(dimission, "提交申请", out error));

                if (billID == 0)
                {
                    MessageDialog.ShowPromptMessage(error);
                    return;
                }

                //m_billMessageServer.SendNewFlowMessage(billID.ToString(), string.Format("{0}号离职申请,请主管审核",billID.ToString()),
                //    BillFlowMessage_ReceivedUserType.角色,m_billMessageServer.GetDeptPrincipalRoleName(m_highDept)[0]);

                m_billMessageServer.SendNewFlowMessage(billID.ToString(), string.Format("{0}号离职申请,请主管审核", billID),
                                                       BillFlowMessage_ReceivedUserType.角色, m_billMessageServer.GetDeptPrincipalRoleName(m_personnerServer.GetPersonnelViewInfo(txtApplicant.Tag.ToString()).部门编号).ToList());
            }
            else
            {
                MessageDialog.ShowPromptMessage("请确认单据状态!");
                return;
            }

            this.Close();
        }
        private void dataGridView1_DoubleClick(object sender, EventArgs e)
        {
            m_Dimission = m_dimiServer.GetAllDimission(Convert.ToInt32(dataGridView1.CurrentRow.Cells["编号"].Value));

            string deptName = dataGridView1.CurrentRow.Cells["部门"].Value.ToString();
            string deptCode = dataGridView1.CurrentRow.Cells["部门编码"].Value.ToString();
            string workPost = dataGridView1.CurrentRow.Cells["岗位"].Value.ToString();
            string name     = dataGridView1.CurrentRow.Cells["员工姓名"].Value.ToString();

            FormDimissionList frm = new FormDimissionList(m_authorityFlag, m_Dimission, deptName, deptCode, workPost, name, m_Dimission.ID);

            frm.ShowDialog();

            RefreshControl();
            PositioningRecord(m_Dimission.ID.ToString());
        }
示例#4
0
        /// <summary>
        /// 获取员工离职所有信息
        /// </summary>
        /// <param name="billID">单据编号</param>
        /// <returns>返回数据集</returns>
        public HR_DimissionBill GetAllDimission(int billID)
        {
            DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext;

            var result = from a in dataContxt.HR_DimissionBill
                         where a.ID == billID
                         select a;

            if (result.Count() == 1)
            {
                HR_DimissionBill dimission = result.Single();
                return(dimission);
            }

            return(null);
        }
        private void 审批ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (lblStatus.Text.Trim() == DimissionBillStatus.等待人力资源审阅.ToString())
            {
                if (txtHROpinion.Text.Trim() == "")
                {
                    MessageDialog.ShowPromptMessage("请填写人力资源部意见!");
                    return;
                }

                HR_DimissionBill dimission = new HR_DimissionBill();

                dimission.HR_Opinion       = txtHROpinion.Text;
                dimission.HR_Signature     = txtHRSignature.Text;
                dimission.HR_SignatureDate = dtpHRDate.Value;
                dimission.WorkID           = txtApplicant.Tag.ToString();
                dimission.Date             = dtpDate.Value;
                dimission.Reason           = txtReason.Text;

                billID = Convert.ToInt32(m_dimiServer.AddAndUpdateDimission(dimission, "人力资源部审批", out error));

                if (billID == 0)
                {
                    MessageDialog.ShowPromptMessage(error);
                    return;
                }

                MessageDialog.ShowPromptMessage("人力资源部审批成功!等待分管领导审核");

                m_billMessageServer.PassFlowMessage(billID.ToString(), string.Format("{0}号离职申请单,请分管领导审核", billID.ToString()),
                                                    BillFlowMessage_ReceivedUserType.角色,
                                                    m_billMessageServer.GetDeptLeaderRoleName(m_personnerServer.GetPersonnelViewInfo(txtApplicant.Tag.ToString()).部门编号).ToList());
            }
            else
            {
                MessageDialog.ShowPromptMessage("请确认单据状态!");
                return;
            }

            this.Close();
        }
        public FormDimissionList(AuthorityFlag authFlag, HR_DimissionBill dimission, string deptName,
                                 string deptCode, string workPost, string name, int id)
        {
            InitializeComponent();
            m_billMessageServer.BillType = "员工离职申请单";

            AuthorityControl(authFlag);

            m_DimissionLinq = dimission;

            billID            = id;
            txtDept.Text      = deptName;
            txtDept.Tag       = deptCode;
            txtWorkPost.Text  = workPost;
            txtApplicant.Text = name;

            txtReason.ReadOnly  = true;
            txtReason.BackColor = Color.White;
            BindControl();
            menuStrip1.Visible = true;
        }
示例#7
0
        /// <summary>
        /// 新增或修改员工离职申请信息
        /// </summary>
        /// <param name="dimission">员工离职数据集</param>
        /// <param name="type">进行步骤(提交申请/部门负责人审批/人力资源部审批/分管领导审批/总经理批准)</param>
        /// <param name="error">错误信息</param>
        /// <returns>返回单据编号,失败返回0</returns>
        public string AddAndUpdateDimission(HR_DimissionBill dimission, string type, out string error)
        {
            error = "";

            try
            {
                DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext;

                var result = from a in dataContxt.HR_DimissionBill
                             where a.WorkID == dimission.WorkID && a.Date.Month == dimission.Date.Month &&
                             a.Date.Day == dimission.Date.Day
                             select a;

                switch (type)
                {
                case "提交申请":

                    if (result.Count() > 0)
                    {
                        error = "不能重复提交离职申请!";
                        return("0");
                    }

                    dataContxt.HR_DimissionBill.InsertOnSubmit(dimission);

                    break;

                case "部门负责人审批":
                    if (result.Count() == 1)
                    {
                        HR_DimissionBill dimiList = result.Single();

                        dimiList.DeptAuthorize      = dimission.DeptAuthorize;
                        dimiList.DeptOpinion        = dimission.DeptOpinion;
                        dimiList.DeptSignature      = dimission.DeptSignature;
                        dimiList.DeptSignatureDate  = dimission.DeptSignatureDate;
                        dimiList.AllowDimissionDate = dimission.AllowDimissionDate;

                        if (!dimission.DeptAuthorize)
                        {
                            dimiList.BillStatus = DimissionBillStatus.已完成.ToString();
                        }
                        else
                        {
                            dimiList.BillStatus = DimissionBillStatus.等待人力资源审阅.ToString();
                        }
                    }
                    break;

                case "人力资源部审批":
                    if (result.Count() == 1)
                    {
                        HR_DimissionBill dimiList = result.Single();

                        dimiList.HR_Opinion       = dimission.HR_Opinion;
                        dimiList.HR_Signature     = dimission.HR_Signature;
                        dimiList.HR_SignatureDate = dimission.HR_SignatureDate;
                        dimiList.BillStatus       = DimissionBillStatus.等待分管领导审核.ToString();
                    }
                    break;

                case "分管领导审批":
                    if (result.Count() == 1)
                    {
                        HR_DimissionBill dimiList = result.Single();

                        dimiList.LeaderAuthorize     = dimission.LeaderAuthorize;
                        dimiList.LeaderOpinion       = dimission.LeaderOpinion;
                        dimiList.LeaderSignature     = dimission.LeaderSignature;
                        dimiList.LeaderSignatureDate = dimission.LeaderSignatureDate;

                        if (!dimission.LeaderAuthorize)
                        {
                            dimiList.BillStatus = DimissionBillStatus.已完成.ToString();
                        }
                        else
                        {
                            dimiList.BillStatus = DimissionBillStatus.等待总经理批准.ToString();
                        }
                    }
                    break;

                case "总经理批准":
                    if (result.Count() == 1)
                    {
                        HR_DimissionBill dimiList = result.Single();

                        dimiList.GM_Authorize     = dimission.GM_Authorize;
                        dimiList.GM_Opinion       = dimission.GM_Opinion;
                        dimiList.GM_Signature     = dimission.GM_Signature;
                        dimiList.GM_SignatureDate = dimission.GM_SignatureDate;
                        dimiList.BillStatus       = DimissionBillStatus.已完成.ToString();

                        if (dimission.GM_Authorize)
                        {
                            if (!new OperatingPostServer().UpdateLessDeptPost(dimiList.Dept,
                                                                              new OperatingPostServer().GetOperatingPostByPostName(dimiList.WorkPost).岗位编号, out error))
                            {
                                error = "信息有误!";
                                return("0");
                            }

                            var resultManager = from c in dataContxt.HR_DeptManager
                                                where c.ManagerWorkID == dimission.WorkID
                                                select c;

                            if (resultManager.Count() > 0)
                            {
                                dataContxt.HR_DeptManager.DeleteAllOnSubmit(resultManager);
                            }

                            var resultStatus = from e in dataContxt.HR_PersonnelArchive
                                               where e.WorkID == dimission.WorkID
                                               select e;

                            if (resultStatus.Count() > 0)
                            {
                                HR_PersonnelArchive personnel = resultStatus.Single();

                                personnel.PersonnelStatus = 3;
                                personnel.Remark          = dimiList.AllowDimissionDate + "离职";
                            }

                            var resultLaborTemp = from j in dataContxt.View_HR_PersonnelLaborContract
                                                  where j.员工编号 == dimission.WorkID && j.类别 == "合同类"
                                                  select j;

                            if (resultLaborTemp.Count() > 0)
                            {
                                int billID = resultLaborTemp.Single().编号;

                                var resultLabor = from j in dataContxt.HR_PersonnelLaborContract
                                                  where j.ID == billID
                                                  select j;

                                HR_PersonnelLaborContract labor = resultLabor.Single();

                                if (resultLabor.Single().EndTime > dimission.AllowDimissionDate)
                                {
                                    labor.LaborContractStatusID = 8;
                                }
                                else
                                {
                                    labor.LaborContractStatusID = 7;
                                }
                            }
                        }
                    }
                    break;

                default:
                    break;
                }

                dataContxt.SubmitChanges();

                var resultList = from a in dataContxt.HR_DimissionBill
                                 where a.WorkID == dimission.WorkID && a.Date == dimission.Date && a.Reason == dimission.Reason
                                 select a;

                if (resultList.Count() > 0)
                {
                    return(resultList.Single().ID.ToString());
                }
                else
                {
                    error = "未知编号!";
                    return("0");
                }
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return("0");
            }
        }
        private void 审批ToolStripMenuItem2_Click(object sender, EventArgs e)
        {
            if (lblStatus.Text.Trim() == DimissionBillStatus.等待分管领导审核.ToString())
            {
                if (txtLeaderOpinion.Text.Trim() == "")
                {
                    MessageDialog.ShowPromptMessage("请填写分管领导意见!");
                    return;
                }

                HR_DimissionBill dimission = new HR_DimissionBill();

                dimission.LeaderOpinion       = txtLeaderOpinion.Text;
                dimission.LeaderSignature     = BasicInfo.LoginID;
                dimission.LeaderSignatureDate = ServerTime.Time;
                dimission.WorkID = txtApplicant.Tag.ToString();
                dimission.Date   = dtpDate.Value;
                dimission.Reason = txtReason.Text;

                if (!cbLeaderAuthorize.Checked)
                {
                    if (MessageBox.Show("您是否同意 " + txtApplicant.Text.Trim()
                                        + " 的离职申请?", "消息", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        cbLeaderAuthorize.Checked = true;
                    }
                    else
                    {
                        cbLeaderAuthorize.Checked = false;
                    }
                }

                dimission.LeaderAuthorize = cbLeaderAuthorize.Checked;
                billID = Convert.ToInt32(m_dimiServer.AddAndUpdateDimission(dimission, "分管领导审批", out error));

                if (billID == 0)
                {
                    MessageDialog.ShowPromptMessage(error);
                    return;
                }

                if (cbLeaderAuthorize.Checked)
                {
                    string msg = string.Format("{0} 号离职申请已由分管领导审批,请总经理审核", billID.ToString());
                    m_billMessageServer.PassFlowMessage(billID.ToString(), msg, CE_RoleEnum.人力资源主管.ToString(), true);
                }
                else
                {
                    string        msg      = string.Format("{0} 号离职申请分管领导不同意离职申请,单据完成", billID.ToString());
                    List <string> listUser = new List <string>();

                    listUser.Add(txtApplicant.Tag.ToString());
                    m_billMessageServer.EndFlowMessage(billID.ToString(), msg, null, listUser);
                }

                MessageDialog.ShowPromptMessage("分管领导审批成功!");
            }
            else
            {
                MessageDialog.ShowPromptMessage("请确认单据状态!");
                return;
            }

            this.Close();
        }