Exemple #1
0
        private void FillTable()
        {
            List <GradeSalaryAdjust> list = GradeSalaryAdjust.GetGradeSalaryAdjusts(salary_plan, grade, DateTime.Today.Year - 5);
            int x = 0;

            foreach (GradeSalaryAdjust gsa in list)
            {
                FillTableRows(gsa, x++);
            }

            int rank_start_index = 4;
            int rank_end_index   = rank_start_index + max_rank_count;

            for (int i = rank_end_index; i <= rank_start_index + 10; i++)
            {
                columns[i].Visible = false;
            }

            //如果没有标准,保留格式模板
            if (list.Count > 0)
            {
                //删除模板
                Range rng_src = sheet.Range["B4:R5"];
                sheet.DeleteCells(rng_src, DeleteMode.ShiftCellsUp);
            }
        }
        private void form_OnFinished(AdjustJobGrade grade, GradeSalaryAdjust gsa, List<RankSalaryStandardInput> rss_input)
        {
            int focusRowHandle = gridView1.FocusedRowHandle;

            LoadData(false);

            gridView1.FocusedRowHandle = focusRowHandle;
        }
Exemple #3
0
        protected void LoadData()
        {
            gsa = GradeSalaryAdjust.AddGradeSalaryAdjust(grade.薪酬体系, grade.称, grade.期号, isCheckInput ? 2 : 1);

            cb对比的职等.EditValue = grade.对比的职等;
            txt职等数.Text       = grade.职等数;
            text半年调资额.Text    = gsa.半年调资额.ToString();

            currInputRows            = GetRows();
            vGridControl1.DataSource = currInputRows;
            vGridControl1.RefreshDataSource();
            vGridControl1.Refresh();
        }
Exemple #4
0
        private void FillTableRows(GradeSalaryAdjust gsad, int recIndex)
        {
            if (gsad == null)
            {
                return;
            }

            int rowIndex = 5 + recIndex * 2;

            List <RankSalaryStandard> ranks = RankSalaryStandard.GetRankSalaryStandards(salary_plan, grade, gsad.期号);

            if (ranks.Count == 0)
            {
                return;
            }

            if (ranks.Count > max_rank_count)
            {
                max_rank_count = ranks.Count;
            }
            //复制
            Range rng_src = sheet.Range["B4:R5"];

            string dest_pos = "B" + (rowIndex + 1).ToString() + ":R" + (rowIndex + 2).ToString();
            Range  rng_dest = sheet.Range[dest_pos];

            rng_dest.CopyFrom(rng_src, PasteSpecial.All);
            rng_dest.RowHeight = rng_src.RowHeight;

            //序号
            cells[rowIndex, 1].Value = recIndex + 1;
            //执行日期
            cells[rowIndex, 2].Value  = ranks[0].开始执行日期.ToString("yyyy-M-d");
            cells[rowIndex, 14].Value = gsad.平均工资;
            cells[rowIndex, 15].Value = gsad.半年调资额;
            cells[rowIndex, 16].Value = (gsad.年调率 * 100 / 1.5).ToString("#0.#") + "%";
            cells[rowIndex, 17].Value = (gsad.年调率 * 100).ToString("#0.#") + "%";

            int i = 0;

            foreach (RankSalaryStandard rank in ranks)
            {
                cells[rowIndex, 4 + i].Value     = rank.职级;
                cells[rowIndex + 1, 4 + i].Value = rank.月薪;

                i++;
            }
        }
        private void UpdateRankSalary(AdjustJobGrade row)
        {
            GradeSalaryAdjust gsa = row.调整记录;
            int 级月薪 = gsa.最高工资 + gsa.级差 * 2;

            foreach (RankSalaryStandardInput rss in row.职级工资表)
            {
                if (rss.期标准 != null)
                {
                    rss.月薪 = rss.期标准.月薪 + row.调整金额;
                }
                else
                {
                    rss.月薪 = 级月薪 - gsa.级差;
                }
                rss.Save();
                级月薪 = rss.月薪;
            }
            gsa.半年调资额 = row.调整金额;
            gsa.Calculate();
            row.Refresh();
        }