void LoadData() { //分隔行没有数据 if (is_separator) { return; } 薪酬体系 = jobGrade.薪酬体系; 称 = jobGrade.称; 期号 = period; 职等 = jobGrade; RankNames = ""; 标识 = jobGrade.标识; rss_list.Clear(); List <JobRank> jobranks = JobRank.GetJobRanks(jobGrade.标识); foreach (JobRank rank in jobranks) { //本期标准 RankSalaryStandardInput rss = RankSalaryStandardInput.AddRankSalaryStandardInput(jobGrade.薪酬体系, jobGrade.称, rank.称, period, rank.序号, is_verify); rss_list.Add(rss); 开始执行日期 = rss.开始执行日期; //赋值 string propertyName = "R" + rss.序号; string monthlySalary = rss.月薪.ToString(); PropertyInfo property = this.GetType().GetProperty(propertyName); if (property != null) { property.SetValue(this, monthlySalary, null); } if (RankNames != "") { RankNames += ":"; } RankNames += rank.称; } int t = is_verify ? 2 : 1; //统计表类型:0: 正式, 1: 初次录入, 2: 验证录入 gsa = GradeSalaryAdjust.GetGradeSalaryAdjust(jobGrade.薪酬体系, jobGrade.称, period, t); if (gsa == null) { gsa = GradeSalaryAdjust.AddGradeSalaryAdjust(jobGrade.薪酬体系, jobGrade.称, period, t); gsa.Calculate(); } SetFieldValue(); }
public ImplementJobGrade(string salaryPlan, string grade, int year, SemiannualType semiannual) { is_separator = false; this.year = year; this.period = year * 10 + (byte)semiannual; 薪酬体系 = salaryPlan; 职等 = grade; 期号 = period; ID = salaryPlan + grade + period; RankNames = ""; rss_list = RankSalaryStandard.GetRankSalaryStandards(salaryPlan, grade, period); foreach (RankSalaryStandard rss in rss_list) { 开始执行日期 = rss.开始执行日期; //赋值 string propertyName = "R" + rss.序号; string monthlySalary = rss != null?rss.月薪.ToString() : ""; PropertyInfo property = this.GetType().GetProperty(propertyName); if (property != null) { property.SetValue(this, monthlySalary, null); } if (RankNames != "") { RankNames += ":"; } RankNames += rss.职级; } GradeSalaryAdjust gsa = GradeSalaryAdjust.GetGradeSalaryAdjust(salaryPlan, grade, period, 0); if (gsa == null) { gsa = GradeSalaryAdjust.AddGradeSalaryAdjust(salaryPlan, grade, period, 0); gsa.Calculate(); } 序号 = gsa.职等数; 职等数 = gsa.职等数.ToString(); 级差 = gsa.级差.ToString(); 平均工资 = gsa.平均工资.ToString(); 最低工资 = gsa.最低工资; 最高工资 = gsa.最高工资; 对比的职等 = gsa.对比的职等; if (gsa.年调率 > 0) { 半年调资额 = gsa.半年调资额.ToString(); 年调 = gsa.每年调资额.ToString(); 半年调率 = (gsa.年调率 * 100 / 1.5).ToString("#0.#") + "%"; 年调率 = (gsa.年调率 * 100).ToString("#0.#") + "%"; } if (gsa.年调率 == 1) { 年调率 = ""; } if (!string.IsNullOrEmpty(对比的职等)) { 职等差 = gsa.职等差.ToString(); } if (gsa.期调整 != null) { 期级别平均 = gsa.期调整.平均工资.ToString(); } }