protected override void ExcuteSelf()
        {
            IContract iContract = new ContractDal();
            GetEmployee getEmployee = new GetEmployee();
            List<Employee> employeeList = new List<Employee>();
            employeeList.AddRange(
                getEmployee.GetEmployeeBasicInfoByBasicCondition(_EmployeeName, EmployeeTypeEnum.NormalEmployee, -1,
                                                                 _DepartmentID,
                                                                 true,-1));
            employeeList.AddRange(
                getEmployee.GetEmployeeBasicInfoByBasicCondition(_EmployeeName, EmployeeTypeEnum.ProbationEmployee, -1,
                                                                 _DepartmentID,
                                                                 true,-1));
            employeeList.AddRange(
                getEmployee.GetEmployeeBasicInfoByBasicCondition(_EmployeeName, EmployeeTypeEnum.BorrowedEmployee, -1,
                                                                 _DepartmentID,
                                                                 true,-1));
            employeeList.AddRange(
                getEmployee.GetEmployeeBasicInfoByBasicCondition(_EmployeeName, EmployeeTypeEnum.PartTimeEmployee, -1,
                                                                 _DepartmentID,
                                                                 true,-1));
            employeeList.AddRange(
                getEmployee.GetEmployeeBasicInfoByBasicCondition(_EmployeeName, EmployeeTypeEnum.PracticeEmployee, -1,
                                                                 _DepartmentID,
                                                                 true,-1));
            employeeList.AddRange(
                getEmployee.GetEmployeeBasicInfoByBasicCondition(_EmployeeName, EmployeeTypeEnum.Retirement, -1,
                                                                 _DepartmentID,
                                                                 true,-1));
            employeeList.AddRange(
                getEmployee.GetEmployeeBasicInfoByBasicCondition(_EmployeeName, EmployeeTypeEnum.RetirementHire, -1,
                                                                 _DepartmentID,
                                                                 true,-1));
            employeeList.AddRange(
                getEmployee.GetEmployeeBasicInfoByBasicCondition(_EmployeeName, EmployeeTypeEnum.WorkEmployee, -1,
                                                                 _DepartmentID,
                                                                 true,-1));
            employeeList = HrmisUtility.RemoteUnAuthEmployee(employeeList, AuthType.HRMIS, _Account, _Powers);
            foreach (Employee employee in employeeList)
            {

                string description = string.Empty;
                Contract contract = iContract.GetLastContractInAllTypeByAccountID(employee.Account.Id, _CurrentDate);
                if (contract == null)
                {
                    description = string.Format("{0}目前没有合同信息", employee.Account.Name);
                }
                if (string.IsNullOrEmpty(description))
                {
                    continue;
                }
                SystemError error = new SystemError(description, ErrorType.EmployeeContractError, employee.Account.Id);
                error.ErrorEmployee = employee;
                error.EditUrl =
                    string.Format("{0}employeeID={1}",
                                  ErrorType.EmployeeContractError.EditPageUrl,
                                  SecurityUtil.DECEncrypt(employee.Account.Id.ToString()));
                _SystemErrorList.Add(error);
            }
        }