Esempio n. 1
0
        public AdjustJobGrade(JobGrade grade, int year, SemiannualType semiannual, bool isVerify)
        {
            is_separator = false;

            this.jobGrade   = grade;
            this.year       = year;
            this.semiannual = semiannual;
            this.is_verify  = isVerify;

            this.period = year * 10 + (byte)semiannual;

            LoadData();
        }
Esempio n. 2
0
        public static JobGrade AddJobGrade(string salary_plan, string name, int order)
        {
            JobGrade item = GetJobGrade(salary_plan, name);

            if (item == null)
            {
                item = new JobGrade();

                item.标识   = Guid.NewGuid();
                item.薪酬体系 = salary_plan;
                item.称    = name;
                item.序号   = order;

                item.Save();
            }
            return(item);
        }
Esempio n. 3
0
        protected override void OnSaving()
        {
            if (string.IsNullOrEmpty(this.称))
            {
                throw new Exception("职级名称不能为空。");
            }

            JobGrade found = GetJobGrade(this.薪酬体系, this.称);

            if (found != null && found.标识 != this.标识)
            {
                throw new Exception("同一薪酬体系内,职等名称不能重复。");
            }

            base.OnSaving();

            GRADE_CACHE.Set(this.标识, this, TimeSpan.FromHours(4));
        }
Esempio n. 4
0
        public static List <AdjustJobGrade> GetAdjustJobGradeList(string salary_plan, int year, SemiannualType semiannual, bool insert_separator, bool isVerify)
        {
            List <AdjustJobGrade> gradeList = new List <AdjustJobGrade>();

            int period = year * 10 + (byte)semiannual;
            List <RankSalaryStandardInput> rss_list = RankSalaryStandardInput.GetRankSalaryStandardInputs(salary_plan, null, period, isVerify);
            List <JobGrade> jobGrades = JobGrade.GetJobGrades(salary_plan);

            foreach (JobGrade grade in jobGrades)
            {
                AdjustJobGrade snGrade = new AdjustJobGrade(grade, year, semiannual, isVerify);
                gradeList.Add(snGrade);
            }

            string prev_line_ranknames          = ""; //上一行职级名称列表
            List <AdjustJobGrade> grades_result = new List <AdjustJobGrade>();

            //遍历
            foreach (AdjustJobGrade sgrade in gradeList)
            {
                if (sgrade.RankNames != "")
                {
                    //如果职级划分不同,插入一行分割数据
                    if (prev_line_ranknames != sgrade.RankNames)
                    {
                        if (prev_line_ranknames != "")
                        {
                            grades_result.Add(new AdjustJobGrade(sgrade.RankNames));
                        }

                        prev_line_ranknames = sgrade.RankNames;
                    }
                }
                grades_result.Add(sgrade);
            }
            return(grades_result);
        }
Esempio n. 5
0
        public static GradeSalaryAdjust AddGradeSalaryAdjust(string salaryPlan, string grade, int period, int type)
        {
            GradeSalaryAdjust item = GetGradeSalaryAdjust(salaryPlan, grade, period, type);

            if (item == null)
            {
                item      = new GradeSalaryAdjust();
                item.标识   = Guid.NewGuid();
                item.薪酬体系 = salaryPlan;
                item.职等   = grade;
                item.期号   = period;
                item.类型   = type;

                JobGrade jobGrade = JobGrade.GetJobGrade(salaryPlan, grade);
                if (jobGrade != null)
                {
                    item.职等数   = jobGrade.职等数;
                    item.对比的职等 = jobGrade.对比的职等;
                    item.序号    = jobGrade.序号;
                }
                item.Save();
            }
            return(item);
        }
Esempio n. 6
0
        public static JobGrade GetJobGrade(Guid id)
        {
            JobGrade obj = (JobGrade)Session.DefaultSession.GetObjectByKey(typeof(JobGrade), id);

            return(obj);
        }