/// <summary>
        /// 获得员工的考勤信息
        /// </summary>
        /// <param name="employee"></param>
        /// <param name="FromDate"></param>
        /// <param name="ToDate"></param>
        private static bool GetEmployeeAttendanceInfo(Employee employee, DateTime FromDate, DateTime ToDate)
        {
            if (employee.EmployeeType == EmployeeTypeEnum.BorrowedEmployee)
            {
                return(false);
            }
            //根据入职离职时间确定考勤的有效时间
            DateTime employeeFromDate = DateTime.Compare(employee.EmployeeDetails.Work.ComeDate, FromDate) > 0
                                            ? employee.EmployeeDetails.Work.ComeDate
                                            : FromDate;
            DateTime employeeToDate;

            if (employee.EmployeeType == EmployeeTypeEnum.DimissionEmployee && employee.EmployeeDetails.Work.DimissionInfo != null)
            {
                employeeToDate =
                    DateTime.Compare(employee.EmployeeDetails.Work.DimissionInfo.DimissionDate, ToDate) < 0
                        ? employee.EmployeeDetails.Work.DimissionInfo.DimissionDate
                        : ToDate;
            }
            else
            {
                employeeToDate = ToDate;
            }
            employeeToDate = employeeToDate.AddDays(1).AddSeconds(-1);
            if (DateTime.Compare(employeeFromDate, employeeToDate) > 0)
            {
                return(false);
            }
            employee.EmployeeAttendance = new EmployeeAttendance(employeeFromDate, employeeToDate);
            //打卡信息
            employee.EmployeeAttendance.AttendanceInAndOutRecordList =
                _dalAttendanceInAndOutRecord.GetAttendanceInAndOutRecordByCondition(employee.Account.Id, "",
                                                                                    employeeFromDate,
                                                                                    employeeToDate,
                                                                                    InOutStatusEnum.All,
                                                                                    OutInRecordOperateStatusEnum.All,
                                                                                    Convert.ToDateTime("1900-1-1"),
                                                                                    Convert.ToDateTime("2900-12-31"));
            //考勤规则
            employee.EmployeeAttendance.PlanDutyDetailList =
                _IPlanDutyDal.GetPlanDutyDetailByAccount(employee.Account.Id, employeeFromDate, employeeToDate);
            //迟到早退旷工详情
            employee.EmployeeAttendance.DayAttendanceList.AddRange(
                _GetBadAttendance.GetCalendarByEmployee(employee.Account.Id,
                                                        employee.EmployeeAttendance.FromDate,
                                                        employee.EmployeeAttendance.ToDate, AttendanceTypeEmnu.All));
            //请假详情
            employee.EmployeeAttendance.DayAttendanceList.AddRange(
                _GetLeaveRequest.GetCalendarByEmployee(employee.Account.Id,
                                                       employee.EmployeeAttendance.FromDate,
                                                       employee.EmployeeAttendance.ToDate));
            //加班外出申请
            employee.EmployeeAttendance.DayAttendanceList.AddRange(
                _GetOutApplication.GetCalendarByEmployee(employee.Account.Id,
                                                         employee.EmployeeAttendance.FromDate,
                                                         employee.EmployeeAttendance.ToDate));
            employee.EmployeeAttendance.DayAttendanceList.AddRange(
                _GetOverWork.GetCalendarByEmployee(employee.Account.Id,
                                                   employee.EmployeeAttendance.FromDate,
                                                   employee.EmployeeAttendance.ToDate));
            return(true);
        }