/// <summary>
        /// 为positionGrades在最后一行添加空的item项,positionGrades为-1
        /// </summary>
        /// <param name="positionGrades"></param>
        /// <returns></returns>
        public static List <PositionGrade> AddNullItem(List <PositionGrade> positionGrades)
        {
            PositionGrade item = new PositionGrade();

            item.Id   = -1;// 100000 + cardPropertyEnumValueList.Count;
            item.Name = "";
            positionGrades.Add(item);
            return(positionGrades);
        }
        public void UpdatePositionGrade(PositionGrade obj)
        {
            SqlCommand cmd = new SqlCommand();

            cmd.Parameters.Add(_PositionGradeId, SqlDbType.Int).Value            = obj.Id;
            cmd.Parameters.Add(_PositionGradeName, SqlDbType.NVarChar, 50).Value = obj.Name;
            cmd.Parameters.Add(_PositionSequence, SqlDbType.Int).Value           = obj.Sequence;
            cmd.Parameters.Add(_PositionGradeDescription, SqlDbType.Text).Value  = obj.Description;

            SqlHelper.ExecuteNonQuery("UpdatePositionGrade", cmd);
        }
 ///<summary>
 /// 计算出员工的年假天数
 ///</summary>
 ///<param name="comeDate"></param>
 ///<returns></returns>
 ///<param name="exercitationEnd"></param>
 public decimal GetVacationDayNum(PositionGrade positionGrade)
 {
     if (positionGrade.Sequence == 0 || positionGrade.Sequence == 1)
     {
         return(17);
     }
     else
     {
         return(15);
     }
 }
Exemple #4
0
        /// <summary>
        /// 是否包含positionGrade
        /// </summary>
        /// <param name="positionGrade"></param>
        /// <param name="positionGradeStatisticsList"></param>
        /// <returns></returns>
        private static bool ContainPositionGrade(PositionGrade positionGrade, List <PositionGradeStatistics> positionGradeStatisticsList)
        {
            bool iRet = false;

            foreach (PositionGradeStatistics positionGradeStatistics in positionGradeStatisticsList)
            {
                if (positionGradeStatistics.PositionGrade.Name == positionGrade.Name)
                {
                    iRet = true;
                    break;
                }
            }
            return(iRet);
        }
Exemple #5
0
        /// <summary>
        /// 修改职位层级有效性判断:
        /// 1、修改的职位层级已经存在
        /// 2、职位层级不能与已有的其他职位层级重名
        /// 3、职位层级在使用中
        /// </summary>
        protected override void Validation()
        {
            if (!Powers.HasAuth(_LoginUser.Auths, AuthType.SEP, Powers.A203))
            {
                throw MessageKeys.AppException(MessageKeys._NoAuth);
            }

            PositionGrade grade = DalInstance.PositionDalInstance.GetPositionGradeByName(_PositionGrade.Name);

            if (grade != null && grade.Id != _PositionGrade.Id)
            {
                throw MessageKeys.AppException(MessageKeys._PositionGrade_Name_Repeat);
            }
        }
