public static void SychSalaryStep() { foreach (SalStep ss in SalStep.GetAll()) { SalaryStep salStep = AddSalaryStep(ss.集合, ss.薪酬体系, ss.薪等编号, ss.薪级编号, ss.生效日期); if (salStep == null) { continue; } salStep.薪级名称 = ss.薪级名称; salStep.次同步时间 = DateTime.Now; salStep.Save(); } //冲突处理:有VS无 / 有VS变 / 无VS有 foreach (SalaryStep step in GetAll()) { SalStep found = SalStep.GetAll().Find(a => a.集合 == step.集合 && a.薪酬体系 == step.薪酬体系 && a.薪等编号 == step.薪等编号 && a.生效日期 == step.生效日期); if (found == null) { step.Delete(); } } }
public static SalaryStep AddSalaryStep(string setid, string salPlan, string grade, int step, DateTime effDate) { SalaryGrade salGrade = SalaryGrade.GetSalaryGrade(setid, salPlan, grade, effDate); if (salGrade != null) { SalaryStep plan = GetSalaryStep(salGrade.标识, step, effDate); if (plan == null) { plan = new SalaryStep(); plan.标识 = Guid.NewGuid(); plan.薪等标识 = salGrade.标识; plan.薪级编号 = step; plan.生效日期 = effDate; plan.创建时间 = DateTime.Now; plan.Save(); } return(plan); } else { return(null); } }