/// <summary> /// 根据日期得到该日期对应的考勤设置情况 /// </summary> /// <param name="date"></param> /// <returns></returns> public static Model.AttendanceSetting GetAttendanceSettingByDate(DateTime date) { string sql = "select * from AttendanceSetting where Date=@Date"; SqlParameter[] para = { new SqlParameter("Date", date) }; DataTable dt = DBHelper.ExecuteSelect(sql, para); Model.AttendanceSetting a; if (dt.Rows.Count > 0) { //表示有考勤设置 DataRow dr = dt.Rows[0];//得到第一行数据 a = new Model.AttendanceSetting(); a.Date = (DateTime)dr["Date"]; a.SettingID = (int)dr["SettingID"]; a.Status = (byte)dr["Status"]; } else { //表示没有考勤设置 a = null; } return(a); }
protected void gvAttendanceSetting_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { DropDownList ddlStatus = (DropDownList)e.Row.FindControl("ddlStatus"); Label lblDate = (Label)e.Row.FindControl("lblDate"); Model.AttendanceSetting a = BLL.AttendanceSetting.GetAttendanceSettingByDate(Convert.ToDateTime(lblDate.Text)); if (a != null) { //表示当前日期在数据库的表里面有设置 ddlStatus.SelectedValue = a.Status.ToString(); } } }
protected void gvAttendSettings_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { DropDownList ddlStatus = (DropDownList)e.Row.FindControl("ddlStatus"); DataRowView drv = (DataRowView)e.Row.DataItem; //1、得到当前行对应的日期 DateTime date = (DateTime)drv["Date"]; Model.AttendanceSetting a = BLL.AttendanceBll.GetAttendanceSettingByDate(date); if (a != null) { //表示有考勤设置 ddlStatus.SelectedValue = a.Status.ToString(); } } }
/// <summary> /// 修改考勤设置信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public static bool UpdateAttendanceSettingInfo(Model.AttendanceSetting model) { return(DAL.AttendanceSetting.UpdateAttendanceSettingInfo(model)); }
/// <summary> /// 新增考勤设置信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public static bool AddAttendanceSettingInfo(Model.AttendanceSetting model) { return(DAL.AttendanceSetting.AddAttendanceSettingInfo(model)); }
//public string TableDataBind() //{ // string str = ""; // string where = ""; // dt = bllStore.SelectStoreInfo(where); // int k = 0; // for (int j = 0; j < Math.Ceiling((double)dt.Rows.Count / 4); j++) // { // str += "<tr>"; // if (k < Math.Floor((double)dt.Rows.Count / 4)) // { // str += "<td><div class=\"tball\"><a class=\"atb1\" href=\"productInfo.aspx?ID=" + dt.Rows[k * 4]["id"].ToString() + "\"><div class=\"tbimg\"><img class=\"image\" src='" + dt.Rows[k * 4 + 0]["storeImg"].ToString() + "' title=" + dt.Rows[k * 4 + 0]["storeMemo"].ToString() + " /></div><div class=\"tblbl1\"><label class=\"Name\">" + dt.Rows[k * 4 + 0]["storeName"].ToString() + "</label><br /><br /><label class=\"tblbl2\"><label class=\"tblbl3\">★★★★★</label><br /><br />月销:" + dt.Rows[k * 4 + 0]["saleNum"].ToString() + "份<br /><br /><label class=\"tblbl2\">0元起送/配送费1元</label><br /><br /><label>配送时间:" + dt.Rows[k * 4 + 0]["foodtime"].ToString() + "分钟</label></label></div></a></div></td>" // + "<td><div class=\"tball\"><a class=\"atb1\" href=\"productInfo.aspx?ID=" + dt.Rows[k * 4 + 1]["id"].ToString() + "\"><div class=\"tbimg\"><img class=\"image\" src='" + dt.Rows[k * 4 + 1]["storeImg"].ToString() + "' title=" + dt.Rows[k * 4 + 1]["storeMemo"].ToString() + " /></div><div class=\"tblbl1\"><label class=\"Name\">" + dt.Rows[k * 4 + 1]["storeName"].ToString() + "</label><br /><br /><label class=\"tblbl2\"><label class=\"tblbl3\">★★★★★</label><br /><br />月销:" + dt.Rows[k * 4 + 1]["saleNum"].ToString() + "份<br /><br /><label class=\"tblbl2\">0元起送/配送费1元</label><br /><br /><label>配送时间:" + dt.Rows[k * 4 + 1]["foodtime"].ToString() + "分钟</label></label></div></a></div></td>" // + "<td><div class=\"tball\"><a class=\"atb1\" href=\"productInfo.aspx?ID=" + dt.Rows[k * 4 + 2]["id"].ToString() + "\"><div class=\"tbimg\"><img class=\"image\" src='" + dt.Rows[k * 4 + 2]["storeImg"].ToString() + "' title=" + dt.Rows[k * 4 + 2]["storeMemo"].ToString() + " /></div><div class=\"tblbl1\"><label class=\"Name\">" + dt.Rows[k * 4 + 2]["storeName"].ToString() + "</label><br /><br /><label class=\"tblbl2\"><label class=\"tblbl3\">★★★★★</label><br /><br />月销:" + dt.Rows[k * 4 + 2]["saleNum"].ToString() + "份<br /><br /><label class=\"tblbl2\">0元起送/配送费1元</label><br /><br /><label>配送时间:" + dt.Rows[k * 4 + 2]["foodtime"].ToString() + "分钟</label></label></div></a></div></td>" // + "<td><div class=\"tball\"><a class=\"atb1\" href=\"productInfo.aspx?ID=" + dt.Rows[k * 4 + 3]["id"].ToString() + "\"><div class=\"tbimg\"><img class=\"image\" src='" + dt.Rows[k * 4 + 3]["storeImg"].ToString() + "' title=" + dt.Rows[k * 4 + 3]["storeMemo"].ToString() + " /></div><div class=\"tblbl1\"><label class=\"Name\">" + dt.Rows[k * 4 + 3]["storeName"].ToString() + "</label><br /><br /><label class=\"tblbl2\"><label class=\"tblbl3\">★★★★★</label><br /><br />月销:" + dt.Rows[k * 4 + 3]["saleNum"].ToString() + "份<br /><br /><label class=\"tblbl2\">0元起送/配送费1元</label><br /><br /><label>配送时间:" + dt.Rows[k * 4 + 3]["foodtime"].ToString() + "分钟</label></label></div></a></div></td>"; // k++; // } // else // { // for (int i = 0; i < dt.Rows.Count % 4; i++) // { // str += "<td><div class=\"tball\"><a class=\"atb1\" href=\"productInfo.aspx?ID=" + dt.Rows[i + 4 * k]["id"].ToString() + "\"><div class=\"tbimg\"><img class=\"image\" src='" + dt.Rows[i + 4 * k]["storeImg"].ToString() + "' title=" + dt.Rows[i + 4 * k]["storeMemo"].ToString() + " /></div><div class=\"tblbl1\"><label class=\"Name\">" + dt.Rows[i + 4 * k]["storeName"].ToString() + "</label><br /><br /><label class=\"tblbl2\"><label class=\"tblbl3\">★★★★★</label><br /><br />月销:" + dt.Rows[i + 4 * k]["saleNum"].ToString() + "份<br /><br /><label class=\"tblbl2\">0元起送/配送费1元</label><br /><br /><label>配送时间:" + dt.Rows[i + 4 * k]["foodtime"].ToString() + "分钟</label></label></div></a></div></td>"; // } // } // str += "</tr>"; // } // return str; //} protected void gvAttendanceInfo_RowDataBound1(object sender, GridViewRowEventArgs e) { //判断该行是否是数据行 if (e.Row.RowType == DataControlRowType.DataRow) { //1、得到该行对应的日期 DataRowView drv = (DataRowView)e.Row.DataItem; DateTime date = (DateTime)drv["Date"]; Label lblFirstTime = (Label)e.Row.FindControl("lblFirstTime"); Label lblLastTime = (Label)e.Row.FindControl("lblLastTime"); Label lblStatus = (Label)e.Row.FindControl("lblStatus"); Model.UserInfo u = (Model.UserInfo)Session["User"]; DataTable dt = BLL.AttendanceInfo.GetMyAttendanceInfo(u.UserID, date); //得到DataTable的第一行 DataRow dr = dt.Rows[0]; //2、得到首次打卡时间 DateTime firstTime = DateTime.Now; if (dr["FirstTime"] != DBNull.Value) { firstTime = (DateTime)dr["FirstTime"]; lblFirstTime.Text = firstTime.ToString(); } //3、得到最后打卡时间 DateTime lastTime = DateTime.Now; if (dr["LastTime"] != DBNull.Value) { lastTime = (DateTime)dr["LastTime"]; lblLastTime.Text = lastTime.ToString(); } //4、得到当天的考勤设置状态 DataTable dtApprove = BLL.Approve.GetApproveInfo(" and b.UserID='" + u.UserID + "'"); Model.AttendanceSetting a = BLL.AttendanceSetting.GetAttendanceSettingByDate(date); //5、得到当天的上班时间 DateTime d1 = date.AddHours(8).AddMinutes(30); //上午下班时间 DateTime d2 = date.AddHours(11).AddMinutes(30); //下午上班时间 DateTime d3 = date.AddHours(13).AddMinutes(50); //6、得到当天的下班时间 DateTime d4 = date.AddHours(17); if (a != null) { //表示当天有考勤设置 if (a.Status == 2) { // a.Status == 2表示休假 lblStatus.Text = "<font color='#99dd33'>休假</font>"; } else { //a.Status == 1表示上班 if (firstTime > d1) { lblStatus.Text = "<font color='#00FFFF'>迟到</font>"; } if (lastTime < d4) { lblStatus.Text = "<font color='#00FFFF'>早退</font>"; } if ((firstTime > d1) && (lastTime < d4)) { lblStatus.Text = "<font color='#00FFFF'>迟到</font>and<font color='#00FFFF'>早退</font>"; if (lblFirstTime.Text == lblLastTime.Text) { lblStatus.Text = "<font color='#FFC0CB'>未打卡</font>"; } } if (firstTime < d1 && lastTime > d4) { lblStatus.Text = "<font color='#3CB371'>正常</font>"; } if (string.IsNullOrEmpty(lblFirstTime.Text) && string.IsNullOrEmpty(lblLastTime.Text)) { lblStatus.Text = "<font color='#FF0000'>缺勤</font>"; } //a.Status == 1表示上班 //请假一天 for (int i = 0; i < dtApprove.Rows.Count; i++) { //{ begin<= 8:30 11:30<=end // 2014-02-11 08:30:00.000 2014-02-11 11:30:00.000 // 2014-02-17 13:50:00.000 2014-02-17 17:00:00.000 // 2014-02-19 08:30:00.000 2014-02-19 17:00:00.000 if (DateTime.Parse(dtApprove.Rows[i]["BeginDate"].ToString()) <= d1 && d4 <= DateTime.Parse(dtApprove.Rows[i]["EndDate"].ToString())) { lblStatus.Text = "<font color='#436EEE'>请假</font>"; } else if (DateTime.Parse(dtApprove.Rows[i]["BeginDate"].ToString()) <= d1 && d2 <= DateTime.Parse(dtApprove.Rows[i]["EndDate"].ToString())) { //上午请假 if (firstTime > d3) { lblStatus.Text = "<font color='#436EEE'>请假</font>and<font color='#00FFFF'>迟到</font>"; } if (lastTime < d4) { lblStatus.Text = "<font color='#436EEE'>请假</font>and<font color='#00FFFF'>早退</font>"; } if (firstTime > d3 && lastTime < d4) { lblStatus.Text = "<font color='#436EEE'>请假</font>and<font color='#00FFFF'>迟到</font>,<font color='#00FFFF'>早退</font>"; } if (firstTime < d3 && lastTime > d4) { lblStatus.Text = "<font color='#436EEE'>请假</font>and<font color='#3CB371'>正常</font>"; } } else if (DateTime.Parse(dtApprove.Rows[i]["BeginDate"].ToString()) <= d3 && d4 <= DateTime.Parse(dtApprove.Rows[i]["EndDate"].ToString())) { //下午请假 if (firstTime > d1) { lblStatus.Text = "<font color='#00FFFF'>迟到</font>and<font color='#436EEE'>请假</font>"; } if (lastTime < d2) { lblStatus.Text = "<font color='#00FFFF'>早退</font>and<font color='#436EEE'>请假</font>"; } if (firstTime > d1 && lastTime < d2) { lblStatus.Text = "<font color='#00FFFF'>迟到</font>,<font color='#00FFFF'>早退</font>and<font color='#436EEE'>请假</font>"; } if (firstTime < d1 && lastTime > d2) { lblStatus.Text = "<font color='#3CB371'>正常</font>and<font color='#436EEE'>请假</font>"; } } } } } else { //表示当天木有考勤设置 //判断当天是否是星期六和星期天 if ((date.DayOfWeek == DayOfWeek.Saturday) || (date.DayOfWeek == DayOfWeek.Sunday)) { //表示是星期六和星期天 lblStatus.Text = "<font color='#808080'>休假</font>"; } else { if (firstTime > d1) { lblStatus.Text = "<font color='#00FFFF'>迟到</font>"; } if (lastTime < d4) { lblStatus.Text = "<font color='#00FFFF'>早退</font>"; } if ((firstTime > d1) && (lastTime < d4)) { lblStatus.Text = "<font color='#00FFFF'>迟到</font>and<font color='#00FFFF'>早退</font>"; if (lblFirstTime.Text == lblLastTime.Text) { lblStatus.Text = "<font color='#FFC0CB'>未打卡</font>"; } } if (firstTime < d1 && lastTime > d4) { lblStatus.Text = "<font color='#3CB371'>正常</font>"; } if (string.IsNullOrEmpty(lblFirstTime.Text) && string.IsNullOrEmpty(lblLastTime.Text)) { lblStatus.Text = "<font color='#FF0000'>缺勤</font>"; } //a.Status == 1表示上班 //请假一天 for (int i = 0; i < dtApprove.Rows.Count; i++) { //{ begin<= 8:30 11:30<=end // 2014-02-11 08:30:00.000 2014-02-11 11:30:00.000 // 2014-02-17 13:50:00.000 2014-02-17 17:00:00.000 // 2014-02-19 08:30:00.000 2014-02-19 17:00:00.000 if (DateTime.Parse(dtApprove.Rows[i]["BeginDate"].ToString()) <= d1 && d4 <= DateTime.Parse(dtApprove.Rows[i]["EndDate"].ToString())) { lblStatus.Text = "<font color='#436EEE'>请假</font>"; } else if (DateTime.Parse(dtApprove.Rows[i]["BeginDate"].ToString()) <= d1 && d2 <= DateTime.Parse(dtApprove.Rows[i]["EndDate"].ToString())) { //上午请假 if (firstTime > d3) { lblStatus.Text = "<font color='#436EEE'>请假</font>and<font color='#00FFFF'>迟到</font>"; } if (lastTime < d4) { lblStatus.Text = "<font color='#436EEE'>请假</font>and<font color='#00FFFF'>早退</font>"; } if (firstTime > d3 && lastTime < d4) { lblStatus.Text = "<font color='#436EEE'>请假</font>and<font color='#00FFFF'>迟到</font>,<font color='#00FFFF'>早退</font>"; } if (firstTime < d3 && lastTime > d4) { lblStatus.Text = "<font color='#436EEE'>请假</font>and<font color='#3CB371'>正常</font>"; } } else if (DateTime.Parse(dtApprove.Rows[i]["BeginDate"].ToString()) <= d3 && d4 <= DateTime.Parse(dtApprove.Rows[i]["EndDate"].ToString())) { //下午请假 if (firstTime > d1) { lblStatus.Text = "<font color='#00FFFF'>迟到</font>and<font color='#436EEE'>请假</font>"; } if (lastTime < d2) { lblStatus.Text = "<font color='#00FFFF'>早退</font>and<font color='#436EEE'>请假</font>"; } if (firstTime > d1 && lastTime < d2) { lblStatus.Text = "<font color='#00FFFF'>迟到</font>,<font color='#00FFFF'>早退</font>and<font color='#436EEE'>请假</font>"; } if (firstTime < d1 && lastTime > d2) { lblStatus.Text = "<font color='#3CB371'>正常</font>and<font color='#436EEE'>请假</font>"; } } } } } } }
protected void gvMyAttend_RowDataBound(object sender, GridViewRowEventArgs e) { //判断当前行是否是数据行 if (e.Row.RowType == DataControlRowType.DataRow) { Label lblFirstTime = (Label)e.Row.FindControl("lblFirstTime"); Label lblLastTime = (Label)e.Row.FindControl("lblLastTime"); Label lblStatus = (Label)e.Row.FindControl("lblStatus"); DataRowView drv = (DataRowView)e.Row.DataItem; //1、得到当前行对应的日期 DateTime date = (DateTime)drv["Date"]; //2、得到首次打卡时间 DateTime firstTime = new DateTime(1900, 1, 1); //3、得到最后打卡时间 DateTime lastTime = new DateTime(1900, 1, 1); Model.UserInfo u = (Model.UserInfo)Session["User"]; DataTable dt = BLL.AttendanceBll.GetAttendanceInfoByCondition(u.UserID, date); if (dt.Rows.Count > 0) { DataRow dr = dt.Rows[0]; if (dr["FirstTime"] != DBNull.Value) { firstTime = (DateTime)dr["FirstTime"]; lblFirstTime.Text = firstTime.ToString(); } if (dr["LastTime"] != DBNull.Value) { lastTime = (DateTime)dr["LastTime"]; lblLastTime.Text = lastTime.ToString(); } } //4、得到当天的考勤状态的设置情况 Model.AttendanceSetting a = BLL.AttendanceBll.GetAttendanceSettingByDate(date); //5、得到上班时间 DateTime d1 = date.AddHours(8).AddMinutes(30); //6、得到下班时间 DateTime d4 = date.AddHours(17).AddMinutes(30); if (a != null) { //表示当前日期有考勤设置 if (a.Status == 2) { //a.Status == 2表示当天休假 lblStatus.Text = "<font color='#99ff00'>休假</font>"; } else { if (lblFirstTime.Text == "") { lblStatus.Text = "<font color='#dd0000'>缺勤</font>"; } else { //代表当天要上班 if (firstTime > d1) { lblStatus.Text = "<font color='#dd0033'>迟到</font>"; } if (lastTime < d4) { lblStatus.Text = "<font color='#cc11ee'>早退</font>"; } if ((firstTime > d1) && (lastTime < d4)) { lblStatus.Text = "<font color='#dd0033'>迟到</font>&<font color='#cc11ee'>早退</font>"; } if (DateTime.Parse(lblFirstTime.Text) < d1 && DateTime.Parse(lblLastTime.Text) > d4) { lblStatus.Text = "<font color='#000099'>正常</font>"; } } } } else { //表示当前日期木有考勤设置 //判断当前日期是星期几 if ((date.DayOfWeek == DayOfWeek.Saturday) || (date.DayOfWeek == DayOfWeek.Sunday)) { //表示当天为星期六或星期天 lblStatus.Text = "<font color='#99ff00'>休假</font>"; } else { if (lblFirstTime.Text == "") { lblStatus.Text = "<font color='#dd0000'>缺勤</font>"; } else { //表示当天是星期一到星期五 if (firstTime > d1) { lblStatus.Text = "<font color='#dd0033'>迟到</font>"; } if (lastTime < d4) { lblStatus.Text = "<font color='#cc11ee'>早退</font>"; } if ((firstTime > d1) && (lastTime < d4)) { lblStatus.Text = "<font color='#dd0033'>迟到</font>&<font color='#cc11ee'>早退</font>"; } if (DateTime.Parse(lblFirstTime.Text) < d1 && DateTime.Parse(lblLastTime.Text) > d4) { lblStatus.Text = "<font color='#000099'>正常</font>"; } } } } } }
/// <summary> /// 修改考勤设置信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public static bool UpdateAttendanceSettingInfo(Model.AttendanceSetting model) { string sql = " update AttendanceSetting set Date='" + model.Date + "',Status=" + model.Status + " where SettingID=" + model.SettingID + ""; return(DBHelper.ExecuteNonQuery(sql)); }
/// <summary> /// 新增考勤设置信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public static bool AddAttendanceSettingInfo(Model.AttendanceSetting model) { string sql = " insert into AttendanceSetting values('" + model.Date + "'," + model.Status + ")"; return(DBHelper.ExecuteNonQuery(sql)); }