/// <summary>
        /// 获取各阶开始于第几年
        /// </summary>
        /// <param name="usType">升阶类型</param>
        /// <param name="step">第几阶,-1 代表满阶</param>
        /// <returns>返回开始的年数,错误返回 -1 </returns>
        public static int GetStepStartYear(UpStepType usType, int step)
        {
            switch (usType)
            {
            case UpStepType.五年两段三类:
            case UpStepType.五年两段四类:
                return(step == -1 ? 5 : 1);

            case UpStepType.五年三段四类:
                if (step == -1)
                {
                    return(5);
                }
                return(step == 1 ? 1 : 4);

            case UpStepType.七年两段五类:
                return(step == -1 ? 7 : 1);

            case UpStepType.七年三段五类:
                if (step == -1)
                {
                    return(7);
                }
                return(step == 1 ? 1 : 5);
            }
            return(-1);
        }
Beispiel #2
0
        protected void LoadData()
        {
            CreateWaitDialog("正在查询...", "请稍等");

            plan_list_a = ManagementTraineeSalaryPlan.GeneratePlanList(division, grade, type, "A");
            plan_list_b = ManagementTraineeSalaryPlan.GeneratePlanList(division, grade, type, "B");
            plan_list_c = ManagementTraineeSalaryPlan.GeneratePlanList(division, grade, type, "C");

            string years = "五";

            if (plan_list_a.Count == 24)
            {
                years = "六";
            }
            if (plan_list_a.Count == 28)
            {
                years = "七";
            }

            UpStepType ust = ManagementTraineePayStandard.GetUpStepType(division, grade, type);
            string     p   = "";

            switch (ust)
            {
            case UpStepType.五年两段三类:
                p = "52"; break;

            case UpStepType.五年两段四类:
                p = "51"; break;

            case UpStepType.五年三段四类:
                p = "53"; break;

            case UpStepType.七年两段五类:
                p = "71"; break;

            case UpStepType.七年三段五类:
                p = "72"; break;
            }

            lbl标题.Text = division + " 届定职人员(" + grade + ")【" + type + "】" + years + "年薪酬计划表";
            //加载模板
            string filename = Path.Combine(Application.StartupPath, "ReportTemplates\\" + p + "YearSalaryPlan.tab");

            spreadsheetControl1.LoadDocument(filename);

            sheet   = spreadsheetControl1.ActiveWorksheet;
            columns = sheet.Columns;
            rows    = sheet.Rows;
            cells   = sheet.Cells;

            SetWaitDialogCaption("正在加载数据...");

            FillTable();

            sheet.ScrollToColumn(0);//焦点切回开始位置

            CloseWaitDialog();
        }
Beispiel #3
0
        protected void LoadData()
        {
            CreateWaitDialog("正在查询...", "请稍等");

            salary_standard_items = ManagementTraineePayStandard.GetManagementTraineePayStandards(trainee.员工编号);

            division = trainee.届别;
            grade    = trainee.岗位级别;
            type     = trainee.岗位级别 == "一级" ? trainee.岗位类型 : trainee.专业属性;

            lbl姓名.Text = "姓名:" + trainee.姓名;
            lbl届别.Text = "届别:" + trainee.届别;
            lbl类别.Text = trainee.岗位级别 == "一级" ? "岗位类型:" + type : "专业属性:" + type;

            UpStepType ust = ManagementTraineePayStandard.GetUpStepType(division, grade, type);

            switch (ust)
            {
            case UpStepType.五年两段三类:
            case UpStepType.五年两段四类:
                year_count = 5; break;

            case UpStepType.五年三段四类:
                year_count = 6; break;

            case UpStepType.七年两段五类:
            case UpStepType.七年三段五类:
                year_count = 7; break;
            }

            lbl标题.Text = "定职人员(" + grade + ")【" + type + "】" + trainee.姓名 + "个人年度评定结果及提资表";
            //加载模板
            string filename = Path.Combine(Application.StartupPath, "ReportTemplates\\" + year_count + "-YearSalaryList.tab");

            spreadsheetControl1.LoadDocument(filename);

            sheet   = spreadsheetControl1.ActiveWorksheet;
            columns = sheet.Columns;
            rows    = sheet.Rows;
            cells   = sheet.Cells;

            SetWaitDialogCaption("正在加载数据...");

            FillTable();

            sheet.ScrollToColumn(0); //焦点切回开始位置

            CloseWaitDialog();
        }
        private void ShowRiseRateForm(FormParameters formParams)
        {
            string division = (string)formParams.Parameters[0];
            string grade    = (string)formParams.Parameters[1];
            string type     = (string)formParams.Parameters[2];

            UpStepType ust = ManagementTraineePayStandard.GetUpStepType(division, grade, type);

            switch (ust)
            {
            case UpStepType.五年两段三类:
                RiseRate52Form riseRate52Form = new RiseRate52Form(division, grade, type);
                riseRate52Form.Owner = this;
                riseRate52Form.ShowDialog();
                break;

            case UpStepType.五年两段四类:
                RiseRate51Form riseRate51Form = new RiseRate51Form(division, grade, type);
                riseRate51Form.Owner = this;
                riseRate51Form.ShowDialog();
                break;

            case UpStepType.五年三段四类:
                RiseRate53Form riseRate62Form = new RiseRate53Form(division, grade, type);
                riseRate62Form.Owner = this;
                riseRate62Form.ShowDialog();
                break;

            case UpStepType.七年两段五类:
                RiseRate71Form riseRate71Form = new RiseRate71Form(division, grade, type);
                riseRate71Form.Owner = this;
                riseRate71Form.ShowDialog();
                break;

            case UpStepType.七年三段五类:
                RiseRate72Form riseRate72Form = new RiseRate72Form(division, grade, type);
                riseRate72Form.Owner = this;
                riseRate72Form.ShowDialog();
                break;
            }
        }
