示例#1
0
        /// <summary>
        /// 修改考评对象
        /// </summary>
        /// <param name="objKaoPing"></param>
        /// <returns></returns>
        public int ModifyKaoPing(KaoPing objKaoPing, string dept)
        {
            //1、编写SQL语句
            StringBuilder sqlBuilder = new StringBuilder();

            sqlBuilder.Append("update imp_evaluation set 德 = {0},能 = {1},勤 = {2},绩 = {3},考评得分 = {4},考评意见 = '{5}',具体解释说明 = '{6}',备注 = '{7}',更改者 = '{8}',更改日期 = '{9}',IsSubmit = '{10}'");
            sqlBuilder.Append(" where 考评年月 = '{11}' and 人员编号 = '{12}' and 部门 = '{13}'");
            //2、解析对象
            string sql = string.Format(sqlBuilder.ToString(), objKaoPing.德, objKaoPing.能, objKaoPing.勤, objKaoPing.绩, objKaoPing.考评得分, objKaoPing.考评意见, objKaoPing.具体解释说明, objKaoPing.备注, objKaoPing.更改者, objKaoPing.更改日期, objKaoPing.IsSubmit, objKaoPing.考评年月, objKaoPing.人员编号, dept);

            //3、执行SQL语句,返回结果
            return(SQLHelper.Update(sql));
        }
示例#2
0
 private void dgvKaoPing_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (this.dgvKaoPing.SelectedRows.Count == 0)
     {
         return;
     }
     #region 点击表格中的一行时,把内容送到编辑区
     string  userid     = this.dgvKaoPing.CurrentRow.Cells["人员编号"].Value.ToString();
     KaoPing objKaoPing = objKaoPingService.GetKaoPingByUserId(Program.salaryDate.last_year_month, userid);
     this.txtBuMen.Text = objKaoPing.部门.ToString();
     //this.txtBanZu.Text = objKaoPing.班组.ToString();
     this.txtHnbh.Text           = objKaoPing.人员编号.ToString();
     this.txtName.Text           = objKaoPing.姓名.ToString();
     this.txtDe.Text             = objKaoPing.德.ToString();
     this.txtNeng.Text           = objKaoPing.能.ToString();
     this.txtQin.Text            = objKaoPing.勤.ToString();
     this.txtJi.Text             = objKaoPing.绩.ToString();
     this.txtKaoPingDeFen.Text   = objKaoPing.考评得分.ToString();
     this.txtKaoPingYiJian.Text  = objKaoPing.考评意见.ToString();
     this.txtJieShiShuoMing.Text = objKaoPing.具体解释说明.ToString();
     this.txtBeiZhu.Text         = objKaoPing.备注.ToString();
     #endregion
 }
示例#3
0
        /// <summary>
        /// 根据人员编号查询考评对象
        /// </summary>
        /// <param name="last_year_month"></param>
        /// <param name="userid"></param>
        /// <returns></returns>
        public KaoPing GetKaoPingByUserId(string last_year_month, string userid)
        {
            string sql = "select id, 考评年月, 部门, 人员编号, 姓名, 德, 能, 勤, 绩, 考评得分, 考评意见, 具体解释说明, 备注, 更改者, 更改日期, IsSubmit, 排序 from imp_evaluation";

            sql += " where 考评年月 = '{0}' and 人员编号 = '{1}'";
            sql  = string.Format(sql, last_year_month, userid);

            SqlDataReader objReader  = SQLHelper.GetReader(sql);
            KaoPing       objKaoPing = null;

            if (objReader.Read())
            {
                objKaoPing = new KaoPing()
                {
                    id   = Convert.ToInt32(objReader["id"].ToString()),
                    考评年月 = objReader["考评年月"].ToString(),
                    部门   = objReader["部门"].ToString(),
                    //班组 = objReader["班组"].ToString(),
                    人员编号     = objReader["人员编号"].ToString(),
                    姓名       = objReader["姓名"].ToString(),
                    德        = Convert.ToDouble(objReader["德"]),
                    能        = Convert.ToDouble(objReader["能"]),
                    勤        = Convert.ToDouble(objReader["勤"]),
                    绩        = Convert.ToDouble(objReader["绩"]),
                    考评得分     = Convert.ToDouble(objReader["考评得分"]),
                    考评意见     = objReader["考评意见"].ToString(),
                    具体解释说明   = objReader["具体解释说明"].ToString(),
                    备注       = objReader["备注"].ToString(),
                    更改者      = objReader["更改者"].ToString(),
                    更改日期     = Convert.ToDateTime(objReader["更改日期"]),
                    IsSubmit = objReader["IsSubmit"] is DBNull ? false : (bool)objReader["IsSubmit"],
                    排序       = objReader["排序"] is DBNull ? 0 : Convert.ToInt32(objReader["排序"].ToString()),
                };
            }
            objReader.Close();
            return(objKaoPing);
        }
