[通信/电子]国光一卡通代码
一卡通代码改写地方:
1、员工页面
Xoft.HR.EndUser.Employee.mEmplooyeeInfo 文件打开mEmployeeInfo_C.aspx页面找到保存按钮事件 BtnMoveSave_ServerClick
然后找到判断if (StrAddNewEmployeeIDType == "1")此方法的地方,凡是判断等于1到5的方法下面都添加如下代码:
//往考勤机添加人员信息wlg 2011-09-02
string strid = "select max(employeeid) from xemployee";
string strsql =
this.ExecuteDataSet(strid).Tables[0].Rows[0][0].ToString();
string sql = "insert into
guoguangzhiwen.dbo.USERINFO(BADGENUMBER,ATT,INLATE,OUTEARLY,OVERTIME,SEP,HOLIDAY,LUNCHDURATI
ON)" +
" values('" + strsql + "',1,1,1,1,1,1,1)";
dbEmployee.Getyikatonginfo(sql);
员工后台方法:
Xoft.HR.DataAccess.SingleTable.XDEmployee 文件打开XDEmployee.cs 添加如下方法:///
/// 向一卡通插入数据wlg 2011-09-02
///
///
sql 语句
public void Getyikatonginfo(string sql)
{
base.ExecuteCommand(sql);
}
连接访问层的通用代码:
Xoft.HR.DataAccess.XDDataBase 打开XDDataBase.cs 添加如下代码,此代码是连接SQL的驱动通用代码: //////////////////////////////////////////////wlg 2011-09-02//////////////////////////////////////////////////////////////////////////////////
/////////////////
private SqlConnection connection;
public SqlConnection Connection
{
get
{
//string connectionString =
ConfigurationManager.ConnectionStrings["stringconntion"].ConnectionString;
string connectionString =
ConfigurationSettings.AppSettings["stringconntion"].ToString();
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}
public int ExecuteCommand(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = cmd.ExecuteNonQuery();
return result;
}
public int ExecuteCommand(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery();
}
public int GetScalar(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
public int GetScalar(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
public SqlDataReader GetReader(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
public SqlDataReader GetReader(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
public DataTable GetDataSet(string safeSql)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
}
public DataTable GetDataSet(string sql, params SqlParameter[] values)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
}
2、部门添加管理
Xoft.HR.EndUser.Employee. mDepartment_new_c文件打开mDepartment_new_c.aspx页面找到增加按钮的事件 btnAdd_ServerClick 添加如下方法:
//往一卡通数据库添加父ID wlg 2011-09-02
string yktsql = "select supdeptid=deptid from guoguangzhiwen.dbo.DEPARTMENTS
where deptname='" + txtDeptName.Text.ToString() + "'";
int id = loyee.GetScalar(yktsql);
string insertsql = "insert into
guoguangzhiwen.dbo.DEPARTMENTS(SUPDEPTID,DEPTNAME,DefaultSchId,XH_treeid) values('" + id + "','" + txtDeptName.Text.Trim() + "',1,'" + strTreeID + "')";
loyee.ExecuteCommand(insertsql);
3、获取考勤数据
在需要的页面上添加一个按钮,专门获取即时的考勤数据,双击按钮后在按钮事件里面添加如下方法: DataTable dt = new DataTable();
XDEmployee loyee = new XDEmployee();
string ggsql = " select USERID,CHECKTIME from CheckInOut where checktime>(select
top 1 SettingValue from XT_SysConfig)" +
" update XT_SysConfig set SettingValue=(select max(CHECKTIME) from
CheckInOut)";
dt = loyee.Getguoguangkaoqin(ggsql);
foreach (DataRow row in dt.Rows)
{
string sql = "insert into reader_history(EMPLOYEE_ID,DATE_TIME) values('" + row[0] + "','" + row[1] + "')";
base.ExecuteNonQuery(sql);
}
4、就是web.config配置文件的连接池,添加代码如下:
配置文件需要根据对方的数据名不同而作相应的更改