示例#1
0
        ///// <summary>
        ///// 正常流程
        ///// </summary>
        ///// <param name="accountID"></param>
        ///// <returns></returns>
        //public List<LeaveRequest> GetConfirmLeaveRequest(int accountID)
        //{
        //    List<LeaveRequest> leaveRequestList = new List<LeaveRequest>();
        //    List<Account> accountList = _IAccountBll.GetSubordinates(accountID);
        //    //找出所有待审核的请假申请
        //    List<LeaveRequest> confirmLeaveRequestList = _DalLeaveRequest.GetConfirmLeaveRequest();

        //    foreach (LeaveRequest confirmLeaveRequest in confirmLeaveRequestList)
        //    {
        //        foreach (Account account in accountList)
        //        {
        //            if (IsTheSameEmployee(account, confirmLeaveRequest.Account))
        //            {
        //                confirmLeaveRequest.Account = account;
        //                leaveRequestList.Add(confirmLeaveRequest);
        //            }
        //        }
        //    }
        //    return leaveRequestList;
        //}

        #endregion

        /// <summary>
        /// 自定义流程
        /// </summary>
        /// <param name="accountID"></param>
        /// <returns></returns>
        public List <LeaveRequest> GetConfirmLeaveRequest(int accountID)
        {
            List <LeaveRequest> leaveRequestList = new List <LeaveRequest>();
            //找出所有待审核的请假申请
            List <LeaveRequest> confirmLeaveRequestList = GetConfirmLeaveRequest();

            foreach (LeaveRequest confirmLeaveRequest in confirmLeaveRequestList)
            {
                foreach (LeaveRequestItem item in confirmLeaveRequest.LeaveRequestItems)
                {
                    if (item.CurrentStep.OperatorID == accountID && item.CurrentStep.Status != "取消")
                    {
                        leaveRequestList.Add(confirmLeaveRequest);
                        break;
                    }
                }
            }

            foreach (LeaveRequest request in leaveRequestList)
            {
                request.LeaveRequestType =
                    _DalLeaveRequestType.GetLeaveRequestTypeByPkid(request.LeaveRequestType.LeaveRequestTypeID);
                request.LeaveRequestType.Description = "最小单位:" + request.LeaveRequestType.LeastHour + "小时。说明:" +
                                                       request.LeaveRequestType.Description;
            }
            return(leaveRequestList);
        }
示例#2
0
        private void Init()
        {
            LeaveRequestType leaveRequestType = _LeaveRequestTypeDal.GetLeaveRequestTypeByPkid(_LeaveRequestTypeID);

            //_LeaveRequests=_leaveRequestDal.GetLeaveRequestByCondition(_AccountID, _From.Date, _To.Date.AddHours(24), RequestStatus.All);
            _LeaveRequestTypeName = leaveRequestType.Name;
            _LeastHour            = leaveRequestType.LeastHour;
            _IncludeLegalHoliday  = leaveRequestType.IncludeLegalHoliday == LegalHoliday.Include;
            _IncludeRestDay       = leaveRequestType.IncludeRestDay == RestDay.Include;
            _PlanDutyDetailList   = _PlanDutyDal.GetPlanDutyDetailByAccount(_AccountID, _From, _To);
            _CalculateDays        = new CalculateDays(_SpecialDateBll.GetAllSpecialDate(null));
        }
        protected override void Validation()
        {
            if (_LeaveRequestTypeDal.GetLeaveRequestTypeByPkid(_LeaveRequestType.LeaveRequestTypeID) == null)
            {
                HrmisUtility.ThrowException(HrmisUtility._LeaveRequestType_Name_NotExist);
            }
            LeaveRequestType leaveRequestType = _LeaveRequestTypeDal.GetLeaveRequestTypeByName(_LeaveRequestType.Name);

            if (leaveRequestType != null && leaveRequestType.LeaveRequestTypeID != _LeaveRequestType.LeaveRequestTypeID)
            {
                HrmisUtility.ThrowException(HrmisUtility._LeaveRequestType_Name_Repeat);
            }
        }
示例#4
0
 protected override void Validation()
 {
     if (_LeaveRequestTypeDal.GetLeaveRequestTypeByPkid(_LeaveRequestTypeID) == null)
     {
         HrmisUtility.ThrowException(HrmisUtility._LeaveRequestType_Name_NotExist);
     }
     if (_LeaveRequestDal.CountLeaveRequestByLeaveRequestTypeID(_LeaveRequestTypeID) > 0)
     {
         HrmisUtility.ThrowException(HrmisUtility._LeaveRequestType_HasLeaveRequest);
     }
     if (_LeaveRequestTypeID == (int)LeaveRequestTypeEnum.AnnualLeave || _LeaveRequestTypeID == (int)LeaveRequestTypeEnum.AdjustRest)
     {
         HrmisUtility.ThrowException(HrmisUtility._LeaveRequestType_CanNotDelete);
     }
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="pkid"></param>
 /// <returns></returns>
 public LeaveRequestType GetLeaveRequestTypeByPkid(int pkid)
 {
     return(_LeaveRequestTypeDal.GetLeaveRequestTypeByPkid(pkid));
 }