示例#4
0
        /// <summary>
        /// 封装对象
        /// </summary>
        private KaoPing FengZhuangDuiXiang()
        {
            KaoPing objKaoPing = new KaoPing()
            {
                考评年月 = Program.salaryDate.last_year_month,
                部门   = Program.currentAdmin.dept,
                //班组 = this.txtBanZu.Text.Trim(),
                人员编号     = this.txtHnbh.Text.Trim(),
                姓名       = this.txtName.Text.Trim(),
                德        = Convert.ToDouble(this.txtDe.Text),
                能        = Convert.ToDouble(this.txtNeng.Text),
                勤        = Convert.ToDouble(this.txtQin.Text),
                绩        = Convert.ToDouble(this.txtJi.Text),
                考评意见     = this.txtKaoPingYiJian.Text.Trim(),
                考评得分     = Convert.ToDouble(this.txtDe.Text) + Convert.ToDouble(this.txtNeng.Text) + Convert.ToDouble(this.txtQin.Text) + Convert.ToDouble(this.txtJi.Text),
                具体解释说明   = this.txtJieShiShuoMing.Text.Trim(),
                备注       = this.txtBeiZhu.Text.Trim(),
                更改者      = Program.currentAdmin.username,
                更改日期     = DateTime.Now,
                IsSubmit = true,
            };

            return(objKaoPing);
        }
示例#5
0
        /// <summary>
        /// 校验考评数据
        /// </summary>
        /// <param name="objKaoPing"></param>
        /// <returns></returns>
        public string CheckKaoPing(KaoPing objKaoPing)
        {
            StringBuilder err = new StringBuilder();

            if (objKaoPing.德 > 25)
            {
                err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】【德】得分不应大于25!\r\n");
            }
            if (objKaoPing.能 > 25)
            {
                err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】【能】得分不应大于25!\r\n");
            }
            if (objKaoPing.勤 > 25)
            {
                err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】【勤】得分不应大于25!\r\n");
            }
            if (objKaoPing.绩 > 25)
            {
                err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】【绩】得分不应大于25!\r\n");
            }

            if (objKaoPing.德 < 0)
            {
                err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】【德】得分不应小于0!\r\n");
            }
            if (objKaoPing.能 < 0)
            {
                err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】【能】得分不应小于0!\r\n");
            }
            if (objKaoPing.勤 < 0)
            {
                err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】【勤】得分不应小于0!\r\n");
            }
            if (objKaoPing.绩 < 0)
            {
                err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】【绩】得分不应小于0!\r\n");
            }
            if (objKaoPing.备注.Length > 30)
            {
                err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】备注字符长度不应大于30!\r\n");
            }
            if (objKaoPing.具体解释说明.Length > 200)
            {
                err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】具体解释说明字符长度不应大于200!\r\n");
            }
            if (objKaoPing.考评得分 >= 80 && objKaoPing.具体解释说明.Length == 0)
            {
                err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】优良人员请填写具体解释说明!\r\n");
            }
            if (objKaoPing.考评得分 < 60 && objKaoPing.具体解释说明.Length == 0)
            {
                err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】不合格人员请填写具体解释说明!\r\n");
            }
            if ((objKaoPing.德 + objKaoPing.能 + objKaoPing.勤 + objKaoPing.绩) != objKaoPing.考评得分)
            {
                err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】各项得分合计与考评得分不一致!\r\n");
            }

            if (objKaoPing.考评得分 >= 80)
            {
                if (objKaoPing.考评意见 != "优良")
                {
                    err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】考评意见与考评得分不一致!\r\n");
                }
            }
            else if (objKaoPing.考评得分 >= 60)
            {
                if (objKaoPing.考评意见 != "合格")
                {
                    err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】考评意见与考评得分不一致!\r\n");
                }
            }
            else
            {
                if (objKaoPing.考评意见 != "不合格")
                {
                    err.Append($"人员编号【{objKaoPing.人员编号}】,姓名【{objKaoPing.姓名}】考评意见与考评得分不一致!\r\n");
                }
            }
            return(err.ToString());
        }
