Example #1
0
        private bool IsCorrectData()
        {
            bool   blnReturn       = true;
            string strErrorMessage = "";

            if (txtJGCode.Text == "")
            {
                strErrorMessage += "\nJob grade code is required.";
            }
            else
            {
                if (JobGrade.IsCodeExist(txtJGCode.Text))
                {
                    strErrorMessage += "\nJob grade code already exist.";
                }
            }

            if (strErrorMessage != "")
            {
                MessageBox.Show("Data entry error:" + strErrorMessage, "HRMS", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                blnReturn = false;
            }

            return(blnReturn);
        }
        public AdjustMonthlySalaryForm(string salary_plan, string group, int year, SemiannualType st, bool isCheck)
            : this()
        {
            this.salary_plan = salary_plan;
            this.group       = group;
            this.year        = year;
            this.sntype      = st;
            this.isCheck     = isCheck;

            this.period = year * 10 + (byte)st;
            //获取公司代码
            company_code = PsHelper.GetCompanyCode(salary_plan);
            //获取职等(默认自动为每个职等建立一个群组)
            jobgrade = JobGrade.GetJobGrade(salary_plan, group);

            //通过薪等编号获取员工名单
            emp_list = GetEmployeeList();
            //设置标记, 标记有异动的人员
            foreach (EmployeeInfo emp in emp_list)
            {
                MonthlySalary effectiveMonthlySalary = MonthlySalary.GetEffective(emp.员工编号, DateTime.Today);
                if (effectiveMonthlySalary == null)
                {
                    emp.标记 = true;
                }
            }
        }
        public IndividualAdjustMonthlySalaryForm(string salary_plan, string group, bool isCheck)
            : this()
        {
            this.salary_plan = salary_plan;
            this.group       = group;
            this.isCheck     = isCheck;
            //获取公司代码
            company_code = PsHelper.GetCompanyCode(salary_plan);
            //获取职等(默认自动为每个职等建立一个群组)
            jobgrade = JobGrade.GetJobGrade(salary_plan, group);
            //获取期号
            int lastestPeriodNonYear = MonthlySalary.GetLastestPeriodNonYear(salary_plan, group);

            period = lastestPeriodNonYear == -1 ? 100001 : lastestPeriodNonYear + 1;

            //通过薪等编号获取员工名单
            emp_list = GetEmployeeList();
            //设置标记, 标记有异动的人员
            foreach (EmployeeInfo emp in emp_list)
            {
                MonthlySalary effectiveMonthlySalary = MonthlySalary.GetEffective(emp.员工编号, DateTime.Today);
                if (effectiveMonthlySalary == null)
                {
                    emp.标记 = true;
                }
            }
        }
Example #4
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (IsCorrectData())
            {
                using (JobGrade jobgrade = new JobGrade())
                {
                    jobgrade.JGCode                 = txtJGCode.Text;
                    jobgrade.JGDescription          = txtDescription.Text;
                    jobgrade.JGOrder                = clsValidator.CheckInteger(txtLevel.Text);
                    jobgrade.DeductLate             = (chkDeductLate.Checked ? "1" : "0");
                    jobgrade.DeductUnderTime        = (chkDeductUndertime.Checked ? "1" : "0");
                    jobgrade.PayOverTime            = (chkPayOvertime.Checked ? "1" : "0");
                    jobgrade.PlantillaCountHQ       = clsValidator.CheckInteger(txtPlantillaCountHQ.Text);
                    jobgrade.PlantillaCountBillable = clsValidator.CheckInteger(txtPlantillaCountBillable.Text);
                    jobgrade.Insert();
                }

                switch (_FormCaller)
                {
                case FormCallers.JobGradeList:
                    _frmJobGradeList.BindJobGradeList();
                    break;
                }

                if (MessageBox.Show("Your record was successfully added.\n\nWould you like to add another record?", clsMessageBox.MessageBoxText, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    ClearFields();
                }
                else
                {
                    this.Close();
                }
            }
        }
        private void advBandedGridView1_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e)
        {
            MonthlySalaryInput row = advBandedGridView1.GetRow(e.FocusedRowHandle) as MonthlySalaryInput;

            //重置职等列表
            if (jobgrade == null && row != null)
            {
                JobGrade currJobGrade = JobGrade.GetJobGrade(row.薪酬体系, row.职等);
                if (currJobGrade != null)
                {
                    repositoryItemRank.ReadOnly       = false;
                    repositoryItemSalaryType.ReadOnly = false;

                    repositoryItemRank.Items.Clear();
                    repositoryItemRank.Items.Add("");

                    foreach (JobRank rank in currJobGrade.职级表)
                    {
                        repositoryItemRank.Items.Add(rank.称);
                    }
                }
                else
                {
                    repositoryItemRank.ReadOnly       = true;
                    repositoryItemSalaryType.ReadOnly = true;

                    repositoryItemRank.Items.Clear();
                }
            }
        }