Exemple #6
0
        private void SetGridViewRowtxtEmunNameDisplay
            (int rowIndex, PositionGrade positionGrade)
        {
            TextBox txtName        = (TextBox)dgPositionGradeList.Rows[rowIndex].FindControl("txtName");
            TextBox txtDescription = (TextBox)dgPositionGradeList.Rows[rowIndex].FindControl("txtDescription");

            if (txtName == null || txtDescription == null)
            {
                return;
            }
            txtName.Text                    = positionGrade.Name;
            txtDescription.Text             = positionGrade.Description;
            txtDescription.Style["display"] = txtName.Style["display"] = "block";
        }
        //public void InsertPosition(Position obj)
        //{
        //    SqlCommand cmd = new SqlCommand();

        //    cmd.Parameters.Add(_PositionId, SqlDbType.Int).Direction = ParameterDirection.Output;

        //    cmd.Parameters.Add(_PositionName, SqlDbType.NVarChar, 50).Value = obj.Name;
        //    cmd.Parameters.Add(_PositionDescription, SqlDbType.Text).Value = obj.Description;
        //    if (obj.Level != null)
        //        cmd.Parameters.Add(_LevelId, SqlDbType.Int).Value = obj.Level.Id;


        //    int pkid;
        //    SqlHelper.ExecuteNonQueryReturnPKID("InsertPosition", cmd, out pkid);
        //    obj.Id = pkid;
        //}

        //public void UpdatePosition(Position obj)
        //{
        //    SqlCommand cmd = new SqlCommand();

        //    cmd.Parameters.Add(_PositionId, SqlDbType.Int).Value = obj.Id;
        //    cmd.Parameters.Add(_PositionName, SqlDbType.NVarChar, 50).Value = obj.Name;
        //    cmd.Parameters.Add(_PositionDescription, SqlDbType.Text).Value = obj.Description;
        //    if (obj.Level != null)
        //        cmd.Parameters.Add(_LevelId, SqlDbType.Int).Value = obj.Level.Id;
        //    else
        //        cmd.Parameters.Add(_LevelId, SqlDbType.Int).Value = DBNull.Value;

        //    SqlHelper.ExecuteNonQuery("UpdatePosition", cmd);
        //}

        //public void DeletePosition(int id)
        //{
        //    SqlCommand cmd = new SqlCommand();
        //    cmd.Parameters.Add(_PositionId, SqlDbType.Int).Value = id;
        //    SqlHelper.ExecuteNonQuery("DeletePosition", cmd);
        //}

        //public List<Position> GetAllPosition()
        //{
        //    List<Position> positions = new List<Position>();

        //    SqlCommand cmd = new SqlCommand();

        //    using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetPosition", cmd))
        //    {
        //        while (sdr.Read())
        //        {
        //            Position temp = CreatePositionFromDB(sdr);
        //            if (temp != null)
        //                positions.Add(temp);
        //        }
        //    }
        //    return positions;
        //}

        //public Position GetPositionById(int id)
        //{
        //    SqlCommand cmd = new SqlCommand();

        //    cmd.Parameters.Add(_PositionId, SqlDbType.Int).Value = id;

        //    using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetPosition", cmd))
        //    {
        //        while (sdr.Read())
        //        {
        //            return CreatePositionFromDB(sdr);
        //        }
        //    }
        //    return null;
        //}

        //public bool IsExistPosition(int id)
        //{
        //    SqlCommand cmd = new SqlCommand();

        //    cmd.Parameters.Add(_PositionId, SqlDbType.Int).Value = id;

        //    using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetPosition", cmd))
        //    {
        //        return sdr.HasRows;
        //    }
        //}

        //public Position GetPositionByName(string name)
        //{
        //    SqlCommand cmd = new SqlCommand();

        //    cmd.Parameters.Add(_PositionName, SqlDbType.NVarChar, 50).Value = name;

        //    using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetPosition", cmd))
        //    {
        //        while (sdr.Read())
        //        {
        //            return CreatePositionFromDB(sdr);
        //        }
        //    }
        //    return null;
        //}



        public void InsertPositionGrade(PositionGrade obj)
        {
            SqlCommand cmd = new SqlCommand();

            cmd.Parameters.Add(_PositionGradeId, SqlDbType.Int).Direction = ParameterDirection.Output;

            cmd.Parameters.Add(_PositionGradeName, SqlDbType.NVarChar, 50).Value = obj.Name;
            cmd.Parameters.Add(_PositionSequence, SqlDbType.Int).Value           = obj.Sequence;
            cmd.Parameters.Add(_PositionGradeDescription, SqlDbType.Text).Value  = obj.Description;

            int pkid;

            SqlHelper.ExecuteNonQueryReturnPKID("InsertPositionGrade", cmd, out pkid);
            obj.Id = pkid;
        }
Exemple #8
0
        private void SetGridViewRowLinkButtonReadOnlyDisplay(int rowIndex, PositionGrade positionGrade)
        {
            LinkButton lbDeleteItem = (LinkButton)dgPositionGradeList.Rows[rowIndex].FindControl("lbDeleteItem");

            if (lbDeleteItem != null)
            {
                //已使用的职位等级不允许删除
                if (InitEvent != null)
                {
                    InitEvent(lbDeleteItem, positionGrade.Id);
                    //lbDeleteItem.Text = "<img src=../../image/file_cancel_enable.gif border=0>";
                    //lbDeleteItem.Enabled = false;
                }
            }
        }
Exemple #9
0
        /// <summary>
        /// 交换第id行<==>第id+1行
        /// </summary>
        /// <param name="id"></param>
        public void ForDownEvent(string id)
        {
            List <PositionGrade> items = _ItsView.PositionGradeListSrc;
            int currRow = Convert.ToInt32(id);

            if (currRow + 1 == items.Count)
            {
                return;
            }
            PositionGrade tempItem = items[currRow + 1];

            items[currRow + 1]            = items[currRow];
            items[currRow]                = tempItem;
            _ItsView.PositionGradeListSrc = items;
        }
        private List <PositionGrade> CloneSrc(List <PositionGrade> src)
        {
            List <PositionGrade> result = new List <PositionGrade>();

            foreach (PositionGrade grade in src)
            {
                PositionGrade temp = new PositionGrade();
                temp.Id          = grade.Id;
                temp.Name        = grade.Name;
                temp.ParameterID = grade.ParameterID;
                temp.Sequence    = grade.Sequence;
                temp.Description = grade.Description;
                result.Add(temp);
            }
            return(result);
        }
