public void BindMonthAttendanceList(object source, EventArgs e) { if (CheckValid()) { try { List <Employee> employeeMonthAttendanceList = _IEmployeeAttendanceStatisticsFacade.GetMonthAttendanceStatisticsFacade( _IMonthAttendanceView.EmployeeName, _IMonthAttendanceView.SelectedDepartment, _IMonthAttendanceView.GradesId, dtFromDate, dtToDate, _Operator, HrmisPowers.A507); //列表中没有查出当前员工的信息时,满足一下两个条件的任何一个,再次加载当前员工的信息 //1.所选部门是当前员工的部门 //2.所选部门包含当前员工的部门 //如现实数据中王莎莉登录,无任何权限,只可看自己的信息 if (_Operator.Name.Contains(_IMonthAttendanceView.EmployeeName) && !HrmisUtility.IsEmployeeListContainEmployee(employeeMonthAttendanceList, _Operator.Id)) { bool getnow = true; if (_IMonthAttendanceView.SelectedDepartment != _Operator.Dept.Id) { Department selectedDept = _IDepartmentBll.GetDepartmentById(_IMonthAttendanceView.SelectedDepartment, null); if (!selectedDept.IsExistDept(_Operator.Dept.Id)) { getnow = false; } } if (_IMonthAttendanceView.GradesId != null && _Operator.GradesID != _IMonthAttendanceView.GradesId) { getnow = false; } if (getnow) { GetCurrEmployeeMonthAttendance(employeeMonthAttendanceList); } } _IMonthAttendanceView.EmployeeMonthAttendanceList = employeeMonthAttendanceList; _IMonthAttendanceView.ScopeDateFrom = _IMonthAttendanceView.FromDate; _IMonthAttendanceView.ScopeDateTo = _IMonthAttendanceView.ToDate; _IMonthAttendanceView.Message = "<span class='font14b'>共有 </span>" + "<span class='fontred'>" + _IMonthAttendanceView.EmployeeMonthAttendanceList.Count + "</span>" + "<span class='font14b'> 条统计记录</span>"; } catch (ApplicationException ex) { _IMonthAttendanceView.Message = "<span class='fontred'>" + ex.Message + "</span>"; } } }
private void Search(NameValueCollection parameters) { List <ControlError> errors = new List <ControlError>(); List <EmployeeModel> EmployeeModelList = new List <EmployeeModel>(); string EmployeeName = parameters["EmployeeName"]; int employeeType = Convert.ToInt32(parameters["employeeType"]); int positionID = Convert.ToInt32(parameters["positionID"]); int departmentID = Convert.ToInt32(parameters["departmentID"]); int? gradesID = Convert.ToInt32(parameters["gradesID"]); if (gradesID < 0) { gradesID = null; } int EmployeeStatusId = Convert.ToInt32(parameters["EmployeeStatusId"]); string recursionDepartment = parameters["recursionDepartment"]; string ageFrom = parameters["ageFrom"]; string ageTo = parameters["ageTo"]; try { ValidateAge(ageFrom, ageTo); EmployeeTypeEnum _employeeType = EmployeeTypeUtility.GetEmployeeTypeByID(employeeType); List <Employee> _EmployeeList = _IEmployeeFacade.GetEmployeeBasicInfoByBasicConditionWithCompanyAge( EmployeeName, _employeeType, positionID, gradesID, departmentID, intAgeFrom, intAgeTo, recursionDepartment == "true", EmployeeStatusId); _EmployeeList = HrmisUtility.RemoteUnAuthEmployee(_EmployeeList, AuthType.HRMIS, _Operator, HrmisPowers.A401); List <Employee> employees = new List <Employee>(); foreach (Employee emplyee in _EmployeeList) { //根据所属公司id,得到所属公司名称 var temp = emplyee; if (temp.EmployeeDetails == null || temp.EmployeeDetails.Work == null || temp.EmployeeDetails.Work.Company == null) { } else { //todo noted by wsl transfer waiting for modify temp.EmployeeDetails.Work.Company = _IDepartmentBll.GetDepartmentById( temp.EmployeeDetails.Work.Company.Id, new Account()); } temp.EmployeeDetails = temp.EmployeeDetails ?? new EmployeeDetails(); temp.EmployeeDetails.Work = temp.EmployeeDetails.Work ?? new Work(); temp.EmployeeDetails.Work.Company = temp.EmployeeDetails.Work.Company ?? new Department(); employees.Add(temp); } //列表中没有查出当前员工的信息时,满足一下两个条件的任何一个,再次加载当前员工的信息 //1.所选部门是当前员工的部门 //2.所选部门包含当前员工的部门 //如现实数据中王莎莉登录,无任何权限,只可看自己的信息 if (_Operator.Name.Contains(EmployeeName) && !HrmisUtility.IsEmployeeListContainEmployee(employees, _Operator.Id)) { if (departmentID == -1) { GetCurrEmployee(employees, employeeType, positionID, gradesID, departmentID); } else if (departmentID != _Operator.Dept.Id) { Department selectedDept = _IDepartmentBll.GetDepartmentById(departmentID, null); if (selectedDept.IsExistDept(_Operator.Dept.Id)) { GetCurrEmployee(employees, employeeType, positionID, gradesID, departmentID); } } else { GetCurrEmployee(employees, employeeType, positionID, gradesID, departmentID); } } EmployeeModelList = employees.Select(x => new EmployeeModel { PKID = x.Account.Id, EmployeeName = "<div class='info' pkid='" + SecurityUtil.DECEncrypt(x.Account.Id.ToString()) + "'>" + x.Account.Name + "</div>", EmployeeType = EmployeeTypeUtility.EmployeeTypeDisplay(x.EmployeeType), Department = x.Account.Dept.Name, Company = x.EmployeeDetails.Work.Company.Name, Position = x.Account.Position.Name, WorkTime = x.EmployeeDetails.Work.ComeDate.ToString("yyyy-MM-dd") }).ToList(); } catch (Exception ex) { errors.Add(new ControlError("lblMessage", ex.Message)); } _ResponseString = PageUtility.FomartSearchString(EmployeeModelList, errors); }