Example #6
0
 public MonthlySalaryForm(string salary_plan, string group)
     : this()
 {
     this.salary_plan = salary_plan;
     this.group       = group;
     //获取公司代码
     company_code = PsHelper.GetCompanyCode(salary_plan);
     //获取职等(默认自动为每个职等建立一个群组)
     jobgrade = JobGrade.GetJobGrade(salary_plan, group);
 }
Example #7
0
        public async Task <IActionResult> EditJobGrade(JobGrade item)
        {
            var model = await _context.JobGrades.SingleOrDefaultAsync(b => b.Id == item.Id);

            await TryUpdateModelAsync(model);

            await _context.SaveChangesAsync();

            return(RedirectToAction("JobGradesList"));
        }
        private void SelectJobGradeForm_Load(object sender, EventArgs e)
        {
            List <JobGrade> grades = JobGrade.GetJobGrades(salary_plan);

            listBoxControl职级.Items.Clear();

            //可查看的级别
            List <RoleLevel> lvList = AccessController.我管理的职等.FindAll(a => a.公司编码 == company_code);

            if (command == "查看各职等管理人员薪酬执行明细" ||
                command == "查看各职等人员薪酬结构明细表" ||
                command == "录入各职等等管理人员薪酬执行明细" ||
                command == "录入异动人员薪酬执行明细")
            {
                if (company != "软件开发")
                {
                    if (lvList.Find(a => a.职等名称 == "副总经理以上") != null)
                    {
                        listBoxControl职级.Items.Add("副总经理以上");
                    }

                    if (lvList.Find(a => a.职等名称 == "管培生") != null)
                    {
                        listBoxControl职级.Items.Add("管培生");
                    }
                }
            }
            foreach (JobGrade grade in grades)
            {
                bool allow = false;
                if (lvList.Find(a => BelongToGrade(grade.称, a.职等名称)) != null)
                {
                    allow = true;
                }
                if (company == "软件开发")
                {
                    allow = true;
                }
                if (allow)
                {
                    listBoxControl职级.Items.Add(grade.称);
                }
            }

            spin年度.Properties.MaxValue = DateTime.Today.Year + 1;
            spin年度.EditValue           = DateTime.Today.Year;

            if (company == "软件开发")
            {
                cbSemiannual.Properties.Items.Clear();
                cbSemiannual.Properties.Items.Add("年");
                cbSemiannual.SelectedIndex = 0;
            }
        }
