/// <summary> /// 初始化页面加载事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmAttendanceStatSelf_Load(object sender, EventArgs e) { try { MonthlyStatisticsDto Stat = AutofacConfig.attendanceService.GetUserMonthlyStatistics(UserID, Convert.ToDateTime(Daytime)); UserDetails userDetails = new UserDetails(); UserDetailDto UserInfo = userDetails.getUser(UserID); if (UserInfo == null) { throw new Exception("用户不存在"); } if (string.IsNullOrEmpty(this.title1.TitleText) == true) { this.title1.TitleText = UserInfo.U_Name + "的考勤报表"; } lblDay.Text = Stat.DS_NormalDayCount.ToString(); //正常考勤天数 this.lblAll.Text = Stat.MS_AllCount.ToString() + "次"; //应签到 this.lblName.Text = UserInfo.U_Name; //用户名 this.image1.ResourceID = UserInfo.U_Portrait; //用户头像 if (string.IsNullOrEmpty(Daytime) == true) { Daytime = DateTime.Now.ToString(); } this.lblYear.Text = Convert.ToDateTime(Daytime).ToString("yyyy年"); //显示年份 this.btnMonth.Text = Convert.ToDateTime(Daytime).ToString("MM"); //显示月份 Bind(); } catch (Exception ex) { Toast(ex.Message); } }
/// <summary> /// 数据绑定 /// </summary> private void Bind() { try { DateTime StatDay = Convert.ToDateTime(this.lblYear.Text + this.btnMonth.Text); MonthlyStatisticsDto Stat = AutofacConfig.attendanceService.GetUserMonthlyStatistics(UserID, Convert.ToDateTime(Daytime)); lblDay.Text = Stat.DS_NormalDayCount.ToString() + "天"; DataTable table = new DataTable(); table.Columns.Add("AttendType"); //签到类型 table.Columns.Add("AttendNumber"); //签到次数 table.Columns.Add("Number"); //签到次数 table.Rows.Add(StatisticsType.准点, Stat.MS_InTimeCount.ToString() + "次", Stat.MS_InTimeCount); table.Rows.Add(StatisticsType.迟到, Stat.MS_ComeLateCount.ToString() + "次", Stat.MS_ComeLateCount); table.Rows.Add(StatisticsType.早退, Stat.MS_LeaveEarlyCount.ToString() + "次", Stat.MS_LeaveEarlyCount); table.Rows.Add(StatisticsType.未签到, Stat.MS_NoSignInCount.ToString() + "次", Stat.MS_NoSignInCount); table.Rows.Add(StatisticsType.未签退, Stat.MS_NoSignOutCount.ToString() + "次", Stat.MS_NoSignOutCount); gridATdata.Rows.Clear(); //清空数据 if (table.Rows.Count > 0) { this.gridATdata.DataSource = table; this.gridATdata.DataBind(); } } catch (Exception ex) { Toast(ex.Message); } }
/// <summary> /// 绑定数据 /// </summary> private void Bind() { try { string[] Year = this.btnYear.Text.Split('▼'); //年份 string[] Month = this.btnMonth.Text.Split('▼'); //月份 DataTable table = new DataTable(); switch (btnMode) { case 1: // this.gridATdata.TemplateControlName = "frmAttendanceStatisticsLayout"; //获取某月考勤用户数据 List <string> Users = AutofacConfig.attendanceService.GetUserNameByPeriod(Convert.ToDateTime(Year[0] + Month[0]).AddDays(-DateTime.Now.Day + 1), Convert.ToDateTime(Year[0] + Month[0]).AddDays(1 - DateTime.Now.Day).AddMonths(1)); if (Users.Count > 0) { table.Columns.Add("ID"); //用户ID table.Columns.Add("Pict"); //用户头像 table.Columns.Add("Name"); //用户名称 table.Columns.Add("Total"); //应签到次数 table.Columns.Add("Al"); //准时签到次数 table.Columns.Add("Late"); //迟到次数 table.Columns.Add("Early"); //早退次数 table.Columns.Add("No"); //未签次数 foreach (string Row in Users) { MonthlyStatisticsDto Stat = AutofacConfig.attendanceService.GetUserMonthlyStatistics(Row, Convert.ToDateTime(Year[0] + Month[0])); UserDetails UserDetail = new UserDetails(); UserDetailDto User = UserDetail.getUser(Row); table.Rows.Add(User.U_ID, User.U_Portrait, User.U_Name, Stat.MS_AllCount, Stat.MS_InTimeCount, Stat.MS_ComeLateCount, Stat.MS_LeaveEarlyCount, Stat.MS_NoSignInCount + Stat.MS_NoSignOutCount); } gridATdata.Rows.Clear(); //清除考勤统计列表数据 this.gridATdata.DataSource = table; this.gridATdata.DataBind(); } break; case 2: // this.gridATdata.TemplateControlName = "frmAttendanceStatDayLayout"; //获取某月考勤日期 List <DateTime> listDate = AutofacConfig.attendanceService.GetDayOfMonthlyStatistics(UserID, Convert.ToDateTime(Year[0] + Month[0])); if (listDate.Count > 0) { table.Columns.Add("Day"); //需要签到的日期 foreach (DateTime Row in listDate) { string Time = Row.ToString("yyyy年M月d日 dddd", new System.Globalization.CultureInfo("zh-CN")); table.Rows.Add(Time); } gridATdata1.Rows.Clear(); //清除考勤统计列表数据 this.gridATdata1.DataSource = table; this.gridATdata1.DataBind(); } break; } } catch (Exception ex) { Toast(ex.Message); } }