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); } }