Пример #1
0
        public List <JobRank> CreateRanks(string ranks)
        {
            ClearRanks();

            List <JobRank> rankList = new List <JobRank>();

            string[] rank_arr = ranks.Split(new char[] { ' ', ',', ' ', '\t', ',' });
            int      x        = 1;

            for (int i = 0; i < rank_arr.Length; i++)
            {
                string name = rank_arr[i].Trim();
                if (name == "")
                {
                    continue;
                }

                JobRank rank = new JobRank();
                rank.职等标识 = this.标识;
                rank.称    = name;
                rank.序号   = x;
                rank.创建人  = AccessController.CurrentUser.姓名;
                rank.创建时间 = DateTime.Now;
                rank.Save();

                rankList.Add(rank);

                x++;
            }
            RANK_CACHE.Remove(this.标识);
            return(rankList);
        }
 public SemiannualJobRank(JobRank rank, int year, SemiannualType semiannual, int monthly_salary)
 {
     this.jobRank       = rank;
     this.year          = year;
     this.semiannual    = semiannual;
     this.period        = year * 10 + (byte)semiannual;
     this.monthlySalary = monthly_salary;
 }
Пример #3
0
        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();
        }
Пример #4
0
        protected override void OnSaving()
        {
            JobRank found = GetJobRank(this.职等标识, this.称);

            if (found != null && found.标识 != this.标识)
            {
                throw new Exception("同一职等下,名称不能重复。");
            }
            else
            {
                base.OnSaving();
            }
        }
Пример #5
0
 protected override void OnChanged(string propertyName, object oldValue, object newValue)
 {
     //如果序号改变
     if (propertyName == "序号")
     {
         JobRank rank = this.JobRank;
         if (rank != null)
         {
             rank.序号 = this.序号;
             rank.Save();
         }
     }
 }
Пример #6
0
        public static JobRank AddJobRank(Guid gradeId, string name, int order)
        {
            JobRank item = GetJobRank(gradeId, name);

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

                item.职等标识 = gradeId;
                item.称    = name;
                item.序号   = order;
                item.创建人  = AccessController.CurrentUser.姓名;
                item.创建时间 = DateTime.Now;
                item.Save();
            }
            return(item);
        }
Пример #7
0
        public List <JobRank> AppendRanks(string names)
        {
            List <JobRank> list = new List <JobRank>();

            string[] rank_arr = names.Split(new char[] { ' ', ',', ' ', '\t', ',' });
            int      order    = 职级表.Count + 1;

            for (int i = 0; i < rank_arr.Length; i++)
            {
                string name = rank_arr[i].Trim();
                if (name == "")
                {
                    continue;
                }

                JobRank rank = JobRank.AddJobRank(this.标识, name, order);
                list.Add(rank);
                order++;
            }
            //删除缓存
            RANK_CACHE.Remove(this.标识);
            return(list);
        }
Пример #8
0
        public static JobRank GetJobRank(Guid id)
        {
            JobRank obj = (JobRank)Session.DefaultSession.GetObjectByKey(typeof(JobRank), id);

            return(obj);
        }