zoukankan      html  css  js  c++  java
  • 怎样实现企业管理系统的操作日志功能

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

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

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

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

  • 相关阅读:
    TP5.1的Request以及构造方法注入以及助手函数的使用
    TP5的类似TP3使用‘DEFAULT_THEME’的配置修改主题风格的方法,以及常见模板错误
    MySQL中进行树状所有子节点的查询
    nginx upstream 一致性哈希模块
    Nginx的基本入门
    php模式设计之 观察者模式
    php模式设计之 适配器模式
    笔记整理
    经验小结(个人笔记)
    防止页面跳转,可防ajax之后忽然跳转(主要用于采集)
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5061338.html
Copyright © 2011-2022 走看看