怎样实现企业管理系统的操作日志功能

怎样实现企业管理系统的操作日志功能

实现思路解析:在做企业管理系统的同一时候,操作日志这一功能是不可缺少的;所谓的操作日志就是记录一个用户从登陆时開始。到退出登陆时结束,记录这一过程中用户的所有操作;这里用.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");
        }

操作日志的处理全然是在后台运行,不要要在前台处理,须要记录的地方,就直接使用该写好的操作日志方法,这样就能够记录用户的操作步骤

该资料仅供參考,禁止商业用途

posted @ 2015-12-20 17:24  mfrbuaa  阅读(1315)  评论(0编辑  收藏  举报