Example #9
0
        private void btn保存_Click(object sender, EventArgs e)
        {
            if (YiKang.Common.IsInteger(text半年调资额.Text) == false)
            {
                MessageBox.Show("必须录入半年调资额。", "错误", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            JobGrade jGrade = grade.职等;

            jGrade.对比的职等 = (string)cb对比的职等.EditValue;
            jGrade.职等数   = txt职等数.Text.Trim() == "" ? 1 : Convert.ToInt32(txt职等数.Text.Trim());
            jGrade.Save();

            //检查级差是否相同
            int prev_diff = 0;
            int x         = 0;
            RankSalaryStandardInput        prev_row = null;
            List <RankSalaryStandardInput> rows     = GetRows().OrderBy(a => a.序号).ToList();

            foreach (RankSalaryStandardInput row in rows)
            {
                if (prev_row != null)
                {
                    int diff = row.月薪 - prev_row.月薪;
                    if (x > 1 && diff != prev_diff && grade.薪酬体系 != "软件开发")
                    {
                        MessageBox.Show("级差不一致,请重新录入");
                        return;
                    }
                    prev_diff = row.月薪 - prev_row.月薪;
                }
                x++;
                prev_row = row;
                row.序号   = x; //重置序号,使其从1开始,步长为1
            }
            //保存(必须调用,否则并没有实际存入数据库,VGridControl 不像 GridControl 会自动存)
            Session.DefaultSession.Save(rows);
            //保存更新职等信息
            gsa.职等数   = jGrade.职等数;
            gsa.对比的职等 = jGrade.对比的职等;
            gsa.半年调资额 = Convert.ToInt32(text半年调资额.Text);
            //统计
            gsa.Calculate();
            gsa.Save();
            //刷新
            grade.Refresh();
            //触发完成事件
            if (OnFinished != null)
            {
                OnFinished(grade, gsa, rows);
            }
            this.Close();
        }
Example #10
0
 private void tbtnDelete_Click(object sender, EventArgs e)
 {
     if (dgJobGrade.Rows.Count > 0)
     {
         if (MessageBox.Show("Warning: \nModifying job grade settings might cause discrepancies on employee's details associated with it. \nIt is advisable to create a new job grade than to modify/delete existing one.\n\nAre you sure to continue?", clsMessageBox.MessageBoxText, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
         {
             JobGrade objJobGrade = new JobGrade();
             objJobGrade.JGCode = dgJobGrade.SelectedRows[0].Cells[0].Value.ToString();
             objJobGrade.Delete();
             this.BindJobGradeList();
         }
     }
 }
Example #11
0
        private void EditGradeSalaryStandardForm_Load(object sender, EventArgs e)
        {
            //初始化职等列表
            List <JobGrade> grades = JobGrade.GetJobGrades(grade.薪酬体系);

            cb对比的职等.Properties.Items.Clear();
            foreach (JobGrade g in grades)
            {
                cb对比的职等.Properties.Items.Add(g.称);
            }

            LoadData();
        }
        List <EmployeeSalaryStructure> all_rows = new List <EmployeeSalaryStructure>();   //所有记录
        public SalaryDetailListForm(string salary_plan, string group)
        {
            // This call is required by the Windows Form Designer.
            InitializeComponent();

            // TODO: Add any initialization after the InitializeComponent call
            this.salary_plan = salary_plan;
            this.group       = group;
            //获取公司代码
            company_code = PsHelper.GetCompanyCode(salary_plan);
            //获取职等(默认自动为每个职等建立一个群组)
            jobgrade = JobGrade.GetJobGrade(salary_plan, group);
        }
Example #13
0
        public async Task <IActionResult> AddJobGrade(JobGrade item)
        {
            int cnt = await _context.JobGrades.CountAsync();

            int maxGrade = int.Parse(_context.JobGrades.OrderByDescending(b => b.SortOrder).First().Code);

            item.Code      = (maxGrade + 1).ToString();
            item.SortOrder = (cnt + 1) * 10;
            _context.JobGrades.Add(item);
            await _context.SaveChangesAsync();

            return(RedirectToAction("JobGradesList"));
        }
Example #14
0
        private void InitializeFields()
        {
            dtpDateStart.Value = DateTime.Now;
            dtpRegular.Value   = DateTime.Now.AddMonths(6);

            cmbSchedule.DataSource    = clsSchedule.DSLSchedule();
            cmbSchedule.ValueMember   = "pvalue";
            cmbSchedule.DisplayMember = "ptext";

            cmbGender.DataSource    = Employee.DSLGender();
            cmbGender.ValueMember   = "pvalue";
            cmbGender.DisplayMember = "ptext";

            cmbCivilStatus.DataSource    = Employee.DSLCivilStatus();
            cmbCivilStatus.ValueMember   = "pvalue";
            cmbCivilStatus.DisplayMember = "ptext";

            cmbEmploymentStatus.DataSource    = clsEmploymentStatus.DSLEmploymentStatus();
            cmbEmploymentStatus.ValueMember   = "pvalue";
            cmbEmploymentStatus.DisplayMember = "ptext";

            cmbJGCode.DataSource    = JobGrade.DSLJGCode();
            cmbJGCode.DisplayMember = "ptext";
            cmbJGCode.ValueMember   = "pvalue";

            cmbDivision.DataSource    = Division.GetDSL();
            cmbDivision.DisplayMember = "ptext";
            cmbDivision.ValueMember   = "pvalue";

            cmbGroup.DataSource    = Group.GetDSL();
            cmbGroup.DisplayMember = "ptext";
            cmbGroup.ValueMember   = "pvalue";

            cmbDepartment.DataSource    = Department.GetDSL();
            cmbDepartment.DisplayMember = "ptext";
            cmbDepartment.ValueMember   = "pvalue";

            cmbRC.DataSource    = clsRC.GetDdlDs();
            cmbRC.DisplayMember = "ptext";
            cmbRC.ValueMember   = "pvalue";

            cmbCompany.DataSource    = clsCompany.GetDSL();
            cmbCompany.DisplayMember = "ptext";
            cmbCompany.ValueMember   = "pvalue";

            cmbEmployeeType.DataSource    = clsEmployeeType.DSLEmployeeType();
            cmbEmployeeType.DisplayMember = "ptext";
            cmbEmployeeType.ValueMember   = "pvalue";

            this.BindRecruitmentSourceList();
        }
        protected void LoadData()
        {
            currRows = JobGrade.GetJobGrades(salary_plan);

            gridControl1.DataSource = currRows;
            gridControl1.RefreshDataSource();

            //初始化对比的职等
            repositoryItemGrades.Items.Clear();
            foreach (JobGrade grade in currRows)
            {
                repositoryItemGrades.Items.Add(grade.称);
            }
        }
        private void btn自动创建_Click(object sender, EventArgs e)
        {
            int x = currRows.Count + 100;

            foreach (DictionaryEntry entry in PsHelper.职务等级)
            {
                string name  = (string)entry.Key;
                int    order = Convert.ToInt32(entry.Value);
                if (name != "岗位工级" && name != "非全日制")
                {
                    JobGrade.AddJobGrade(salary_plan, name.Replace("级", ""), ++x);
                }
            }
            LoadData();
        }
Example #17
0
        public void BindJobGradeList()
        {
            DataTable tblJobGrade = JobGrade.DSJobGrade();

            dgJobGrade.AutoGenerateColumns         = false;
            dgJobGrade.DataSource                  = tblJobGrade;
            dgJobGrade.Columns[0].DataPropertyName = "jgcode";
            dgJobGrade.Columns[1].DataPropertyName = "jgdesc";
            dgJobGrade.Columns[2].DataPropertyName = "jgorder";
            dgJobGrade.Columns[3].DataPropertyName = "dedulate";
            dgJobGrade.Columns[4].DataPropertyName = "deduut";
            dgJobGrade.Columns[5].DataPropertyName = "payot";
            dgJobGrade.Columns[6].DataPropertyName = "plntcnth";
            dgJobGrade.Columns[7].DataPropertyName = "plntcntb";
        }
        private void repositoryItemGrades_EditValueChanging(object sender, ChangingEventArgs e)
        {
            string g = (string)e.NewValue;

            ColumnView colView = (ColumnView)gridControl1.MainView;

            if (colView != null)
            {
                JobGrade currentItem = (JobGrade)colView.GetFocusedRow();
                if (currentItem.称 == g)
                {
                    throw new Exception("对比的职等不能是自己");
                }
            }
        }
        private void btn添加_Click(object sender, EventArgs e)
        {
            if (SaveFocusedRow())
            {
                JobGrade item = new JobGrade();
                item.薪酬体系 = salary_plan;
                item.序号   = currRows.Count + 1;

                currRows.Add(item);
                gridControl1.RefreshDataSource();
                gridView1.FocusedRowHandle = gridView1.RowCount - 1;

                MyHelper.WriteLog(LogType.信息, "新增职等", item.ToString <JobGrade>());
            }
        }
        private void btn保存_Click(object sender, EventArgs e)
        {
            ColumnView colView = (ColumnView)gridControl1.MainView;

            if (colView != null)
            {
                JobGrade currentItem = (JobGrade)colView.GetFocusedRow();
                if (currentItem != null)
                {
                    currentItem.Save();
                }

                MessageBox.Show("保存成功!");
                LoadData();
            }
            MyHelper.WriteLog(LogType.信息, "修改职等", null);
        }
        private void btn删除_Click(object sender, EventArgs e)
        {
            ColumnView colView = (ColumnView)gridControl1.MainView;

            if (colView != null)
            {
                if (MessageBox.Show("确实删除当前记录吗?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2, 0, false) == DialogResult.Yes)
                {
                    JobGrade currentItem = (JobGrade)colView.GetFocusedRow();
                    currRows.Remove(currentItem);
                    currentItem.Delete();

                    MyHelper.WriteLog(LogType.信息, "删除职等", currentItem.ToString <JobGrade>());

                    gridControl1.RefreshDataSource();
                    MessageBox.Show("删除成功。", "删除提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
Example #22
0
 private void LoadDetails()
 {
     txtJGCode.Text = _strJGCode;
     using (JobGrade objJobGrade = new JobGrade())
     {
         objJobGrade.JGCode = _strJGCode;
         objJobGrade.Fill();
         txtDescription.Text            = objJobGrade.JGDescription;
         txtLevel.Text                  = objJobGrade.JGOrder.ToString();
         chkDeductLate.Checked          = (objJobGrade.DeductLate == "1" ? true : false);
         chkDeductUndertime.Checked     = (objJobGrade.DeductUnderTime == "1" ? true : false);
         chkPayOvertime.Checked         = (objJobGrade.PayOverTime == "1" ? true : false);
         txtPlantillaCountHQ.Text       = objJobGrade.PlantillaCountHQ.ToString();
         txtPlantillaCountBillable.Text = objJobGrade.PlantillaCountBillable.ToString();
         txtCreateBy.Text               = objJobGrade.CreateBy;
         txtCreateOn.Text               = objJobGrade.CreateOn.ToString("MMM dd, yyyy hh:mm tt");
         txtModifyBy.Text               = objJobGrade.ModifyBy;
         txtModifyOn.Text               = objJobGrade.ModifyOn.ToString("MMM dd, yyyy hh:mm tt");
     }
 }
 private bool SaveFocusedRow()
 {
     try
     {
         ColumnView colView = (ColumnView)gridControl1.MainView;
         if (colView != null)
         {
             JobGrade currentItem = (JobGrade)colView.GetFocusedRow();
             if (currentItem != null)
             {
                 currentItem.Save();
             }
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Example #24
0
        ///////////////////////////////
        ///////// Form Events /////////
        ///////////////////////////////

        private void frmEmployeeList_Load(object sender, EventArgs e)
        {
            txtLastName.Text = Username;
            //BindEmployeeList();
            this.WindowState = FormWindowState.Maximized;

            cmbGender.DataSource    = Employee.DSLGenderAll();
            cmbGender.ValueMember   = "pvalue";
            cmbGender.DisplayMember = "ptext";

            cmbDivision.DataSource    = Division.DSLDivisionAll();
            cmbDivision.ValueMember   = "pvalue";
            cmbDivision.DisplayMember = "ptext";

            cmbGroup.DataSource    = Group.GetDSLAll(cmbDivision.SelectedValue.ToString());
            cmbGroup.ValueMember   = "pvalue";
            cmbGroup.DisplayMember = "ptext";

            cmbDepartment.DataSource    = Department.GetDSLAll(cmbGroup.SelectedValue.ToString());
            cmbDepartment.ValueMember   = "pvalue";
            cmbDepartment.DisplayMember = "ptext";

            cmbJobGrade.DataSource    = JobGrade.DSLJGCodeAll();
            cmbJobGrade.ValueMember   = "pvalue";
            cmbJobGrade.DisplayMember = "ptext";

            cmbEmployeeType.DataSource    = clsEmployeeType.DSLEmployeeTypeAll();
            cmbEmployeeType.ValueMember   = "pvalue";
            cmbEmployeeType.DisplayMember = "ptext";

            cmbEmployeeStatus.DataSource    = clsEmploymentStatus.DSLEmploymentStatusAll();
            cmbEmployeeStatus.ValueMember   = "pvalue";
            cmbEmployeeStatus.DisplayMember = "ptext";

            cmbStatus.DataSource    = Employee.DSLStatusAll();
            cmbStatus.ValueMember   = "pvalue";
            cmbStatus.DisplayMember = "ptext";

            cmbStatus.SelectedValue = "1";
            BindEmployeeList();
        }
        public async Task <ApiResponse> Handle(AddJobGradeDetailCommand request, CancellationToken cancellationToken)
        {
            ApiResponse response = new ApiResponse();

            try
            {
                JobGrade obj = _mapper.Map <JobGrade>(request);
                obj.IsDeleted = false;
                await _dbContext.JobGrade.AddAsync(obj);

                await _dbContext.SaveChangesAsync();

                response.StatusCode = StaticResource.successStatusCode;
                response.Message    = "Success";
            }
            catch (Exception ex)
            {
                response.StatusCode = StaticResource.failStatusCode;
                response.Message    = ex.Message;
            }
            return(response);
        }
Example #26
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     if (IsCorrectData())
     {
         if (MessageBox.Show("Warning: \nModifying job grade settings might cause discrepancies on employee's details associated with it. \nIt is advisable to create a new job grade than to modify/delete existing one.\n\nAre you sure to continue?", clsMessageBox.MessageBoxText, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
         {
             using (JobGrade objJobGrade = new JobGrade())
             {
                 objJobGrade.JGCode                 = txtJGCode.Text;
                 objJobGrade.JGDescription          = txtDescription.Text;
                 objJobGrade.JGOrder                = clsValidator.CheckInteger(txtLevel.Text);
                 objJobGrade.DeductLate             = (chkDeductLate.Checked ? "1" : "0");
                 objJobGrade.DeductUnderTime        = (chkDeductUndertime.Checked ? "1" : "0");
                 objJobGrade.PayOverTime            = (chkPayOvertime.Checked ? "1" : "0");
                 objJobGrade.PlantillaCountHQ       = clsValidator.CheckInteger(txtPlantillaCountHQ.Text);
                 objJobGrade.PlantillaCountBillable = clsValidator.CheckInteger(txtPlantillaCountBillable.Text);
                 objJobGrade.Update();
             }
             _frmJobGradeList.BindJobGradeList();
             this.Close();
         }
     }
 }
Example #27
0
 private void BindJGCode()
 {
     cmbJGCode.DataSource    = JobGrade.DSLJGCode();
     cmbJGCode.DisplayMember = "ptext";
     cmbJGCode.ValueMember   = "pvalue";
 }