《办公自动化OA系统 毕业论文.doc》由会员分享,可在线阅读,更多相关《办公自动化OA系统 毕业论文.doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 毕业设计(论文) 题目 办公自动化OA系统 计算机与通信工程 系 计算机应用技术 专业 09 级姓名 学号 指导教师 二一二年二月目 录摘要4第一章 绪论5第二章 系统分析62.1 需求分析62.2 架构设计62.2部门管理 82.3员工管理102.4日程管理模块 122.5 获取用户登录信息部分代码13第三章 数据库的设计和实现183.1数据库需求分析183.2数据库概念结构设计183.3 数据库关系图203.4 数据表的设计203.4.1所有表信息203.4.2UserInfo用户信息表 213.4.3表UserState用户状态表223.4.4 表RoleInfo角色信息表223.4.
2、5表SysFun菜单信息表223.4.6表RoleRight角色权限表223.4.7表BranchInfo机构信息表233.4.8表DepartInfo部门信息表233.4.9表FileInfo文件信息表233.4.10表FileTypeInfo文件类型表243.4.11表AccessoryFile附件文件表 243.4.12表ManualSign考勤信息表243.4.13表WorkTime上下班时间表253.4.14表Message消息表253.4.15表MessageType消息类型表253.4.16表MessageToUser消息发送对象253.4.17表ReadCommonMessag
3、e用户已读消息表263.4.18表Schedule日程表263.4.19表MeetingInfo会议类型表263.4.20表PreContract预约人表273.4.21表MyNote个人便签表273.4.22表LoginLog登录日志表273.4.23表OperateLog操作日志表28第四章系统测试294.1 测试内容294.2 测试环境294.3 测试目标294.4 性能测试29第五章 结束语30致 谢30参考文献30办公自动化OA系统 【摘要】 在市场竞争中,如何让企业信息化建设起来至关重要。本系统采用ASP.NET动态网页技术和Microsoft SQL Server 数据库平台,使
4、用C#作为本项目的主要开发语言,结合B/S模式结构,从实际应用出发,完成系统的个人通讯录、个人信息、个人审批、个人考勤等功能,对于办公流程如签字审批等功能暂不支持。【关键词】办公自动化 ASP.NET B/S【Abstract】 In market competition, how to make the enterprise information construction up is very important. In this case, the development of OA automatic office system is half a top priority. The
5、system USES the dynamic web technology and Microsoft SQL Server database platform, using c # in the project as the main development language, combined with the B/S model structure, from a practical application perspective, complete system of personal contacts, personal information, personal approval
6、, personal attendance, and other functions, to office procedures like signature examination and approval of the function are not support.【Keywords】OA automatic ASP.NET B/S第一章 绪论 为了提高现代社会人们的办公效率,满足人们自动化办公的需要,我们开发了这套稳定可靠、操作方便的OA半自动化办公系统,本系统主要包括文件管理、人事管理、日程管理、文档管理、消息传递、系统管理、考勤管理等7个部分。办公自动化(Office Autom
7、ation,简称OA)是将现代化办公和计算机网络功能结合起来的一种新型的办公方式。办公自动化没有统一的定义,凡是在传统的办公室中采用各种新技术、新机器、新设备从事办公业务,都属于办公自动化的领域。在行政机关中,大都把办公自动化叫做电子政务,企事业单位就大都叫OA,即办公自动化。通过实现办公自动化,或者说实现数字化办公,可以优化现有的管理组织结构,调整管理体制,在提高效率的基础上,增加协同办公能力,强化决策的一致性,最后实现提高决策效能的目的。 本系统提供OA办公中常用的功能如文件管理、人事管理、日程管理、文档管理、消息传递、系统管理、考勤管理等,对于办公流程如签字审批等功能暂不支持。 第二章
8、系统分析2.1 需求分析 系统需求分析:是系统分析员按照系统的思想结合自身的系统开发经验,根据收集的资料对系统目标进行分析,对组织的信息需求、功能需求、辅助决策需求以及管理中存在的问题等进行系统的分析。 通过调查,要求系统具有以下的功能: 1、人事管理包括机构管理、部门管理、员工管理 2、日程管理包括我的日程、部门日程、我的便签等功能3、文档管理文档管理、回收站、文件搜索4、消息传递消息管理、信箱5、系统管理包括角色管理、操作日志、登录日志、菜单排序。6、考勤管理考勤管理、考勤历史查询2.2 架构设计本系统采用ASP.NET+SQLServer2008技术。使用ASP.NET传统三层结构作为框
9、架,运用WEBFORM服务器控件方式实现。如图2-1 2-2 所示图2-1架构图图2-2 架构图本系统界面采用DIV+TABLE布局完成,尽量采用DIV+CSS布局,如图2-3用户登图所示,只有用户名密码都验证正确后才可进入系统。图2-3 用户登图用户登录后根据权限所看到的界面不一样。管理员登陆界面显示个人便签信息,左侧显示系统菜单和个人基本信息,上标栏有“主页”、“重新登录”、“修改密码”、显示当前时间功能。如图2-4管理员登录图所示。图2-4管理员登录图普通会员登录后直接到个人签到页面,其他同管理员登录。签卡日期不能为空,且为日期型。如图2-5普通用户登录图所示。图2-5普通用户登录图2.
10、2部门管理保存部门信息页面功能要求: 所属机构下拉菜单绑定机构信息表,注意输入框有效性验证。如果是修改部门则要显示选定部门的基本信息。部门负责人右侧的图标是“选择用户”按钮,点击后以树型显示所有用户,且按机构、部门分类。如图2-6保存部门信息图所示:图2-6保存部门信息图部门管理页面功能要求:用GridView显示所有部门信息,如上图所示,该页面有部门增加、删除、修改功能。点“添加部门”按钮,或点修改图标都进入保存部门信息页面,该页面效果如图2-7部门功能要求图所示:图2-7部门功能要求图2.3员工管理员工管理页面功能要求:用GridView展示所有用户基本信息,页面有用户添加、修改、删除和浏
11、览详情功能,执行增、删、改成功后,GridView重新绑定显示用户信息。点“添加用户”按钮和修改用户图标进入用户信息保存页面,如图2-8员工管理功能图 所示:图2-8员工管理功能图保存用户信息页面功能要求:用户信息要求非空和有效性验证,“所在部门”下拉菜单项来自数据库DepartInfo表,文本和值分别对应DepartName和DepartId字段(后续机构和部门下拉菜单项都来自对应的表,不再赘述)。点“浏览”按钮可以选择用户照片,如图2-9保存用户信息图所示:图2-9保存用户信息图点“保存”按钮添加该用户,然后跳转到员工管理页面,同时把图片上传到“网站根目录/images/Users”文件夹
12、中。注意这里文件名定义为:用户登录名 + “.jpg”格式,如刚才上传的图片添加用户后保存为“admin.jpg”2.4日程管理模块日程管理包括3个子模块如图2-10日程管理图所示:3个子模块图2-10日程管理图我的日程安排页面功能要求:要求填写日程主题、日程地点、会议类型(下拉菜单数据项与MeetingInfo表字段对应)、开始时间、结束时间、提醒内容、预约他人一起参与,同时可以选择是否公开日程,如果公开日程,则部门内其他人在部门日程中可以查看您的日程,如果不公开,其他人看不到您的日程,同时显示创建者和创建时间。对应Schedule 、MeetingInfo和PreContract表。点预约
13、他人小图标,则显示所有用户,如图2-11日程安排图所示:图2-11日程安排图部门日程页面功能要求:要求按部门进行日程查询,选择机构后部门下拉菜单级联改变,要求实现选择下拉项后无刷新,如上图所示,可以按部门内用户姓名进行模糊查询,日期只能绑定到某一天,初始时不显示日程信息,点“搜索”图片按钮后,返回查询结果,如图2-12部门页面功能图所示。图2-12部门页面功能图注意:用GridView显示查询到的日程信息,标题部分包括人员姓名、查询日期所在周的一周各天,要显示一周的各天对应当月的几号,内容部分包括用户姓名,和一周内用户各天对应的日程,任何一个用户可以查看本部门内公开的日程和自己创建的日程。按姓
14、名模糊查询时,如果没有部门内其他用户的日程,则自己创建的日程也要显示出来。我的便签页面功能要求:用DataList展示所有便签信息,如上图所示。当便签标题超过12个字时,则以前12个字 加“.”表示。点页面上“新增便签”超连接或点DataList中的便签标题都可以进入个人便签设置页面。如果是添加,则界面如图2-13个人便签图所示:图2-13个人便签图2.5 获取用户登录信息部分代码:protected void Page_Load(object sender, EventArgs e) UserInfo user = (UserInfo)SessionCurrentUser;/获得登陆用户信息
15、 if (!Page.IsPostBack) DisplayUserMenu(user.UserId); DisplayUserInfo(user); protected void DisplayUserInfo(UserInfo user) lblUserName.Text = user.UserName; lblUserRole.Text = user.Role.RoleName; DepartInfo depart = DepartInfoManager.GetDepartInfoByDepartId(user.DepartId); lblDepart.Text = depart.Dep
16、artName; lblNow.Text = 今天是: + DateTime.Now.ToShortDateString() + + CaculateWeekDay(DateTime.Now.DayOfWeek.ToString(); #region 得到今天是星期几 protected string CaculateWeekDay(string week) string weekstr = ; switch (week) case Monday: weekstr = 星期一; break; case Tuesday: weekstr = 星期二; break; case Wednesday:
17、 weekstr = 星期三; break; case Thursday: weekstr = 星期四; break; case Friday: weekstr = 星期五; break; case Saturday: weekstr = 星期六; break; case Sunday: weekstr = 星期日; break; return weekstr; #endregion protected void DisplayUserMenu(string userId) tvUserRightMenu.Nodes.Clear(); IList parentSysFun = SysFunMa
18、nager.GetAllParentNodeInfoByUserId(userId); foreach (SysFun sfParent in parentSysFun) string nodeId = sfParent.NodeId.ToString();/第一层节点id string displayName = sfParent.DisplayName;/第一层节点显示名称 TreeNode fatherNode = this.CreatTreeNode(displayName, nodeId, , Images/menuclose.gif);/根据节点信息,创建第一层节点 CreateC
19、hildTree(nodeId, userId, fatherNode);/创建子节点 tvUserRightMenu.Nodes.Add(fatherNode);/将第一层节点加入到用户权限TreeView中 /创建第二层节点 private void CreateChildTree(string nodeId, string userId, TreeNode fatherNode) IList childSysFun = SysFunManager.GetSysFunByParentNodeIdAndUserId(int.Parse(nodeId), userId);/获得父节点为node
20、Id的所有子节点 foreach (SysFun sfChild in childSysFun) string childNodeId = sfChild.NodeId.ToString();/第二层节点id string childDisplayName = sfChild.DisplayName;/第二层节点名称 string nodeURL = ResolveUrl(sfChild.NodeURL.Trim();/将路径转换为在客户端可用的URL TreeNode childNode = this.CreatTreeNode(childDisplayName, childNodeId,
21、nodeURL, Images/CloseTree.gif);/根据节点信息,创建第二层节点 AddTree(fatherNode, childNode);/将子节点加入到父节点中 / / 创建一个树节点,返回一个树节点对象,参数内容是: / 节点名称,节点ID,链接地址,正常图标,展开后的图标 / private TreeNode CreatTreeNode(string strText, string strId, string strUrl, string strImg) TreeNode newNode = new TreeNode(); newNode.Text = strText;
22、 newNode.Value = strId; newNode.NavigateUrl = strUrl; newNode.ImageUrl = strImg; return newNode; / / 把子节点添加到父节点当中 / private void AddTree(TreeNode FatherNode, TreeNode ChildNode) FatherNode.ChildNodes.Add(ChildNode); protected void Timer1_Tick(object sender, EventArgs e) UserInfo user = (UserInfo)Ses
23、sionCurrentUser;/获得登陆用户信息 DateTime availTime = DateTime.Now;/查询当前时间有效的消息 int unreadMessageCount = MessageToUserManager.GetUnReadReceiveMessageCountByUserId(user.UserId, availTime);/查询该用户的未读消息数 lblMessageCount.Text = unreadMessageCount.ToString();/显示未读消息数量 if (unreadMessageCount 0) imgbtnMessage.Visi
24、ble = true; else imgbtnMessage.Visible = false; 验证用户登录账号: protected void imgbtnLogin_ServerClick(object sender, ImageClickEventArgs e) UserInfo user; LoginLog loginLog = new LoginLog(); loginLog.UserId = txtUserId.Value; loginLog.LoginTime = DateTime.Now; loginLog.LoginUserIp = Request.UserHostAddre
25、ss.ToString(); if (UserManager.Login(txtUserId.Value, txtPassword.Value, out user) loginLog.LoginDesc = 用户登录成功; loginLog.IfSuccess = 1; LoginLogManager.AddLoginLog(loginLog); SessionCurrentUser = user; if (user.Role.RoleId = 1) Response.Redirect(/ManualSign/ManualSign.aspx); else Response.Redirect(/
26、ScheduleManage/PersonNote/PersonNote.aspx); else loginLog.LoginDesc = 用户登录失败,用户名或密码不正确。; loginLog.IfSuccess = 0; LoginLogManager.AddLoginLog(loginLog); Response.Write(alert(用户名或密码不正确,请重新填写); 第三章 数据库的设计和实现3.1数据库需求分析用户的需求具体体现在对各种信息的提供和查询,数据库是此类系统的核心,系统中所有的信息都存储在数据库中。在所有ASP.NET页面中通过ADO.NET与数据库连接,操作数据库中
27、的数据,从而实现所有需要的功能。数据库软件有很多,本系统中数据库采用Microsoft SQL Server 2005作为数据库工具。数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。逻辑设计中根据系统分析设计的一个关系模型。物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。3.2数据库概念结构设计概念设计基于实体关系E-R图模型的数据库设
28、计在系统需求分析的基础上建立一个反映现实世界实体在联系的模式,再转换成数据库管理系统的模式,以下列举了在办公半自动化管理系统数据库分析过程中所得到的部分实体属性图以及实体之间的E-R图。用户名称用户信息属性E-R图:用户密码用户编号用户地址用户权限用户所属部门用户电话家庭住址用户编号用户地址生日性别用户图 3-1 用户信息属性E-R图部门编号部门名称部门信息实体属性E-R图部门描述部门图 3-2 部门名称部门信息实体属性E-R图上下班考勤信息实体属性E-R图下卡时间考勤打卡时间登记人登记类型所在部门考勤日期考勤编号上下班考勤信息图 3-3 上下班考勤信息实体属性E-R图文件类型文件信息实体属性
29、E-R图文件信息附件文件图 3-4 文件信息实体属性E-R图3.3 数据库关系图图 3-5 数据库关系图3.4 数据表的设计3.4.1所有表信息表 名功 能 说 明UserInfo存放用户基本信息UserState可扩展性,设置用户是否被屏蔽的状态RoleInfo存放角色基本信息SysFun存放菜单功能基本信息RoleRight存放所有角色权限BranchInfo机构信息表DepartInfo部门信息表FileInfo文件信息表FileTypeInfo文件类型表AccessoryFile附件文件表ManualSign考勤信息表WorkTime上下班时间表Message消息表MessageTyp
30、e消息类型表MessageToUser消息发送对象ReadCommonMessage用户已读消息表Schedule日程表MeetingInfo会议类型表PreContract预约人表MyNote个人便签表LoginLog登录日志表OperateLog操作日志表图3-6所有表信息3.4.2UserInfo用户信息表表名列名数据类型(精度范围)空/非空约束条件其他说明UserIdNvarchar(50)非空用户唯一标识UserNameNvarchar (50)非空真实姓名PassWordNvarchar (50)非空密码DepartIdint非空所在部门Genderint非空性别RoleIdint
31、非空用户角色UserStateint非空表UserState的外键,对应UserStateId 字段用户状态图 3-7 用户信息表3.4.3表UserState用户状态表表名列名数据类型(精度范围)空/非空约束条件其他说明UserStateIdNvarchar (50)非空种子,自增11:正常状态;0:被屏蔽UserStateNameNvarchar (50)非空图3-8用户状态表3.4.4 表RoleInfo角色信息表表名列名数据类型(精度范围)空/非空约束条件其他说明RoleIdint非空种子,自增1角色id RoleNameNvarchar (50)非空角色名称RoleDescNvarc
32、har (50)角色描述图3-9 角色信息表3.4.5表SysFun菜单信息表表名列名数据类型(精度范围)空/非空约束条件其他说明NodeIdint非空菜单节点idDisplayNameNvarchar (50)非空菜单名称NodeURLNvarchar (50)菜单连接地址DisplayOrderint非空菜单显示顺序ParentNodeIdint非空父节点id图 3-10菜单信息表3.4.6表RoleRight角色权限表表名列名数据类型(精度范围)空/非空约束条件其他说明RoleRightIdint非空种子,自增1角色权限idRoleIdint非空表RoleInfo的外键,对应RoleId
33、 角色idNodeIdint非空表SysFun的外键,对应NodeId 菜单节点id图3-11角色权限表3.4.7表BranchInfo机构信息表表名列名数据类型(精度范围)空/非空约束条件其他说明BranchIdint非空种子,自增1机构idBranchNameNvarchar (50)非空机构名称BranchShortNameNvarchar (50)非空机构简称图3-12机构信息表3.4.8表DepartInfo部门信息表表名列名数据类型(精度范围)空/非空约束条件其他说明DepartIdint非空种子,自增1部门idDepartNameNvarchar (50)非空部门名称Princi
34、palUserNvarchar (50)非空表UserInfo外键,对应UserId字段部门负责人ConnectTelNobigint联系电话ConnectMobileTelNobigint移动电话Faxesbigint传真BranchIdint非空表BranchInfo的外键,对应BranchId字段所属机构图3-13部门信息表3.4.9表FileInfo文件信息表表名列名数据类型(精度范围)空/非空约束条件其他说明FileIdint非空种子,自增1文件IdFileNameNvarchar (50)非空文件名称FileTypeint非空FileTypeInfo表的外键,对应FileTypeI
35、d字段文件类型RemarkNvarchar (50)备注FileOwnerNvarchar (50)非空创建者CreateDateDateTime非空创建日期ParentIdint非空父节点IdFilePathNvarchar (200)非空文件路径IfDeleteint非空是否已删除。1:已删除、2:未删除图3-14文件信息表3.4.10表FileTypeInfo文件类型表表名列名数据类型(精度范围)空/非空约束条件其他说明FileTypeIdint非空种子,自增1文件类型idFileTypeNameNvarchar (50)非空文件类型名FileTypeImageNvarchar (50)
36、非空文件类型对应的图标FileTypeSuffixNvarchar (50)文件类型后缀图3-15文件类型表3.4.11表AccessoryFile附件文件表表名列名数据类型(精度范围)空/非空约束条件其他说明AccessoryIdint非空种子,自增1文件附件IdFileIdint非空表FileInfo的外键,对应FileId 字段 文件IdAccessoryNameNvarchar (50)非空附件名称AccessorySizeint非空附件大小AccessoryTypeint非空FileTypeInfo表的外键,对应FileTypeId字段附件类型CreateDateDateTime非空创建日期AccessoryPathNvarchar (200)非空附件路径图3-16 附件文件表3.4.12表ManualSign考勤信息表表名列名数据类型