怎样实现企业管理系统的操作日志功能
实现思路解析:在做企业管理系统的同一时候,操作日志这一功能是不可缺少的;所谓的操作日志就是记录一个用户从登陆时開始。到退出登陆时结束,记录这一过程中用户的所有操作;这里用.Net MVC为例
第一步:数据库
表1:用户日志(Sys_UserLoginLog)
|
列名 |
数据类型 |
主键/外键 |
说明 |
|
LoginID |
int |
主键 |
日志ID |
|
StaffID |
int |
外键 |
员工ID |
|
operationLog |
nchar(50) |
|
操作内容 |
|
operationDate |
datetime |
|
操作时间 |
表2:员工表(sys_YuanGong)
|
列名 |
数据类型 |
主键/外键 |
说明 |
|
YuanGongID |
int |
主键 |
员工ID |
|
LuRuYuanID |
int |
外键 |
录入员ID |
|
YuanGongZhuangTaiID |
int |
外键 |
员工状态ID |
|
MenDianID |
int |
外键 |
门店ID |
|
ZhiWuID |
Int |
外键 |
职务 |
|
JueSeID |
int |
外键 |
角色ID |
|
YuanGongBianHao |
nchar(50) |
|
员工编号 |
|
YuanGongXingMing |
nchar(50) |
|
员工姓名 |
|
XingBie |
nchar(50) |
|
性别 |
|
JiGuan |
nchar(50) |
|
籍贯 |
|
XueLi |
nchar(50) |
|
学历 |
|
ChuShengRiQi |
date |
|
出生日期 |
|
ShenFenZhengHao |
nchar(18) |
|
身份证号 |
|
RuZhiRiQi |
data |
|
入职日期 |
|
RuZhiDiDian |
nchar(50) |
|
入职地点 |
|
YiDongShouJi |
int |
|
移动手机 |
|
JiaTingDianHua |
nchar(50) |
|
家庭电话 |
|
DiXin |
decimal(18, 2) |
|
底薪 |
|
JiShiFou |
bit |
|
技术否 |
|
HunFou |
bit |
|
婚否 |
|
TongXunDiZhi |
nchar(50) |
|
通讯地址 |
|
BeiZhu |
nchar(50) |
|
备注 |
|
MiMa |
nchar(50) |
|
password |
图1
第二步:Controllers(控制器)
在控制器中写一个处理用户操作的方法,这样就能够在须要的地方直接调用这方法,避免了不要的反复代码,/// <summary>
/// 设置登陆日志
/// </summary>
/// <param name="log">操作信息</param>
/// <param name="returnstring">返回值内容</param>
/// <param name="intUesrID">登陆用户ID</param>
/// <returns></returns>
public string UesrLog(string log,string returnstring,int intUesrID)
{
var logstring = "";
Models.sys_UserLoginLog UserLog = new Models.sys_UserLoginLog();
UserLog.StaffID = Convert.ToInt32(intUesrID);//登陆人
UserLog.operationLog = log;//设置日志内容
UserLog.operationDate = DateTime.Now;//设置当前时间
myMdl.sys_UserLoginLog.AddObject(UserLog);
int j = myMdl.SaveChanges();
if (j > 0)//推断是否保存成功
{
logstring = returnstring;
}
return logstring;
}在须要的地方调用:比如:
public void LoginOff()//注销登陆人
{
FormsAuthentication.SignOut();//删除身份验证票据
UesrLog("退出登陆", "true", Convert.ToInt32(Session["YongHuID"]));//调用写好的操作日志的方法
Response.Redirect("/Main/Login");
}操作日志的处理全然是在后台运行,不要要在前台处理,须要记录的地方,就直接使用该写好的操作日志方法,这样就能够记录用户的操作步骤
该资料仅供參考,禁止商业用途