コード例 #1
0
        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();
                }
            }
        }
コード例 #2
0
        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);
            }
        }