示例#6
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            #region 验证表单输入数据

            if (this.txtDe.Text.Trim().Length == 0)
            {
                MessageBox.Show("请填入【德】分数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (this.txtNeng.Text.Trim().Length == 0)
            {
                MessageBox.Show("请填入【能】分数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (this.txtQin.Text.Trim().Length == 0)
            {
                MessageBox.Show("请填入【勤】分数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (this.txtJi.Text.Trim().Length == 0)
            {
                MessageBox.Show("请填入【绩】分数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (Convert.ToDouble(this.txtDe.Text.Trim()) > 25 || Convert.ToDouble(this.txtNeng.Text.Trim()) > 25 || Convert.ToDouble(this.txtQin.Text.Trim()) > 25 || Convert.ToDouble(this.txtJi.Text.Trim()) > 25)
            {
                MessageBox.Show("单项得分不得大于25分,请修改后重新提交!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (Convert.ToDouble(this.txtDe.Text.Trim()) < 0 || Convert.ToDouble(this.txtNeng.Text.Trim()) < 0 || Convert.ToDouble(this.txtQin.Text.Trim()) < 0 || Convert.ToDouble(this.txtJi.Text.Trim()) < 0)
            {
                MessageBox.Show("单项得分不得小于0分,请修改后重新提交!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (this.txtJieShiShuoMing.Text.Trim().Length > 200)
            {
                MessageBox.Show("具体解释说明不能超过200个字符,请修改后重新提交!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.txtJieShiShuoMing.Focus();
                return;
            }
            if (Convert.ToDouble(this.txtKaoPingDeFen.Text.Trim()) >= 80 && this.txtJieShiShuoMing.Text.Trim().Length == 0)
            {
                MessageBox.Show("优良人员请填写具体解释说明!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.txtJieShiShuoMing.Focus();
                return;
            }
            if (Convert.ToDouble(this.txtKaoPingDeFen.Text.Trim()) < 60 && this.txtJieShiShuoMing.Text.Trim().Length == 0)
            {
                MessageBox.Show("不合格人员请填写具体解释说明!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.txtJieShiShuoMing.Focus();
                return;
            }
            if (this.txtBeiZhu.Text.Trim().Length > 30)
            {
                MessageBox.Show("备注信息不能超过30个字符,请修改后重新提交!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.txtBeiZhu.Focus();
                return;
            }


            string[] strScore    = { this.txtDe.Text.Trim(), this.txtNeng.Text.Trim(), this.txtQin.Text.Trim(), this.txtJi.Text.Trim() };
            double   dYouLiangLv = objKaoPingService.GetCurrentYouLiangLv(Program.salaryDate.last_year_month, Program.currentAdmin.dept, strScore, this.txtHnbh.Text.Trim());

            if (dYouLiangLv > 0.2)
            {
                MessageBox.Show("优良人数不能超过部门人数的20%,请修改后重新提交!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }


            #endregion

            #region 封装对象
            KaoPing objKaoPing = FengZhuangDuiXiang();
            #endregion

            #region 修改对象
            try
            {
                if (objKaoPingService.ModifyKaoPing(objKaoPing, Program.currentAdmin.dept) == 1)
                {
                    MessageBox.Show("修改成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    init_dgvKaoPing();
                    init_gbKaoPing();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            #endregion
        }