Beispiel #5
0
        private void ShowRiseRateInputForm(bool isCheck)
        {
            UpStepType ust = ManagementTraineePayStandard.GetUpStepType(division, grade, type);

            switch (ust)
            {
            case UpStepType.五年两段三类:
                RiseRate52InputForm riseRate52InputForm = new RiseRate52InputForm(division, grade, type, isCheck);
                riseRate52InputForm.Owner = this;
                riseRate52InputForm.ShowDialog();
                break;

            case UpStepType.五年两段四类:
                RiseRate51InputForm riseRate51InputForm = new RiseRate51InputForm(division, grade, type, isCheck);
                riseRate51InputForm.Owner = this;
                riseRate51InputForm.ShowDialog();
                break;

            case UpStepType.五年三段四类:
                RiseRate53InputForm riseRate62InputForm = new RiseRate53InputForm(division, grade, type, isCheck);
                riseRate62InputForm.Owner = this;
                riseRate62InputForm.ShowDialog();
                break;

            case UpStepType.七年两段五类:
                RiseRate71InputForm riseRate71InputForm = new RiseRate71InputForm(division, grade, type, isCheck);
                riseRate71InputForm.Owner = this;
                riseRate71InputForm.ShowDialog();
                break;

            case UpStepType.七年三段五类:
                RiseRate72InputForm riseRate72InputForm = new RiseRate72InputForm(division, grade, type, isCheck);
                riseRate72InputForm.Owner = this;
                riseRate72InputForm.ShowDialog();
                break;
            }
        }
        public static int GetStepStartYear(string division, string grade, string type, int step)
        {
            UpStepType usType = GetUpStepType(division, grade, type);

            return(GetStepStartYear(usType, step));
        }
        /// <summary>
        /// 获取现在处于那个阶段
        /// </summary>
        /// <param name="division">届别</param>
        /// <param name="grade">岗位级别</param>
        /// <param name="type">类别</param>
        /// <param name="quarter">季度(基于0),从开始到现在是第几个季度</param>
        /// <returns>返回阶段值,-1 满阶 1 一阶 2 二阶 -1 错误,小数点后面的步</returns>
        public static double GetStep(string division, string grade, string type, int quarter)
        {
            UpStepType usType = GetUpStepType(division, grade, type);

            switch (usType)
            {
            case UpStepType.五年两段三类:
            case UpStepType.五年两段四类:
                if (quarter >= 4 * 4)           //第五年进入满阶
                {
                    return(((double)quarter - 4 * 4) * 0.01);
                }
                else
                {
                    return(1 + ((double)quarter) * 0.01);
                }

            case UpStepType.五年三段四类:
                if (quarter >= 4 * 4)           //第五年进入满阶
                {
                    return(((double)quarter - 4 * 4) * 0.01);
                }
                else
                {
                    if (quarter >= 3 * 4)       //第四年进入二阶
                    {
                        return(2 + ((double)quarter - 3 * 4) * 0.01);
                    }
                    else
                    {
                        return(1 + ((double)quarter) * 0.01);
                    }
                }

            case UpStepType.七年两段五类:
                if (quarter >= 6 * 4)           //第七年进入满阶
                {
                    return(((double)quarter - 6 * 4) * 0.01);
                }
                else
                {
                    return(1 + ((double)quarter) * 0.01);
                }

            case UpStepType.七年三段五类:
                if (quarter >= 6 * 4)           //第七年进入满阶
                {
                    return(((double)quarter - 6 * 4) * 0.01);
                }
                else
                {
                    if (quarter >= 4 * 4)       //第五年进入二阶
                    {
                        return(2 + ((double)quarter - 4 * 4) * 0.01);
                    }
                    else
                    {
                        return(1 + ((double)quarter) * 0.01);
                    }
                }
            }
            return(-1);
        }