private MonthlySalaryInput AddRow(int order, EmployeeInfo emp)
        {
            string lastSalaryGrade = SalaryResult.GetLastestSalaryGrade(emp.员工编号);

            if (lastSalaryGrade == null)
            {
                lastSalaryGrade = emp.职等;
            }

            //2018-7-11 软件开发人员的职等的专门的,不同于其他管理人员
            if (salary_plan == "软件开发" && jobgrade != null)
            {
                lastSalaryGrade = jobgrade.称;
            }
            bool copyEffective = false;
            //将当前执行的标准带过来
            MonthlySalary effectiveMonthlySalary = MonthlySalary.GetEffective(emp.员工编号, DateTime.Today);

            if (effectiveMonthlySalary != null)
            {
                if (effectiveMonthlySalary.薪酬体系 == salary_plan && effectiveMonthlySalary.职等 == lastSalaryGrade)
                {
                    copyEffective = true;
                }
                //如果是管培生或副总以上人员,都带出来
                if (jobgrade == null)
                {
                    copyEffective = true;
                }
            }
            //创建员工月薪记录
            MonthlySalaryInput ms = MonthlySalaryInput.AddMonthlySalaryInput(emp.员工编号, period, isCheck, copyEffective);

            ms.序号   = order;
            ms.薪酬体系 = salary_plan;
            ms.职等   = lastSalaryGrade;
            ms.群组   = group;
            //2018-4-23 新建的记录备注不要带过来
            if (ms.录入人.Trim() == "")
            {
                ms.开始执行日期 = DateTime.MinValue;
                ms.调整类型   = "";
                ms.备注     = "";
            }
            if (jobgrade == null)
            {
                ms.执行_月薪类型 = "特资";
            }
            ms.Save();
            return(ms);
        }
        List <MonthlySalaryInput> CreateEditingRows()
        {
            List <MonthlySalaryInput> list = new List <MonthlySalaryInput>();

            //排序
            emp_list = emp_list.OrderBy(a => a.部门序号).ThenBy(a => a.机构序号).ThenBy(a => a.机构名称).ThenBy(a => a.员工序号).ToList();
            DateTime lastSalaryDate = SalaryResult.GetLastSalaryDate();
            int      order          = 1;

            foreach (EmployeeInfo emp in emp_list)
            {
                //2018-5-25 只创建没有月薪标准的人员
                //将当前执行的标准带过来
                MonthlySalary effectiveMonthlySalary = MonthlySalary.GetEffective(emp.员工编号, lastSalaryDate);
                if (effectiveMonthlySalary != null)
                {
                    continue;
                }

                string lastSalaryGrade = SalaryResult.GetLastestSalaryGrade(emp.员工编号);
                if (lastSalaryGrade == null)
                {
                    lastSalaryGrade = emp.职等;
                }

                //创建员工月薪记录
                MonthlySalaryInput ms = MonthlySalaryInput.AddMonthlySalaryInput(emp.员工编号, period, isCheck, true);
                ms.序号   = order;
                ms.薪酬体系 = salary_plan;
                ms.职等   = lastSalaryGrade;
                ms.群组   = group;
                //2018-4-23 新建的记录备注不要带过来
                if (ms.录入人.Trim() == "")
                {
                    ms.开始执行日期 = DateTime.MinValue;
                    ms.调整类型   = "";
                    ms.备注     = "";
                }
                ms.Save();
                list.Add(ms);
                order++;
            }

            return(list);
        }
        private void OnEmployeeSelectd(object sender, EmployeeInfo emp)
        {
            if (monthly_salary_list.Find(a => a.员工编号 == emp.员工编号) == null)
            {
                string lastSalaryGrade = SalaryResult.GetLastestSalaryGrade(emp.员工编号);
                if (lastSalaryGrade == null)
                {
                    lastSalaryGrade = emp.职等;
                }

                bool copyEffective = false;
                //将当前执行的标准带过来
                MonthlySalary effectiveMonthlySalary = MonthlySalary.GetEffective(emp.员工编号, DateTime.Today);
                if (effectiveMonthlySalary != null)
                {
                    if (effectiveMonthlySalary.薪酬体系 == salary_plan && effectiveMonthlySalary.职等 == lastSalaryGrade)
                    {
                        copyEffective = true;
                    }
                    //如果是管培生或副总以上人员,都带出来
                    if (jobgrade == null)
                    {
                        copyEffective = true;
                    }
                }
                //创建员工月薪记录
                MonthlySalaryInput item = MonthlySalaryInput.AddMonthlySalaryInput(emp.员工编号, period, isCheck, copyEffective);
                item.序号   = advBandedGridView1.RowCount;
                item.薪酬体系 = salary_plan;
                item.职等   = emp.职等;
                item.群组   = group;
                //2018-4-23 调整类型和备注不要带过来
                item.调整类型 = "";
                item.备注   = "";
                item.Save();

                monthly_salary_list.Add(item);
                UpdateRowNumber();
                gridControl1.RefreshDataSource();
                advBandedGridView1.FocusedRowHandle = advBandedGridView1.RowCount - 1;
            }
        }