⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dailyreport.aspx.cs

📁 基于.net(c#+sql)人事管理系统
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using DBUtils;


namespace BlueHill.Attendance
{
	/// <summary>
	/// DailyReport 的摘要说明。
	/// </summary>
	public class DailyReport : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Panel pnlPageFix;
		protected System.Web.UI.WebControls.Label Label3;
		protected System.Web.UI.WebControls.Label lblToday;
		protected System.Web.UI.WebControls.Panel pnlToday;
		protected System.Web.UI.WebControls.Label lblDept;
		protected System.Web.UI.WebControls.DropDownList cmbDeptList;
		protected System.Web.UI.WebControls.Button btnSearch;
		protected System.Web.UI.WebControls.Label lblDeptID;
		protected System.Web.UI.WebControls.Panel pnlChooseDept;
		protected System.Web.UI.WebControls.Label lblMessage;
		protected System.Web.UI.WebControls.DataGrid grdResult;
		protected System.Web.UI.WebControls.Panel pnlBody;


		
		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.cmbDeptList.SelectedIndexChanged += new System.EventHandler(this.cmbDeptList_SelectedIndexChanged);
			this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		/// <summary>
		/// 网页初始化时执行该方法。
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			
			// 在此处放置用户代码以初始化页面
			if (!IsPostBack)
			{
				//如果网页是第一次生成时,执行如下操作:
        		
				//设置与界面显示有关的控件属性。
				////???"yyyy \"年\" M \"月\" d \"日\""转换不确定
				lblToday.Text = DateTime.Now.ToString("yyyy \"年\" M \"月\" d \"日\"");
				pnlChooseDept.Visible = false;
				lblMessage.Visible = false;

				Employee emp = new Employee();
				int iEmpID;

				//判断登录信息是否存在,不存在则显示出错信息。
				if (Session["EmployeeID"] == null) 
				{
					pnlToday.Visible = false;
					lblMessage.Text = "登录信息丢失,请重新登录!";
					lblMessage.Visible = true;
					return;
				}

				//获取存放在 Session 中的用户员工编号。
				iEmpID =int.Parse((string)Session["EmployeeID"]);

				//通过检索数据库,获取其他员工信息。
				Employee.GetEmployeeInfo(iEmpID, emp);

				//判断用户是否具为经理,不是则显示出错信息。
				if (!emp.IsManager)
				{
					pnlToday.Visible = false;
					lblMessage.Text = "对不起,该网页属经理专用,请退出!";
					lblMessage.Visible = true;
					return;
				}

				//保存员工的部门编号。
				lblDeptID.Text = emp.DeptID.ToString();

				//检索数据库,得到总经理的员工编号。
				int iCEOID=0;
				Employee.GetCEOInfo( ref iCEOID );

				if (iEmpID == iCEOID)
				{
					//如果是总经理登录,则执行如下操作:

					//显示选择部门的下拉框。
					pnlChooseDept.Visible = true;

					DataSet dsDept = new DataSet();

					//从数据库中获取部门的全部列表,然后用该列表填充下拉框。
					DBUtils.Attendance.GetDeptList(ref dsDept);

					cmbDeptList.DataSource = dsDept.Tables[0];
					cmbDeptList.DataTextField = "DeptName";
					cmbDeptList.DataValueField = "DeptID";
					cmbDeptList.DataBind();
					//默认情况下,选中第一个部门。
					cmbDeptList.SelectedIndex = 0;

					lblDeptID.Text = cmbDeptList.SelectedValue.ToString();
				}
				else
					//如果是一般的部门经理,则显示该部门的当日考勤信息。
					SearchResult();
            

         
			}
		}

		/// <summary>
		/// 该方法用 DataGrid 显示部门当日的考勤信息,如果没有记录则显示相应的提示信息。
		/// </summary>
		/// <param name="e"></param>
		
		
		void SearchResult()
		{

			DataSet dsResult = new DataSet();
			int iDeptID;
			string strStartTime, strEndTime;

			//获取部门编号。
			iDeptID = int.Parse(lblDeptID.Text);
        
			strStartTime = DateTime.Now.ToString("yyyy/MM/dd");
			strEndTime = DateTime.Now.AddDays(1).ToString("yyyy/MM/dd");

			//检索数据库中该部门当日考勤不合格的所有员工列表,将结果保存在 DataSet 中。
			DBUtils.Attendance.QueryDailyAttend(iDeptID, strStartTime, strEndTime, ref dsResult);

			if ( dsResult.Tables[0].Rows.Count > 0 ) 
			{
				//找到了考勤不合格的记录
				grdResult.DataSource = dsResult.Tables[0];
				grdResult.DataBind();
				lblMessage.Text = "考勤不合格的名单如下:";
				lblMessage.Visible = true;
				grdResult.Visible = true;
			}
			else
			{
				//没有找到任何记录
				lblMessage.Text = "全部考勤合格!";
				lblMessage.Visible = true;
				grdResult.Visible = false;
				return;
			}
		}

	


		/// <summary>
		/// 当用户单击“确定”按钮时,执行该方法。
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void btnSearch_Click(object sender, System.EventArgs e)
		{
			//显示部门当日的考勤信息
			SearchResult();
		}

		private void cmbDeptList_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			lblDeptID.Text = cmbDeptList.SelectedValue.ToString();
		}
	}
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -