예제 #1
0
        public static SalaryGrade AddSalaryGrade(string setid, string salPlan, string grade, DateTime effDate)
        {
            SalaryGrade plan = GetSalaryGrade(setid, salPlan, grade, effDate);

            if (plan == null)
            {
                plan      = new SalaryGrade();
                plan.标识   = Guid.NewGuid();
                plan.集合   = setid;
                plan.薪酬体系 = salPlan;
                plan.薪等编号 = grade;
                plan.生效日期 = effDate;
                plan.创建时间 = DateTime.Now;
                plan.Save();
            }
            return(plan);
        }
예제 #2
0
        public static void SychSalaryGrade()
        {
            foreach (SalGrade sg in SalGrade.薪酬等级表)
            {
                SalaryGrade salPlan = AddSalaryGrade(sg.集合, sg.薪酬体系, sg.薪等编号, sg.生效日期);

                salPlan.薪等名称 = sg.薪等名称;
                salPlan.状态   = sg.状态;

                salPlan.基准工资标准 = sg.基准工资标准;
                salPlan.表工资标准  = sg.表工资标准;
                salPlan.设定工资标准 = sg.设定工资标准;
                salPlan.年休假工资  = sg.年休假工资;

                salPlan.养老保险缴纳基数 = sg.养老保险缴纳基数;
                salPlan.医疗保险缴纳基数 = sg.医疗保险缴纳基数;
                salPlan.生育保险缴纳基数 = sg.生育保险缴纳基数;
                salPlan.失业保险缴纳基数 = sg.失业保险缴纳基数;
                salPlan.工伤保险缴纳基数 = sg.工伤保险缴纳基数;

                salPlan.公积金基数 = sg.公积金基数;

                salPlan.次同步时间 = DateTime.Now;

                salPlan.Save();
            }
            //冲突处理:有VS无 / 有VS变 / 无VS有
            foreach (SalaryGrade grade in GetAll())
            {
                SalGrade found = SalGrade.薪酬等级表.Find(a => a.集合 == grade.集合 && a.薪酬体系 == grade.薪酬体系 && a.薪等编号 == grade.薪等编号 && a.生效日期 == grade.生效日期);
                if (found == null)
                {
                    grade.Delete();
                }
            }
        }