办公自动化管理系统的设计与实现—计算机毕业设计(论文)内容摘要:

DY TEXT 文档注释 CREATEDATE DATETIME 文档创建时间 UPDATEDATE DATETIME 文档修改时间 LASTVIEWDATE DATETIME 最后查看时间 VIEWCOUNT INT 文档查看次数 AUTHOR VARCHAR(200) 文档作者 部门表( Department) 表 4 部门表 短信表 (Message) 表 5 短信表 字段名称 数据类型 字段说明 键引用 备注 DEPARTMENTID INT 部门 ID PK 主键(自动增 1) NAME VARCHAR(200) 部门名称 DESN TEXT 部门描述 PHONE VARCHAR(200) 联系电话 PARENTID INT 上级部门编号 REMARK TEXT 备注 字段名称 数据类型 字段说明 键引用 备注 MESSAGEID INT 短信 ID PK 主键(自动增 1) SENDER VARCHAR(200) 发送者 RECIEVER VARCHAR(200) 接收者 MSGTYPE INT 短信类型 SENDDATE INT 发送日期 员工表( Employ) 表 6 员工表 BODY TEXT 短信的主要内容 ISREAD INT 是否已经读 MOBILE INT 移动电话 字段名称 数据类型 字段说明 键引用 备注 EMPLOYID INT 员工 ID PK 主键(自动增 1) EMPLOYNAME VARCHAR(200) 员工名称 EMPLOYNO VARCHAR(200) 员工编号 SEX INT 性别 NATIONALITY VARCHAR(200) 民族 BIRTHDAY DATETIME 生日 POLITICAL VARCHAR(200) 政治面貌 CULTURE VARCHAR(200) 文化层次 MARITAL INT 婚姻状况 FAMILYPLACE VARCHAR(200) 籍贯 IDCARD VARCHAR(200) 身份证号码 PHONE VARCHAR(200) 办公电话 MOBILE VARCHAR(200) 移动电话 HIREDATE DATETIME 雇用日期 POSITION VARCHAR(200) 职务 STATE INT 员工状态 BANKNAME VARCHAR(200) 工资卡名称 ACCOUNTNO VARCHAR(200) 工资卡帐号 PUBNAME VARCHAR(200) 填表用户 PUBDATE DATETIME 填表日期 DEPARTMENTID NT 部门编号 FK 引用部门表 DEPARTMENTID字段 4 系统功能的设计与实现 整个系统的设计包括了登录界面设计、用户管理模块、部门管理模块、员工管理模块、员工文档管理模块和内部短信管理模块。 每个模块中都有两个或者两个以上的子模块,用于完成其对应的功能。 具体如下: 系统 登录 界面的设计 界面 系统 登录 界面也是本办公自动化管理系统的第一个界面,其界面如下 : 图 3 登录界面 此 界面 是系统管理员进入系统首先需要经过的 界面 ,管理员可以通过这个界面进入主页面与 其它 模块进行接触,对 企业的各个信息进行修改、添加、 删 除操作。 同样,在主页面中,管理员可以修改自己密码,或者添加用户、 删除用户等操作。 为了提高系统的安全性能,防止暴力破解, 本 登录 界面设计验证码。 页面加载 功能是由函数 Page_Load(object sender,EventArgs e)实现。 其中, 验证码 是 由随机数函数 GetRandomint()创建一个 4 位数的整数,并使用 Image 控件显示。 关键代码如下: if (!) { sValidator = GetRandomint()。 //创建随机数 = sValidatorImageUrl + sValidator。 } private String GetRandomint() //创建随机数 函数 { Random random = new Random()。 return ((1000,9999).ToString())。 } 登录 功能的实现 登录 功能由 LoginBtn 按钮控件实现。 它触发 LoginBtn_Click(object sender, EventArgs e ) 事件。 该事件验证用户输入的用户名称、密码和验证码是否正确。 只有当 3个信息全部正确时,用户才能够 登录 到系统中,否则页面将通过 Message 控件显示相关错误信息。 用户登录成功后,系统将跳转到 主页面。 如果验证码输入错误,则重新产生 新的验证码,并输出错误信息。 验证用户名称和密码时, 首先 从数据库中获取 用户 ID 信息, 如果 ID为空,则用户 登录 失败。 如果从数据库中获取的用户信息和输入的相匹配,就可以成功登录了。 用户登录 成功后,使用 Session 变量保存用户的 ID信息。 关键 程序代码如下: 在通过语句 if ( == true)判断页面输入是否合法后,执行下列语句: if ( != sValidator) { = 验证码输入错误,请重新输入验证码。 sValidator = GetRandomint()。 = sValidatorImageUrl + sValidator。 return。 } 再通过定义 类 user,用函数 GetUserLogin() 获取用户的 登录 信息 : user = new ()。 SqlDataReader recu = ((), .(())。 然后执行语句 if (()),如果读到了用户信息,从数据库中获取用户 ID信息。 通过语句 userId = recu[UserID].ToString(),把获取的用户ID信息的数据集转换成字符型后,赋给 userId。 然后执行语句 ()关闭数据库。 最后执行语句 if ((userId != null) amp。 amp。 (userId != )),验证用户合法性。 如果执行成功,执行下列语句: (~/DesktopModules/)。 跳转到登录后的第一个页面。 用户管理模块设计 初始化页面功能实现 添加用户信息页面主要实现对新用户的信息进行添加的功能。 因为本系统涉及到对员工以及部门的信息进行相关的管理,这些信息对于企业来说应该是相当 机密相当重要的。 所以,本系统添加的用户都是能够完成对系统进行管理的管理员用户。 同时,考虑到系统的扩展性,企业在以后运 用中有可能增加一些可以对一般用户开放的模块。 所以,本页面设置了角色的下拉列表,在以后需要的情况下,可以由系统管理员从数据库中添加新的角色。 从下图图 4中,我们可以看到添加用户信息的界面中的各个需要添加的信息项: 图 4 添加用户信息 页面初始化功能主要实现绑定角色下拉列表控件 RoleList 的数据,同时设置添加按钮 AddBtn 的可用性。 该功能由函数 Page_Load(object sender, EventArgs e)实现。 该函数调用函数 BindRoleData() 从数据库的 角色表 Role中获取所有角色信息,并绑定到控件 Text 属性域和 ID 属性域分别为 RoleName 和 RoleID. 在通过 if (!)判断页面是否为第一次打开后,执行函数BindRoleData()。 绑定控件的数据。 再执行语句 = 0 ? true : false。 来 设置按钮的可用性。 具体 绑定控件 数据的代码如下: private void BindRoleData() { //获取数据源 role = new Role()。 SqlDataReader recr = ()。 //设定控件的数据源, Text 域属性、 value 域属性 = recr。 = RoleName。 = RoleID。 //绑定控件的数据 ()。 //关闭数据源和数据库的链接 ()。 } 添加用户功能实现 添加新用户功能由 AddBtn 按钮控件实现,单击 此 按钮,它触发事件AddBtn_Click(object sender, EventArgs e)。 该事件调用函数 AddUser()实现添加新用户的功能,并把用户信息储存到数据库中。 如果操作成功,则显示提示信息;否则弹出失败对话框。 在判断 页面输入内容合法 以后,定义类 User,然后开始添加新用户,添加用户的关键代码如下: try { //添加新用户 ((),(), ()), (),(),(), ())。 //显示操作结果信息 ( )。 } catch (Exception ex) { //显示添加操作中的失败、错误信息 ()。 } 部门管理模块设计 对于部门的管理对于一个企业来说致关重要的。 因为在企业的不断发展过程中,可能会随时调整企业自身的部门设置以及部门的任务,用以满足企业的发展的需要。 考虑到这样的问题,本系统的部门管理模块设计了三个子模块 ,其主要功能是对企业各个部门的信息进行添加、修改、删除操作。 三个子模块之间关系图如下示: 图 5 部门管理模块关系图 添加部门信息 在企业管理的实际工作中,根据实际情况对企业的部门进行增添是企业一件很平常的事情。 同时, 对新增添的部门的信息添加也就显得相当的重要了。 添加部门信息子模块内容包括:部门名称、部门详细描述、部门的联系电话、隶属的上级部门和相关备注这几项。 当管理员按照要求填写了文本框中的内容后,点击添加按钮,即可完成对部门信息的添加。 图 6 添加部门信息 添加部门信息页面调用函数 Page_Load(object sender, e) 进 行 初 始 化 , 该 函 数 调 用 函 数 BindDepartmentData() 绑 定 控 件DepartmentList 的数据 ,即显示所有部门的名称。 函数调用数据访问层的函数从表 Department 获取所有部门的信息,然后使用 DataReader 对象保存从数据库获取的结果,并把该 DataReader 对象设为控件DepartmentList 的数据源。 关键 程序如下: private void BindDepartmentData() { //定义获取数据的类 depart = new 部门管理模块 添 加 部 门 信 息 修 改 部 门 信 息 删 除 部 门 信 息 ()。 SqlDataReader recd = ()。 //设定控件的数据源 = recd。 //设定控件的 Text属性和 Value 属性 = Name。 = DepartmentID。 //绑定控件的数据 ()。 //关闭数据读取器和数据库的连接 ()。 } 添加功能实现:单击页面中的添加按钮,实现部门的添加功能,该按钮触发事件 AddBtn_Click(),事件首先判定用户的输入是否合法,如果输入合法,则调用数据访问层的函数 AddDepartment()实现部门的 添加功能,并显示添加操作结果的信息;如果输入不合法,则中止事件。 首先通过 if ( == true)判断页面输入是否合法以后, 定义类Department。 然后开始添加新的部门信息。 添加部门信息的关键代码: ((), , (), 1 ?。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。