Exemple #11
0
        private PositionGrade CreatePositionGradeFromDB(IDataRecord dr)
        {
            PositionGrade positionGrade = null;

            if (dr == null)
            {
                return(positionGrade);
            }

            positionGrade             = new PositionGrade();
            positionGrade.Id          = Convert.ToInt32(dr[_DbPositionGradeId]);
            positionGrade.Name        = dr[_DbPositionGradeName].ToString();
            positionGrade.Description = dr[_DbPositionGradeDescription].ToString();
            positionGrade.Sequence    = Convert.ToInt32(dr[_DbPositionSequence]);

            return(positionGrade);
        }
Exemple #12
0
        public List <PositionGrade> GetAllPositionGrade()
        {
            List <PositionGrade> positionGrades = new List <PositionGrade>();
            SqlCommand           cmd            = new SqlCommand();

            using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetPositionGrade", cmd))
            {
                while (sdr.Read())
                {
                    PositionGrade temp = CreatePositionGradeFromDB(sdr);
                    if (temp != null)
                    {
                        positionGrades.Add(temp);
                    }
                }
            }
            return(positionGrades);
        }
Exemple #13
0
        /// <summary>
        /// 为employee填充account的信息,其中包括account中的dept
        /// </summary>
        /// <param name="accountID"></param>
        /// <param name="employee"></param>
        /// <param name="_IAccountBll"></param>
        /// <returns></returns>
        /// <param name="_IDepartmentBll"></param>
        public static Employee SetEmployeeAccountInfo(int accountID, Employee employee, IAccountBll _IAccountBll,
                                                      IDepartmentBll _IDepartmentBll)
        {
            PositionGrade grade = null;

            if (employee.Account != null && employee.Account.Position != null &&
                employee.Account.Position.Grade != null)
            {
                grade = employee.Account.Position.Grade;
            }
            employee.Account = _IAccountBll.GetAccountById(accountID);
            if (grade != null)
            {
                employee.Account.Position.Grade = grade;
            }
            employee.Account.Dept = _IDepartmentBll.GetDepartmentById(employee.Account.Dept.Id, null);

            return(employee);
        }
Exemple #14
0
        public void UpdatePositionGrade(PositionGrade positionGrade, Account loginUser)
        {
            UpdatePositionGrade updatePositionGrade = new UpdatePositionGrade(positionGrade, loginUser);

            updatePositionGrade.Excute();
        }
