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

📄 submitotreq.aspx.cs

📁 人事管理系统的WEB开发程序源代码,有住于WEB开发的学习
💻 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.SubmitOvertime
{
	/// <summary>
	/// SubmitOTReq 的摘要说明。
	/// </summary>
	public class SubmitOTReq : System.Web.UI.Page
	{
		public int totalHours;
		public Employee emp;
		protected System.Web.UI.WebControls.Label Label1;
		protected System.Web.UI.WebControls.Label lblName;
		protected System.Web.UI.WebControls.RadioButtonList rdoOptionList;
		protected System.Web.UI.WebControls.Label Label2;
		protected System.Web.UI.WebControls.DropDownList cmbApproverList;
		protected System.Web.UI.WebControls.Label Label3;
		protected System.Web.UI.WebControls.Calendar cldStartDate;
		protected System.Web.UI.WebControls.Label Label4;
		protected System.Web.UI.WebControls.Calendar cldEndDate;
		protected System.Web.UI.WebControls.DropDownList cmbStartTime;
		protected System.Web.UI.WebControls.DropDownList cmbEndTime;
		protected System.Web.UI.WebControls.Label Label7;
		protected System.Web.UI.WebControls.TextBox txtReason;
		protected System.Web.UI.WebControls.Label lblTotalHours;
		protected System.Web.UI.WebControls.Label lblTest;
		protected System.Web.UI.WebControls.Button btnCalculate;
		protected System.Web.UI.WebControls.Button btnSubmit;
		protected System.Web.UI.WebControls.Label lblErrorMsg;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
			//获取雇员ID;
			int iEmpID;
			iEmpID = Convert.ToInt32(Session["EmployeeID"].ToString());
			int iRetValue;

			emp = new Employee();
			//执行数据库操作
			iRetValue=Employee.GetEmployeeInfo(iEmpID,emp);
			if( iRetValue == (int) DBResult.Success ) 
			{
				lblName.Text = emp.Name.ToString().Trim();
				cmbApproverList.Items.Add(emp.ManagerName.ToString().Trim());
				Session["iApproverID"] = emp.ManagerID;
			}
		}

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

		}
		#endregion

		//该方法计算指定月份所包含的国定假日。
		//该过程调用 SubmitLvReq.GetHoliday(cldStartDate.SelectedDate, alHolidayL) 
		//和DBUtils.SubmitLvReq.GetHoliday(cldEndDate.SelectedDate, alHolidayR) 函数,
		//在数据库中检索该月的国定假日,并判定所选请假日期中是否有法定节假日
		protected bool ReCalculateHoliday(DateTime startTime,DateTime endTime)
		{
			ArrayList alHoliday = new ArrayList();
			int iRetValue;
			if(startTime.Month!=endTime.Month)
			{
				iRetValue=DBUtils.SubmitOTReq.GetHoliday(startTime,ref alHoliday);
				if(iRetValue==(int) DBResult.Success)
				{
					iRetValue=0;
					DBUtils.SubmitLvReq.GetHoliday(endTime,ref alHoliday);

				}
			}
			else
			{
				iRetValue=DBUtils.SubmitOTReq.GetHoliday(startTime,ref alHoliday);
			}
			if(iRetValue==(int) DBResult.Success)
			{
				return true;
			}
			else
			{
				return false;
			}

		}

		protected bool CalculateHours(DateTime startTime,DateTime endTime,int startHour,int endHour,ref int totalHours)
		{
			int Days; 
			bool isTrue = false;
			ArrayList alHoliday = new ArrayList();
			TimeSpan dsTime= endTime-startTime;
			Days = dsTime.Days;
			int subHours = endHour-startHour;
			//			alHoliday = ReCalculateHoliday(startTime,endTime);
			if(Days>=0)
			{
				if(Days==0 && subHours<0) 
					isTrue = false;
				else
					isTrue = true;

			}
			if(isTrue) 
			{
				if(subHours>=0) totalHours=Days*8+subHours;
				else totalHours = Days*8+subHours+1;
			}
			return isTrue;
		}

		private void btnCalculate_Click(object sender, System.EventArgs e)
		{
			DateTime startTime = cldStartDate.SelectedDate;
			DateTime endTime = cldEndDate.SelectedDate;
			TimeSpan ts = DateTime.Now - startTime;
			int startHour = Convert.ToDateTime((cmbStartTime.SelectedItem.Value)).Hour;
			int endHour = Convert.ToDateTime((cmbEndTime.SelectedItem.Value)).Hour;
			bool isSuccess = false;
			int Days = ts.Days;
			if(DateTime.Now>startTime.AddHours(startHour))
			{
				lblTotalHours.Text = "";
				lblErrorMsg.Text = "起始日期不能选在当前时间以前!";
				
			}
			else
			{
				isSuccess = CalculateHours(startTime,endTime,startHour,endHour,ref totalHours);
				if(isSuccess)
				{
					Session["totalHours"] = totalHours;
					lblTotalHours.Text = "选择:"+totalHours +"小时";
					lblErrorMsg.Text="";
				}
				else
				{
					lblTotalHours.Text = "终止时间不能小于于开始时间!";
				}
			}
		
		}

		private void btnSubmit_Click(object sender, System.EventArgs e)
		{
			string LvReason = txtReason.Text.ToString().Trim();
			if(LvReason == "")
			{
				lblErrorMsg.Text = "加班理由不能为空";
			}
			else
			{
				DateTime startTime = cldStartDate.SelectedDate;
				DateTime endTime = cldEndDate.SelectedDate;
				DateTime submitTime = DateTime.Now;
				int Hours = Convert.ToInt32(Session["totalHours"]);
				int iEmpID;
				iEmpID = Convert.ToInt32(Session["EmployeeID"].ToString());
				int iApproverID = Convert.ToInt32(Session["iApproverID"]);
				int iType = rdoOptionList.SelectedIndex;
				int iRetValue = DBUtils.SubmitOTReq.AddOTReq(iEmpID,iType,submitTime,startTime,
					endTime,iApproverID,Hours,LvReason);

				//执行数据库操作
				if( iRetValue == (int) DBResult.Success ) 
				{
					lblErrorMsg.Text = "请假要求已发出,请等待审批结果!";
				
				}
				else
				{
					lblErrorMsg.Text = "操作失败,请重试!";
				}
			}
		}
	}
}

⌨️ 快捷键说明

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