📄 showovertimeinfo.aspx.cs
字号:
using System;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Globalization;
public partial class ShowOvertimeInfo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GridOvertime.Visible = false;
ApproverName.Visible = false;
Reason.Visible = false;
DenyReason.Visible = false;
TimeError.Visible = false;
NoRecord.Visible = false;
}
protected void ShowMore(string OvertimeID)
{
String connString = System.Configuration.ConfigurationManager.AppSettings["SQLCONNECTION"];
SqlConnection dbConnection = new SqlConnection(connString);
String query = "SELECT Name AS ApproverName,Reason,DenyReason FROM tblOvertime,tblEmployee"
+ " WHERE tblOvertime.OvertimeID='" + OvertimeID.ToString() + "' AND tblOvertime.ApproverID = tblEmployee.EmployeeID";
SqlCommand dbCommand = new SqlCommand(query, dbConnection);
dbConnection.Open();
SqlDataReader mydr = dbCommand.ExecuteReader();
while (mydr.Read())
{
ApproverName.Text = "审批者:"+mydr["ApproverName"].ToString();
Reason.Text = "加班事由:"+mydr["Reason"].ToString();
DenyReason.Text = "否决理由:"+mydr["DenyReason"].ToString();
}
ApproverName.Visible = true;
Reason.Visible = true;
DenyReason.Visible = true;
GridOvertime.Visible = true;
}
public void SearchOvertime(int type, DateTime StartTime, DateTime EndTime, string EmployeeID)
{
String connString = System.Configuration.ConfigurationManager.AppSettings["SQLCONNECTION"];
SqlConnection dbConnection = new SqlConnection(connString);
String query;
query = "SELECT tblOvertime.OvertimeID,tblOvertime.StartTime,tblOvertime.EndTime,tblOvertime.SubmitTime,"+
"tblOvertimeType.Description,tblOvertime.Type,tblOvertime.Status,tblOvertime.Hours " +
"FROM tblOvertime RIGHT JOIN tblOvertimeType ON tblOvertime.Type = tblOvertimeType.type" +
" WHERE SubmitTime >= @StartTime AND SubmitTime < @EndTime AND EmployeeID = @EmployeeID";
if (1 == type) query += " AND tblOvertime.Type = '1'";
if (2 == type) query += " AND tblOvertime.Type = '2'";
SqlCommand dbCommand = new SqlCommand(query, dbConnection);
dbCommand.Parameters.Add(new SqlParameter("@StartTime", StartTime));
dbCommand.Parameters.Add(new SqlParameter("@EndTime", EndTime));
dbCommand.Parameters.Add(new SqlParameter("@EmployeeID", EmployeeID));
dbConnection.Open();
SqlDataReader dsOvertime = dbCommand.ExecuteReader();
GridOvertime.DataSource = dsOvertime;
GridOvertime.Visible = true;
GridOvertime.DataBind();
dbConnection.Close();
}
protected bool CheckTime(string str)
{
string[] sarray;
int day=0, month=0, year=0,count=0;
foreach(char ch in str)
{
if(!(ch=='/' || (ch>='0' && ch<='9')))
return false;
}
sarray= str.Split('/');
if (sarray.Length!= 3) return false;
year = int.Parse(sarray[0]);
month = int.Parse(sarray[1]);
day = int.Parse(sarray[2]);
if (day < 1 || day > 31) return false;
if (month < 1 || month > 12) return false;
if (year < 1800 || year > 9999) return false;
return true;
}
protected void ButtonSearch_Click(object sender, EventArgs e)
{
int day, month, year, count;
string strtime;
string[] sarray;
year = month = day = 0;
if (CheckTime(TextBoxTimeBegin.Text) == true && CheckTime(TextBoxTimeEnd.Text) == true)
{
strtime = TextBoxTimeBegin.Text.ToString();
sarray = strtime.Split('/');
count = 0;
foreach (string sub in sarray)
{
count++;
if (1 == count) year = int.Parse(sub.ToString());
else if (2 == count) month = int.Parse(sub.ToString());
else day = int.Parse(sub.ToString());
}
DateTime start = new DateTime(year, month, day);
strtime = TextBoxTimeEnd.Text.ToString();
sarray = strtime.Split('/');
count = 0;
foreach (string sub in sarray)
{
count++;
if (1 == count) year = int.Parse(sub.ToString());
else if (2 == count) month = int.Parse(sub.ToString());
else day = int.Parse(sub.ToString());
}
DateTime end = new DateTime(year, month, day);
end.AddYears(year);
end.AddMonths(month);
end.AddDays(day);
SearchOvertime(int.Parse(SearchType.SelectedIndex.ToString()), start, end, Session["EmployeeID"].ToString());
if (GridOvertime.Rows.Count == 0)
NoRecord.Visible = true;
}
else
{
TimeError.Visible = true;
}
}
protected void GridOvertime_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "ShowMore")
{
ShowMore(e.CommandArgument.ToString());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -