/// <summary> /// 得到考勤汇总表数据 /// </summary> private void BindDateAllList() { EyouSoft.BLL.AdminCenterStructure.AttendanceInfo bllAttendanceInfo = new EyouSoft.BLL.AdminCenterStructure.AttendanceInfo(); EyouSoft.Model.AdminCenterStructure.SearchInfo modelSearchInfo = new EyouSoft.Model.AdminCenterStructure.SearchInfo(); modelSearchInfo.Year = Year; modelSearchInfo.Month = Month; modelSearchInfo.DepartMentId = DepartmentID; modelSearchInfo.ArchiveNo = WorkerNum; modelSearchInfo.StaffName = Name; IList <EyouSoft.Model.AdminCenterStructure.AttendanceByDepartment> listAttendanceByDepartment = bllAttendanceInfo.GetAttendanceByDepartmentList(CurrentUserCompanyID, modelSearchInfo); if (listAttendanceByDepartment != null && listAttendanceByDepartment.Count > 0) { bool flag = true; for (int i = 0; i < listAttendanceByDepartment.Count; i++) { if (listAttendanceByDepartment[i].PersonList.Count != 0) { flag = false; break; } } if (flag) { this.crptCollectAllList.EmptyText = "<table width=\"800\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#000000\" style=\"border-collapse:collapse; line-height:16px;\"><tr><td colspan=\"34\"><div style=\"text-align:center; margin-top:75px; margin-bottom:75px;\">没有相关的数据!</span></div></td></tr></table>"; } else { this.crptCollectAllList.DataSource = listAttendanceByDepartment; this.crptCollectAllList.DataBind(); } } }
/// <summary> /// 绑定数据 /// </summary> private void BindData() { EyouSoft.BLL.AdminCenterStructure.AttendanceInfo bllAttendance = new EyouSoft.BLL.AdminCenterStructure.AttendanceInfo(); IList <EyouSoft.Model.AdminCenterStructure.AttendanceAbout> listAttendanceAbout = bllAttendance.GetList(PageSize, PageIndex, ref RecordCount, StaffNo, StaffName, DepartmentId, CurrentUserCompanyID); if (listAttendanceAbout != null && listAttendanceAbout.Count > 0) { this.crptAttendanceList.DataSource = listAttendanceAbout; this.crptAttendanceList.DataBind(); this.BindPage(); } else { this.crptAttendanceList.EmptyText = "<tr><td colspan=\"7\"><div style=\"text-align:center; margin-top:75px; margin-bottom:75px;\">没有相关的数据!</span></div></td></tr>"; this.ExporPageInfoSelect1.Visible = false; } }
/// <summary> /// 得到当月考勤统计 /// </summary> public string GetMonthAttendance(int StaffNo) { EyouSoft.BLL.AdminCenterStructure.AttendanceInfo bllAttendanceInfo = new EyouSoft.BLL.AdminCenterStructure.AttendanceInfo(); EyouSoft.Model.AdminCenterStructure.AttendanceAbout modelAttendanceAbout = bllAttendanceInfo.GetAttendanceAbout(CurrentUserCompanyID, StaffNo, Year, Month); if (modelAttendanceAbout != null) { return("准点<strong>" + modelAttendanceAbout.Punctuality + "</strong>天," + "迟到<strong>" + modelAttendanceAbout.Late + "</strong>天," + "早退<strong>" + modelAttendanceAbout.LeaveEarly + "</strong>天," + "旷工<strong>" + modelAttendanceAbout.Absenteeism + "</strong>天," + "休假<strong>" + modelAttendanceAbout.Vacation + "</strong>天," + "请假<strong>" + modelAttendanceAbout.AskLeave + "</strong>天," + "加班<strong>" + modelAttendanceAbout.OverTime + "</strong>小时," + "外出<strong>" + modelAttendanceAbout.Out + "</strong>天," + "出团<strong>" + modelAttendanceAbout.Group + "</strong>天"); } else { return(""); } }
/// <summary> /// 得到个人考勤列表数据 /// </summary> private void BindDataPersonalList() { EyouSoft.BLL.AdminCenterStructure.AttendanceInfo bllAttendanceInfo = new EyouSoft.BLL.AdminCenterStructure.AttendanceInfo(); EyouSoft.Model.AdminCenterStructure.SearchInfo modelSearchInfo = new EyouSoft.Model.AdminCenterStructure.SearchInfo(); modelSearchInfo.Year = Year; modelSearchInfo.Month = Month; modelSearchInfo.DepartMentId = DepartmentID; modelSearchInfo.ArchiveNo = WorkerNum; modelSearchInfo.StaffName = Name; IList <EyouSoft.Model.AdminCenterStructure.PersonnelInfo> listPersonnelInfo = bllAttendanceInfo.GetList(CurrentUserCompanyID, modelSearchInfo); if (listPersonnelInfo != null && listPersonnelInfo.Count > 0) { this.crptPersonalList.DataSource = listPersonnelInfo; this.crptPersonalList.DataBind(); } else { this.crptPersonalList.EmptyText = "<table width=\"800\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#000000\" style=\"border-collapse:collapse; line-height:16px;\"><tr><td colspan=\"7\"><div style=\"text-align:center; margin-top:75px; margin-bottom:75px;\">没有相关的数据!</span></div></td></tr></table>"; } }
/// <summary> /// 得到json数据 /// </summary> private void GetJsonData(int StaffID, int MonthDays, int Year, int Month) { StringBuilder Json = new StringBuilder(); Json.Append("{"); EyouSoft.BLL.AdminCenterStructure.AttendanceInfo bllAttendanceInfo = new EyouSoft.BLL.AdminCenterStructure.AttendanceInfo(); IList <EyouSoft.Model.AdminCenterStructure.AttendanceInfo> listAttendance = null; for (int i = 1; i <= MonthDays; i++) { listAttendance = bllAttendanceInfo.GetList(CurrentUserCompanyID, StaffID, new DateTime(Year, Month, i)); if (listAttendance != null && listAttendance.Count > 0) { string day = Year.ToString() + Month.ToString().PadLeft(2, '0') + i.ToString().PadLeft(2, '0'); Json.Append("\"" + i + "\"" + ":\"<a href='javascript:void(0);' onclick='return LookDetail.LookWorker(" + day + "," + StaffID + ");'>" + i + "</a><br/>"); for (int j = 0; j < listAttendance.Count; j++) { Json.Append(listAttendance[j].WorkStatus + " "); if ((j + 1) % 2 == 0) { Json.Append("<br/>"); } } Json.Append("\","); } else { Json.Append("\"" + i + "\"" + ":\"" + i + "\","); } } Json.Remove(Json.ToString().Length - 1, 1); Json.Append("}"); this.hiddenJson.Value = ""; this.hiddenJson.Value = Json.ToString(); }
protected string WorkOverTimeNum = string.Empty; //加班天数 #endregion protected void Page_Load(object sender, EventArgs e) { int WorkerID = Utils.GetInt(Request.QueryString["WorkerID"], -1); string currDateTime = Utils.GetQueryStringValue("DateTime"); //考勤日期 string Method = Utils.GetFormValue("hidMethod"); if (!IsPostBack && WorkerID != -1 && Method == "" && currDateTime != "") { #region 初始化 int count = 0; //记数 this.hidWorkerID.Value = WorkerID.ToString(); int year = Utils.GetInt(currDateTime.Substring(0, 4)); int month = Utils.GetInt(currDateTime.Substring(4, 2)); int day = Utils.GetInt(currDateTime.Substring(6, 2)); EyouSoft.BLL.AdminCenterStructure.AttendanceInfo bllAttendance = new EyouSoft.BLL.AdminCenterStructure.AttendanceInfo(); IList <EyouSoft.Model.AdminCenterStructure.AttendanceInfo> listAttendanceInfo = bllAttendance.GetList(CurrentUserCompanyID, WorkerID, new DateTime(year, month, day)); if (listAttendanceInfo != null && listAttendanceInfo.Count > 0) { arrCheckboxValue = new string[listAttendanceInfo.Count]; this.crptAttUpdate.DataSource = listAttendanceInfo; this.crptAttUpdate.DataBind(); foreach (EyouSoft.Model.AdminCenterStructure.AttendanceInfo modelAttendance in listAttendanceInfo) { AttStartDate = modelAttendance.AddDate; switch ((int)modelAttendance.WorkStatus) { case 0: case 1: case 3: case 4: case 7: radioValue = (int)(modelAttendance.WorkStatus); break; case 2: case 5: case 6: case 8: arrCheckboxValue[count] = ((int)(modelAttendance.WorkStatus)).ToString(); count++; break; default: break; } if ((int)(modelAttendance.WorkStatus) == 7) //请假 { LeaveWhy = modelAttendance.Reason; LeaveForStartDate = modelAttendance.BeginDate; LeaveForEndDate = modelAttendance.EndDate; LeaveDayNum = decimal.Round(modelAttendance.OutTime, 1).ToString(); } if ((int)(modelAttendance.WorkStatus) == 8) //加班 { WorkOverTimeContent = modelAttendance.Reason; WorkOverTimeDateStart = modelAttendance.BeginDate; WorkOverTimeDateEnd = modelAttendance.EndDate; WorkOverTimeNum = decimal.Round(modelAttendance.OutTime, 1).ToString(); } } } else { this.crptAttUpdate.EmptyText = "<tr><td colspan=\"3\"><div style=\"text-align:center; margin-top:10px; margin-bottom:10px;\">没有相关的数据!</div></td></tr>"; } #endregion } if (WorkerID != -1 && Method == "Save") { if (!CheckGrant(global::Common.Enum.TravelPermission.行政中心_考勤管理_考勤登记)) { Utils.ResponseNoPermit(global::Common.Enum.TravelPermission.行政中心_考勤管理_考勤登记, true); } #region 保存 AttStartDate = Utils.GetDateTime(Request.Form["txt_AttStartDate"]); radioValue = Utils.GetInt(Request.Form["radio1"]); arrCheckboxValue = Utils.GetFormValues("checkbox1"); EyouSoft.BLL.AdminCenterStructure.AttendanceInfo bllAttendance = new EyouSoft.BLL.AdminCenterStructure.AttendanceInfo(); IList <EyouSoft.Model.AdminCenterStructure.AttendanceInfo> listAttendance = new List <EyouSoft.Model.AdminCenterStructure.AttendanceInfo>(); EyouSoft.Model.AdminCenterStructure.AttendanceInfo modelAttendance = null; if (AttStartDate.ToString() == "0001-1-1 0:00:00") { MessageBox.Show(this, "考勤时间不能为空!"); return; } if (radioValue >= 0) //单选情况 { modelAttendance = new EyouSoft.Model.AdminCenterStructure.AttendanceInfo(); modelAttendance.StaffNo = WorkerID; modelAttendance.CompanyId = CurrentUserCompanyID; modelAttendance.OperatorId = SiteUserInfo.ID; modelAttendance.AddDate = AttStartDate; modelAttendance.WorkStatus = (EyouSoft.Model.EnumType.AdminCenterStructure.WorkStatus)(radioValue); if (radioValue == 7) { modelAttendance.Reason = Utils.GetFormValue("txt_LeaveWhy"); modelAttendance.BeginDate = Utils.GetDateTimeNullable(Request.Form["txt_LeaveForStartDate"]); modelAttendance.EndDate = Utils.GetDateTimeNullable(Request.Form["txt_LeaveForEndDate"]); modelAttendance.OutTime = Utils.GetDecimal(Request.Form["txt_LeaveDayNum"]); } listAttendance.Add(modelAttendance); } if (arrCheckboxValue != null && arrCheckboxValue.Length > 0) //多选情况 { for (int i = 0; i < arrCheckboxValue.Length; i++) { modelAttendance = new EyouSoft.Model.AdminCenterStructure.AttendanceInfo(); modelAttendance.StaffNo = WorkerID; modelAttendance.CompanyId = CurrentUserCompanyID; modelAttendance.OperatorId = SiteUserInfo.ID; modelAttendance.AddDate = AttStartDate; modelAttendance.WorkStatus = (EyouSoft.Model.EnumType.AdminCenterStructure.WorkStatus)(Utils.GetInt(arrCheckboxValue[i])); if (arrCheckboxValue[i] == "8") { modelAttendance.Reason = Utils.GetFormValue("txt_WorkOverTimeContent"); modelAttendance.BeginDate = Utils.GetDateTimeNullable(Request.Form["txt_WorkOverTimeDateStart"]); modelAttendance.EndDate = Utils.GetDateTimeNullable(Request.Form["txt_WorkOverTimeDateEnd"]); modelAttendance.OutTime = Utils.GetDecimal(Request.Form["txt_WorkOverTimeNum"]); } listAttendance.Add(modelAttendance); } } if (bllAttendance.Update(CurrentUserCompanyID, listAttendance, AttStartDate)) { MessageBox.ResponseScript(this, string.Format("alert('{0}');window.parent.Boxy.getIframeDialog('{1}').hide();window.parent.Boxy.getIframeDocument('{2}').location.reload();", "保存成功!", Utils.GetQueryStringValue("iframeId"), Utils.GetQueryStringValue("desid"))); } else { MessageBox.Show(this.Page, "修改失败!"); } #endregion } }
protected void Page_Load(object sender, EventArgs e) { int WorkerID = Utils.GetInt(Request.QueryString["WorkerID"], -1); string Method = Utils.GetFormValue("hidMethod"); if (WorkerID != -1 && !IsPostBack) //考勤登记 { this.hidWorkerID.Value = WorkerID.ToString(); this.spanMany.Visible = false; this.spanState1.Visible = true; this.spanState2.Visible = true; } if (WorkerID == -1 && !IsPostBack) //批量考勤 { this.spanMany.Visible = true; this.spanState1.Visible = false; this.spanState2.Visible = false; } if (Method != "") { if (!CheckGrant(global::Common.Enum.TravelPermission.行政中心_考勤管理_考勤登记)) { Utils.ResponseNoPermit(global::Common.Enum.TravelPermission.行政中心_考勤管理_考勤登记, true); } bool result = false; DateTime AttStartDate = Utils.GetDateTime(Request.Form["txt_AttStartDate"]); string Radio = Utils.GetFormValue("radio1"); //准点 迟到 旷工 休假 请假 EyouSoft.BLL.AdminCenterStructure.AttendanceInfo bllAttendanceInfo = new EyouSoft.BLL.AdminCenterStructure.AttendanceInfo(); EyouSoft.Model.AdminCenterStructure.AttendanceInfo modelAttendanceInfo = new EyouSoft.Model.AdminCenterStructure.AttendanceInfo(); if (WorkerID != -1 && Method == "Save")//考勤登记 { #region 考勤登记 string msg = string.Empty; string[] Checkboxs = Utils.GetFormValues("checkbox1"); //加班 早退 外出 出团 #region 加班 请假 string LeaveWhy = Utils.GetFormValue("txt_LeaveWhy"); DateTime?LeaveForStartDate = Utils.GetDateTimeNullable(Request.Form["txt_LeaveForStartDate"]); DateTime?LeaveForEndDate = Utils.GetDateTimeNullable(Request.Form["txt_LeaveForEndDate"]); int LeaveDayNum = Utils.GetInt(Request.Form["txt_LeaveDayNum"]); string WorkOverTimeContent = Utils.GetFormValue("txt_WorkOverTimeContent"); DateTime?WorkOverTimeDateStart = Utils.GetDateTimeNullable(Request.Form["txt_WorkOverTimeDateStart"]); DateTime?WorkOverTimeDateEnd = Utils.GetDateTimeNullable(Request.Form["txt_WorkOverTimeDateEnd"]); int WorkOverTimeNum = Utils.GetInt(Request.Form["txt_WorkOverTimeNum"]); #endregion #region 验证必填项 if (AttStartDate == null) { msg += "考勤时间不能为空!<br/>"; } if (Radio != "" && Radio == "5") { if (LeaveForStartDate == null) { msg += "请假起始时间不能为空!<br/>"; } if (LeaveForEndDate == null) { msg += "请假结束时间不能为空!<br/>"; } } if (Checkboxs != null && Checkboxs.Length > 0) { foreach (string value in Checkboxs) { if (value == "8") { if (WorkOverTimeDateStart == null) { msg += "加班起始时间不能为空!<br/>"; } if (WorkOverTimeDateEnd == null) { msg += "加班结束时间不能为空!<br/>"; } } } } if (!string.IsNullOrEmpty(msg)) { MessageBox.Show(this.Page, msg); return; } #endregion modelAttendanceInfo.CompanyId = CurrentUserCompanyID; modelAttendanceInfo.OperatorId = SiteUserInfo.ID; modelAttendanceInfo.StaffNo = WorkerID; //考勤ID modelAttendanceInfo.AddDate = AttStartDate; if (Radio != "") { modelAttendanceInfo.WorkStatus = (EyouSoft.Model.EnumType.AdminCenterStructure.WorkStatus)Utils.GetInt(Radio); if (Radio == "7") { modelAttendanceInfo.Reason = LeaveWhy; modelAttendanceInfo.BeginDate = LeaveForStartDate; modelAttendanceInfo.EndDate = LeaveForEndDate; modelAttendanceInfo.OutTime = LeaveDayNum; } result = bllAttendanceInfo.Add(modelAttendanceInfo); if (!result) { MessageBox.Show(this, "考勤失败!"); return; } } if (Checkboxs != null && Checkboxs.Length > 0) { for (int i = 0; i < Checkboxs.Length; i++) { modelAttendanceInfo.WorkStatus = (EyouSoft.Model.EnumType.AdminCenterStructure.WorkStatus)Utils.GetInt(Checkboxs[i]); if (Checkboxs[i] == "8") { modelAttendanceInfo.Reason = WorkOverTimeContent; modelAttendanceInfo.BeginDate = WorkOverTimeDateStart; modelAttendanceInfo.EndDate = WorkOverTimeDateEnd; modelAttendanceInfo.OutTime = WorkOverTimeNum; } result = bllAttendanceInfo.Add(modelAttendanceInfo); if (!result) { MessageBox.Show(this, "考勤失败!"); return; } } } if (result) { MessageBox.ResponseScript(this, string.Format("alert('{0}');window.parent.Boxy.getIframeDialog('{1}').hide();window.parent.location='{2}';", "考勤成功!", Utils.GetQueryStringValue("iframeId"), "/administrativeCenter/attendanceManage/Default.aspx")); } #endregion } else if (WorkerID == -1 && Method == "Save")//批量考勤 { #region 批量考勤 string msg = string.Empty; DateTime AttEndDate = Utils.GetDateTime(Request.Form["txt_AttEndDate"]); string Name = Utils.GetFormValue("txt_Name"); string ID = Utils.GetFormValue("hiddenID"); double num = AttEndDate.Subtract(AttStartDate).TotalDays; //考勤天数 string[] ids = ID.Split(','); //考勤人数 DateTime tempTime; if (AttStartDate == null) { msg += "考勤开始时间不能为空!<br/>"; } if (AttEndDate == null) { msg += "考勤结束时间不能为空!<br/>"; } if (Name == "") { msg += "考勤选择人员不能为空!"; } if (AttStartDate == null || AttEndDate == null || Name == "") { MessageBox.Show(this.Page, msg); return; } modelAttendanceInfo.CompanyId = CurrentUserCompanyID; modelAttendanceInfo.OperatorId = SiteUserInfo.ID; modelAttendanceInfo.AddDate = AttStartDate; if (Radio != "") { #region 单选情况: 准点 迟到 旷工 休假 请假 modelAttendanceInfo.WorkStatus = (EyouSoft.Model.EnumType.AdminCenterStructure.WorkStatus)Utils.GetInt(Radio); tempTime = AttStartDate; for (int i = 0; i < num; i++) { modelAttendanceInfo.AddDate = tempTime; for (int n = 0; n < ids.Length; n++) { modelAttendanceInfo.StaffNo = Utils.GetIntNull(ids[n]); result = bllAttendanceInfo.Add(modelAttendanceInfo); if (!result) { MessageBox.Show(this, "考勤失败!"); return; } } tempTime = tempTime.AddDays(1); } #endregion } if (result) { MessageBox.ResponseScript(this, string.Format("alert('{0}');window.parent.Boxy.getIframeDialog('{1}').hide();window.parent.location='{2}';", "批量考勤成功!", Utils.GetQueryStringValue("iframeId"), "/administrativeCenter/attendanceManage/Default.aspx")); } #endregion } } }