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; }
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(); }
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(); }