Exemple #15
0
        public void CreatePositionGrade(PositionGrade positionGrade, Account loginUser)
        {
            AddPositionGrade addPositionGrade = new AddPositionGrade(positionGrade, loginUser);

            addPositionGrade.Excute();
        }
        protected override void ExcuteSelf()
        {
            Employee oldemployee = _DalEmployee.GetEmployeeBasicInfoByAccountID(_Employee.Account.Id);

            using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
            {
                //保存层级信息
                PositionGrade grade = _Employee.Account.Position.Grade;
                _Employee.Account = _IAccountBll.GetAccountById(_Employee.Account.Id);
                _Employee.Account.Position.Grade = grade;
                //得到后台帐号
                Account accountOperator = _IAccountBll.GetAccountById(_Operatoraccount.Id);
                //更新员工基本信息
                _DalEmployee.UpdateEmployee(_Employee);
                //员工的技能
                _DalEmployeeSkill.UpdateEmployeeSkill(_Employee);
                //员工福利包括历史的新增
                if (_Employee.EmployeeWelfare != null)
                {
                    SaveEmployeeWelfare SaveEmployeeWelfare =
                        new SaveEmployeeWelfare(_Employee.Account.Id, _Employee.EmployeeWelfare.SocialSecurity.Type,
                                                _Employee.EmployeeWelfare.SocialSecurity.Base,
                                                _Employee.EmployeeWelfare.SocialSecurity.EffectiveYearMonth,
                                                _Employee.EmployeeWelfare.AccumulationFund.Account,
                                                _Employee.EmployeeWelfare.AccumulationFund.EffectiveYearMonth,
                                                _Employee.EmployeeWelfare.AccumulationFund.Base,
                                                accountOperator.Name,
                                                _Employee.EmployeeWelfare.AccumulationFund.SupplyAccount,
                                                _Employee.EmployeeWelfare.AccumulationFund.SupplyBase,
                                                _Employee.EmployeeWelfare.SocialSecurity.YangLaoBase,
                                                _Employee.EmployeeWelfare.SocialSecurity.ShiYeBase,
                                                _Employee.EmployeeWelfare.SocialSecurity.YiLiaoBase,
                                                _DalEmployeeWelfare, _DalEmployeeWelfareHistory);
                    SaveEmployeeWelfare.Excute();
                }

                //员工自定义流程
                if (_Employee.DiyProcessList != null)
                {
                    SaveEmployeeDiyProcess saveProcess = new SaveEmployeeDiyProcess(_Employee.Account.Id, _Employee.DiyProcessList);
                    saveProcess.Excute();
                }
                //员工调休规则
                if (_Employee.AdjustRule != null)
                {
                    new EditEmployeeAdjustRule(_Employee.Account.Id, _Employee.AdjustRule).Excute();
                }
                //记录员工的历史,再次加载信息,为了拍下当时的部门信息(部门名字,部门主管)
                _Employee.Account.Dept = _IDepartmentBll.GetDepartmentById(_Employee.Account.Dept.Id, null);
                EmployeeHistory employeeHistory =
                    new EmployeeHistory(_Employee, DateTime.Now, accountOperator, "");
                _DalEmployeeHistory.CreateEmployeeHistory(employeeHistory);

                #region SEP相关

                //修改为离职后,要更新SEP信息
                if (_Employee.EmployeeType == EmployeeTypeEnum.DimissionEmployee &&
                    oldemployee.EmployeeType != EmployeeTypeEnum.DimissionEmployee)
                {
                    _IAccountBll.SetAccountType(_Employee.Account.Id, VisibleType.None, accountOperator);
                }

                #endregion

                ts.Complete();
            }
        }
 public AddPositionGrade(PositionGrade PositionGrade, Account loginUser)
 {
     _PositionGrade = PositionGrade;
     _LoginUser     = loginUser;
 }
        public string SaveInitialData(string positionGradeName, string positionName, string depName, string leaderName, string leaderLoginName)
        {
            string message = "";

            try
            {
                #region Account

                Account accounts = new Account();
                accounts.Name        = "系统初始用户";
                accounts.LoginName   = "admin";
                accounts.AccountType = VisibleType.SEP;
                accounts.Auths       = new List <Auth>();
                accounts.Auths.Add(new Auth(Powers.A101, ""));
                accounts.Auths.Add(new Auth(Powers.A201, ""));
                accounts.Auths.Add(new Auth(Powers.A202, ""));
                accounts.Auths.Add(new Auth(Powers.A203, ""));

                #endregion

                using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
                {
                    #region PositionGrade

                    PositionGrade        positionGrade = new PositionGrade(-1, positionGradeName, "");
                    List <PositionGrade> objs          = new List <PositionGrade>();
                    objs.Add(positionGrade);
                    BllInstance.PositionBllInstance.SavePositionGradeList(objs, new List <int>(), accounts);

                    #endregion

                    #region Position

                    Position position = new Position();
                    position.Name        = positionName;
                    position.Description = "";
                    positionGrade        =
                        BllInstance.PositionBllInstance.GetPositionGradeByName(positionGradeName, accounts);
                    if (positionGrade != null)
                    {
                        position.Grade    = new PositionGrade();
                        position.Grade.Id = positionGrade.Id;
                    }

                    BllInstance.PositionBllInstance.CreatePosition(position, accounts);

                    #endregion

                    #region Employee

                    Account account = new Account();
                    account.LoginName   = leaderLoginName;
                    account.AccountType = VisibleType.SEP;
                    account.Password    = Account.DefaultPassword;
                    account.Name        = leaderName;
                    account.Email1      = "";
                    account.Email2      = "";
                    account.MobileNum   = "";
                    account.Dept        = new Department(1, "");
                    account.Position    = BllInstance.PositionBllInstance.GetPositionByName(positionName, accounts);
                    BllInstance.AccountBllInstance.CreateAccount(account, accounts);

                    #endregion

                    #region Department

                    Department department = new Department();
                    department.Name   = depName;
                    department.Leader = new Account(1, leaderName, leaderName);
                    BllInstance.DepartmentBllInstance.CreateDept(department, accounts);

                    #endregion

                    ts.Complete();
                }
            }
            catch (ApplicationException ae)
            {
                message = ae.Message;
            }
            return(message);
        }
Exemple #19
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="positionGrade"></param>
 public PositionGradeStatistics(PositionGrade positionGrade)
 {
     _PositionGrade = positionGrade;
 }