版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
开题报告专业软件技术学号姓名设计(论文)题目基于SpringBoot架构的OA智能办公平台的设计与实现选题的背景和意义:随着社会的发展,租赁人工、人工成本的不断提高,利用智能技术创建能够吸引优秀人才并节省空间管理成本的环境变得越来越重要。智能办公自动化系统利用先进的技术和设备提高办公效率和办公质量,改善办公条件,减轻劳动强度,实现管理和决策的科学化。办公自动化系统是以行为科学、管理科学、社会学、系统工程学、人机工程学为理论,结合计算机技术、通信技术、自动化技术等,不断使人的部分办公业务活动物化于人以外的各种设备中.并由这些设备与办公人员构成服务于某种目标的人机信息处理系统。即在办公室工作中,借助先进的办公设备取代人工进行办公业务处理、管理各类的信息,辅助领导决策。于是我们采用了SpringBoot框架开发了一套OA智能办公系统。实现了收发文的管理、公告管理、员工身份信息的管理、对办公文件上传与下载、对办公意见的管理等功能,使得办公更加的方便便捷,将为办公人员带来安全、稳定、舒适、高效、节能的智能办公系统服务。本系统能通过可视化操作给用户带来更加明了的操作体验,提供了对信息文章的发送与接收,提供了对发布会议的接收,通过信息推送的方式推送最新的公告,并且员工之间能工收发文件,从而使得办公不会因为地理位置收到阻碍,提高办公的便捷性,同时也提供了信息反馈的功能,便于更好的做出决策。课题研究的主要内容:OA智能办公平台系统是给予现阶段主流的Springboot技术的系统,目的在于尽可能充分地利用信息资源,最大限度地提高办公效率、办公质量,从而产生更高价值信息,提高管理和决策的科学化水平,实现办公业务无纸化、科学化、自动化。本人实现的模块:用户管理、讨论区。本系统同时也采用了log4j日志管理,开发人员可以通过观察日志的输出,提高自己的开发效率。数据库则使用了Mybatis,其成本低、体积小操作、简单。主要研究(设计)方法论述:首先,分析系统中所用到的开发技术Springboot框架的特点、机构框架以及使用方法。其次,查阅国内外相关的资料信息,完成课题前的相关调查研究,学习系统中所用到吧的技术、结构框架以及使用方法。再次确定系统的设计方向,明确整个系统的设计规划,同时进行页面的原型设计和可行性验证,完成系统:收发文的管理、公告管理、员工身份信息的管理、对办公文件上传与下载、对办公意见讨论的管理等功能。最后,对系统的主要页面、数据库等进行设计、实现、测试和应用。时间(迄止日期)2020.07.10~2020.07.122020.07.13~2020.07.152020.07.16~2020.07.212020.07.22~2020.07.312020.08.01~2020.09.092020.09.10~2020.09.292020.09.30~2020.10.062020.10.07~2020.10.132020.10.14~2020.10.202020.10.21~2020.11.20 时间(迄止日期)2020.07.10~2020.07.122020.07.13~2020.07.152020.07.16~2020.07.21
目录TOC\o"1-3"\h\u26345摘要 77662第一章绪论 9310161.1项目研究背景 9139781.2研究趋势及目的 929661.3课题主要研究内容 9134641.4本文组织结构 104575第二章系统需求分析 11165312.1系统业务概述 11129412.2系统结构功能 11115992.3业务流程 12107992.4系统功能性需求 1237252.4.1部门管理业务 12105342.4.2用户登录记录业务 13143812.4.3职位信息管理业务 1432842.4.4用户信息管理业务 15284472.4.5我的讨论管理业务 16141242.4.6讨论列表管理业务 1789992.5非功能需求 1881922.5.1浏览响应速度 18326442.5.2出错处理 19218852.5.3用户界面 19209772.5.4性能需求 1935012.5.7其他需求 196712.6本章小结 1914595第三章系统分析设计 20279323.1总体功能设计 20179703.2数据库设计 20105563.2.1设计简介 2025343.2.2数据库E-R模型 2132023.2.3数据表物理视图 2143733.3详细设计 25121853.3.1用户管理业务 2569123.3.2职位管理业务 27248033.3.3部门管理业务 2982253.3.4用户登录记录业务 32297333.3.5我的讨论管理业务 33137143.3.6讨论区列表 3684003.4本章小结 3822712第四章编码实现 39275274.1搭建项目框架 39197654.1.1程序结构图 39155604.1.2程序结构说明 39182824.2用户管理业务 4156024.2.1功能实现分析 41123074.2.2代码实现 4178424.2.3运行结果 43291264.3职位管理业务实现 44228724.3.1功能实现分析 4418784.3.2编码实现 44307624.3.3运行结果 45313434.4部门管理业务实现 46260614.4.1功能实现分析 46153294.4.2编码实现 47258714.4.3运行结果 49193154.5我的讨论管理实现 5015174.5.1功能实现分析 5049264.5.2编码实现 51255974.5.3运行结果 53150654.6讨论列表业务 543684.6.1功能实现分析 5463604.6.2代码实现 54273984.6.3运行结果 55239294.7本章小结 5629852第五章系统测试 57100915.1系统测试 5769825.2测试总结 5831761第六章总结与展望 59166526.1总结 5999126.2展望 5924212参考文献 62摘要随着时代的不断进步和发展,企业也迎来了重大的发展,但是随着企业的不断发展,企业的资源越来越多,传统的办公模式已经无法满足当下环境的需求,再加之跨区域线上办公正在逐步流行,所有线上办公即将成为主流。于是我们要紧跟时代的步伐,开发出一套由SpringBoot为框架的,由SpringMVC、freemarker、等技术辅助的智能办公系统。本系统实现下列功能:员工的信息管理、流程管理、公告管理、邮件管理、任务管理、文件管理、笔记管理、通讯录管理以及讨论区管理。本系统前端使用了freemaker模板引擎,使得前端和后端的数据分离,降低耦合度;使用Bootstrap前端UI框架,使得各功能一目了然;使用JQuery、kindeditor、My97DatePicker等技术加速开发进程,用户界面更加的友好;在后端数据使用fastjson进行数据的类型转变,方便与图表进行数据交互,使得页面信息更加的丰富,提高用户的使用体验。[关键词]:SpringBoot;freemaker;Jquery第一章绪论1.1项目研究背景在互联网科技高速发展的今天,信息化的不断发展,大数据、人工智能、云计算等前沿科技正带领着我们进行信息科学革命,这样由大数据技术衍生出来的智能办公技术也崭露头角,有着相当大的前途。更何况随着公司资源的不断扩大,传统的办公模式效率低,已经无法满足公司当下的需求。所以智能办公系统出现了。在这个信息传播十分迅速的今天,传统的办公模式局限于他的资源和距离有限性的问题失去了存在的意义,由此诞生了结合当下互联网技术的OA智能办公系统,其及其方便的操作和简单明了的管理系统,使得它能够大量普及。更何况,随着网络技术的不断更新拓展和公司资源的不断扩大,传统的办公模式耗费大量的资源,会对企业的发展产生一定的阻力。传统的办公模式对距离有着一定的限制,同时有需要耗费大量的人力资源和时间成本,财力也随之增多,十分阻碍企业办公效率提升的。如果有一款系统能够帮助企业资源的规划和管理,能够跨越地区的限制进行操作,并且简单易懂。这样就能解决企业发展时所遇到的效率问题等。因此,将办公与网络结合便是本册的主要研究内容。1.2研究趋势及目的随着互联网技术的不断发展,企业对办公效率需求的不断提高,传统的人工办公管理再也无法满足当下的企业,于是迫切需要一种能够代替人工管理、远程操作为一体的解决方案。系统采用SpringBoot作为框架,WEB端采用FreeMarker模板引擎,界面使用Bootstrap前端UI框架、JQuery、kindeditor、My97DatePicker技术,使得前端与后端进行数据交互。模板只负责数据在页面中的表现,不涉及任何的逻辑代码,而所有的逻辑都是由后端进行负责,这样有利于后期代码的修改和维护,减少维护成本。简单明了的页面也使得用户的易于操作,对数据信息也是一目了然。本项目目标就是实现一个智能的办公系统。1.3课题主要研究内容考虑到中小企业的不断发展,企业资源管理需求的不断提高,此次课题的主要研究内容及方向为:用户管理,流程管理,公告管理,邮件管理,任务管理,文件管理,笔记管理,通讯录管理,讨论区等,在此次研究中,我做了一些相关的研究调查:查阅了相关的信息、了解了企业用户的管理及权限问题、阅读了相关技术的文档资料,了解了企业业务流程、了解了目前主流的Springboot开发即使、查看了数据库设计的相关文档、了解了文件上传下载以及邮件收发的相关技术等。以此确定了系统的设计方案及需求分析。此次开发遵循软件工程的开发模式,实行周期性交付机制。在此系统研究中,我研究的核心功能模块主要有:用户的登录信息记录;用户对部门的管理用户对自己信息的修改,以及拥有更高权限的上司对自己的下属信息的修改;用户对于自己讨论的修改以及对其他讨论的查看。1.4本文组织结构第一章绪论,主要介绍了本项目设计时所处的社会大环境和系统存在的实际意义等内容。第二章系统需求分析,主要针对于OA智能办公系统的功能性以及非功能性的需求进行分析。第三章系统分析设计,主要针对OA智能办公系统进行了总体设计、系统架构、数据库设计,并对业务流程,企业员工管理实际的需求,讨论区管理等核心功能进行了详细地设计。第四章系统实现,主要介绍了OA智能办公系统几个核心模块的功能设计、代码实现和界面运行效果。第五章系统部署与测试,主要介绍了运用黑盒测试对OA智能办公系统的核心功能进行了测试并给出测试用例。第六章总结与展望,主要介绍了本课题的研究内容和主要成果,最后指出本系统的进一步研究方向。第二章系统需求分析本章节对用户的需求进行分析,阐明用户所需要实际功能。2.1系统业务概述针对于OA智能办公系统,我们通过对企业的业务流程进行了调查,充分分析了办公系统的业务流程及特点。设计了用户管理、流程管理、公告管理、邮件管理、任务管理、文件管理、通讯录管理和讨论区8个功能模块。这些模块不仅实现了常用的企业管理功能,还实现了权限和职位变动等其他功能,权限高的用户可以对权限低的用户进行管理,也可对其信息进行修改。在上述模块中,用户管理模块包括部门管理、在线用户、职位管理和用户信息管理,用户可以对部门进行管理以及对其部门的员工可以进行职位变动,使得用户操作更加的便捷;系统也会记录每次的登录的时间和地址,方便用户对自己的账号进行观察;用户也可以对各部门所有高职位员工信息进行管理操作;用户信息管理模块则是对其各部门下的员工信息进行管理操作,并且也采用了分页插件,方便用户的观察。讨论模块则包括我的讨论和讨论列表,我的讨论则是发表自己讨论的内容,可以是投票或者是讨论类型,讨论列表则是显示所有员工的讨论,并且也能查看其访问量、访问次数和点赞次数等功能,使得用户对自己发布的信息有着更加直观的观察。2.2系统结构功能本系统从用户实际需求出发,对需求进行分析确定系统总体功能结构如下:图2-1系统的总体功能结构图2.3业务流程基于SpringBoot的OA智能办公系统对广大企业对企业资源的管理需求而设计,由于用户的使用范围较大和功能需求较多,就要求系统对功能划分要一目了然。用户进入系统,首先是登录页面,用户输入账号、密码及验证码,方可进入主页面,主页面目录列表包含用户管理、流程管理、公告管理、邮件管理、任务管理、文件管理、通讯录管理和讨论区8个功能,在用户管理中,一般是对用户的信息进行管理,包括部门、用户的登录信息、用户自己的信息等;在流程管理中,用户可以申报一些事务,包括费用报销单、出差申请单、加班申请单、转正申请单、请假申请单和离职申请单这6个子功能;在公告管理中,一般是对企业的公告通知进行管理,其中包括用户自己的通知管理和所有通知列表的查看这2个子功能;在邮件管理中,用户可以对其他用户发送文件;在任务管理中,该模块有任务管理和我的任务两个子模块,任务管理则是自己对其他用户发布任务,我的任务模块中,则是对其他用户发送给自己的任务管理;在工作计划中,分为计划管理和计划报表两个子模块,在文件管理中,则是相当于一个云盘,用户可以上传、文档、图片、音乐等文件,同时也具备分享文件的功能;在通讯里中,则是管理所有公司职员的电话,但考虑到企业也要与其他企业的联系,所有在另加一个外部通讯录,记录企业外的任务通讯;在讨论区模块中,用户可以发布一些讨论,并且发布的讨论可以进行回复和点赞,更加便于企业的内部交流。
具体业务流程图为下图2-2:图2-2系统的业务流程图2.4系统功能性需求部门管理业务1.功能说明用户通过登录页面进入用户主页面,点击用户管理的部门管理,用户可以查看到所有的部门信息列表,包括部门的名称、电话、邮箱和地址这些主要信息,同时用户也可以添加一个新的部门,新增部门的页面也具有检验的功能,例如输入的邮箱格式不正确,会有相应的提示栏。同理用户也可以修改,修改页面应当显示修改前的信息,便于用户的前后比对。每个部门都有员工,所以系统应该可以查看每个部门的员工,再考虑到人事变动的问题,所以系统也应该可以进行员工的职位设置,可以设置每个部门的部门经理,同时也应该可以实现跨部门的人事调动的功能。2.系统活动图图2-2部门管理活动图用户登录记录业务1.功能说明为了方便统计网站的访问数量和用户的群体等信息,则需要要求系统能够记录用户在进入网站的每一次回话,一个有效的访问需要经过:开始会话、访问信息、结束会话,用户如果长时间未执行任何操作,则会被视为结束会话,会自动退出账号,并视为一次有效会话。当一次会话结束时,系统则会将此次会话的信息保存到数据库中,以便统计和分析,需要保存的数据信息包括:当前登录用户的用户名;开始访问系统的时间;登录网站的客户端的IP地址;登录使用浏览器的信息。记录了所有的用户的登录信息,我们也需要对个别用户的登录记录进行查询,所以系统应该拥有一个模糊查询的功能。同时也应该有一个打印的功能,便于打印自己的登录记录。2.系统活动图图2-3登录记录活动图职位信息管理业务1.功能说明在企业管理中,有着很多的职位,而这些职位负责的区域也有所不同,以及权限也有所不同,所以系统也应该有一个权限管理,该模块应该明确各职位的等级划分,例如CEO有着最高的权利,他可以修改所有员工的信息,而一般的职员只能修改自己的基本信息,没有权利修改其他权限高于自己的职员信息。同时用户也能修改、新增、删除职位的信息。这些信息也应该用一个列表显示,各职位也应该有权限由高到低进行排列,显示的信息应当包括:名称、层级、和描述,这样更加方便用户的查看和了解职位的功能介绍。2.系统活动图图2-4职位管理活动图用户信息管理业务1.功能说明有了部门和职位等级的管理,系统也应当拥有对所有用户信息的管理功能,由列表显示所有员工的基本信息,包括所在部门、真实姓名、用户名、角色、电话和工资。同时也应该具备增删改操作,而在增加和修改操作时,则需要用户填写更详细的信息,包括入职时间、邮箱、银行账号等。2.系统活动图图2-5用户管理活动图我的讨论管理业务1.功能说明为了满足企业的内部统计和交流,要求系统能够具备发布个人讨论的功能,发布的讨论具有两种类型,一个是留言讨论类型,另一个是投票讨论类型。留言讨论,则是具备显示的标题,主体内容则是使用使用富文本编辑器,这样可以上传附件,使得所发布的讨论内容更加丰富。投票讨论类型,应该具备单选和多选两种类型的投票方式,投票也应该具备开始时间和结束时间,一旦到结束时间,投票系统则会自动关闭投票的功能,用户可以查看各个投票选项的人数比例及投票任务详情。2.系统活动图图2-6我的讨论管理活动图讨论列表管理业务1.功能说明所有用户发布讨论后,所有的讨论信息则会在讨论列表中显示,为了显示的更加有条理,显示内容按照公告、讨论、投票,时间先后的顺序进行排列显示,同时也应当采用分页,使得页面信息不回太过于冗杂。点击某个具体讨论,应该显示讨论的发表人、发布时间等其他信息,同时每有一个用户点击讨论内容,则后增加访问量一次,用户还可以进行点赞,也应该具有点赞人物统计。用户也可以进行回复,回复的评论,也应当显示回复的时间、人物姓名等信息,同时回复的评论也可以再次进行点赞和评论。在回复过多评论时,系统应该能够“时间升序”和“时间降序”进行查看,同时也应该具备“只看楼主”和“只看我的”的功能,评论到底时,显示“已经没有更多了”的字样。如果没有评论,则会显示“还没有评论,快来坐沙发~~~”的字样,使得用户体验更加的人性化,提升用户的使用体验。2.系统活动图图2-7讨论列表检索活动图2.5非功能需求2.5.1浏览响应速度要求浏览网页时,对可视数据进行操作,后台与数据库要能够快速做出相应,不能让用户长时间的。2.5.2出错处理当系统遇到错误或用户操作不当时,系统能给出相应的操作提示。2.5.3用户界面要求这个网站的页面分割要高度同一。2.5.4性能需求并发要求:要求支持万级并发量,在最高负载状态下系统不能出现异常。事务并发:允许多地、多用户、多事务并发,在系统高压时响应时间不能过长。数据库操作:用户的每次请求所触发的SQL操作不能操作5条。2.5.5安全性1.当数据库数据泄露时不能暴露用户、管理员的密码信息。2.用户长时间内未进行任何操作时,系统将自动退出账号,保障用户的隐私,2.5.6可维护性系统设计结构清晰,方便开发人员对系统进行维护,修复系统BUG等。系统模块注释、文档完整,降低后期维护成本。2.5.7其他需求用户操作需求,具体如下:(1)要求系统操作简单明了,覆盖用户年龄群体广。(2)用户可以清晰的看到系统处理得到的结果。2.6本章小结本章节主要介绍了智能办公系统的需求分析。根据用户的实际需求出发,详细分析了系统的需求你,在重系统人性化详细描述了智能办公系统的各子系统和模块之间的具体需求。第三章系统分析设计本章节主要介绍OA智能办公系统的系统总体结构、数据模型和理论设计的详细分析,详细阐述了系统中前台和后台之间的系统架构的详细设计,并分析了系统各个模块的数据库设计和具体的实现方法等。3.1总体功能设计经过上面的分析,我们可以得出系统总体需要实现的功能模块如下:图3-1系统整体功能框架图3.2数据库设计3.2.1设计简介数据库为智能办公系统的核心子系统,应该尽量满足用户需求的前提来表现出系统内信息对象之间的关系。于是我们根据系统的实际需求,详细分析了用户管理、公告管理和讨论区管理等业务信息,得出个对象在数据表之间表现的关系的物理模型如下图:3.2.2数据库E-R模型图3-2数据库E-R模型图图3-2所示的数据库E-R模型说明了表与表之间的关系以及表的所有字段及主外键信息,具体字段含义会在下文详细说明。3.2.3数据表物理视图经过对智能办公系统的功能及需求的综合分析,并结合上述的数据库ER-模型图,最终确定了数据库各表及字段的详细结构如下:
1.用户表:用于存储用户所有的基本信息。如表3-1所示。表3-1用户信息表(aoa_user)表3-2用户信息外键表(aoa_user)用户表中,user_id字段作为主键,唯一标示一个用户。用户表中,包含三个外键,position_id与aoa_postion表相联,实现用户与职位一对一的关系,通过该外键获取用户职位的其他信息。dept_id与aoa_dept表关联,实现用户与部门之间的一对一关系。2.职位权限表:用于管理所有部门的所有职位权限信息表。如表3-2所示。表3-3职位权限表(aoa_posotion)职位权限表中,posotion_id属性为表的唯一标识,deptid属性是用来划分各职位所属部门,无外键。3.部门信息表:。如表3-3所示。
表3-4部门信息表(aoa_dept)部门职位表中,dept_id为主键,标识唯一的部门id,deptmanger则是存放“经理”用户基本信息的属性。4.用户登录信息表:用于存放用户登录网站的信息。如表3-4所示。表3-5用户登录信息表(aoa_user_login_record)用户登录信息表中,record_id为主键,user_id用来存放指定用户的信息。5.讨论事件表:用于存储讨论事件信息。如表3-5所示。表3-6讨论事件表(aoa_comment_list)讨论事件表中字段comment_id为主键,主键id不能为空且具有唯一性约束。其中字段comment_user_id为aoa_user表的外键,用来实现讨论事件创造者和用户之间一对多的关联;字段reply_id为aoa_reply_list表的外键,用来实现讨论事件中回复评论者和用户之间的一对多的关联。6.讨论区事件表:用于存储讨论区事件信息。如表3-6所示。表3-7讨论区事件表(aoa_discuss_list)在该表中discuss_id字段作为该表的主键,主键不能为空且具有唯一标识性。字段vote_id作为aoa_vote_list表(投票信息表)的外键,用来实现讨论区事件中投票的功能,投票事件和讨论区事件一对一的关联关系;字段discuss_user_id作为aoa_user表(用户表)的外键,用来实现创建者和用户之间一对一的关系。7.回复事件表:用来存储相关回复事件的信息。如表3-7所示。表3-8回复事件表(aoa_reply_list) 在表中字段reply_id为主键,主键不能为空且具有唯一标识性。字段reply_user_id作为aoa_user表(用户表)的外键,用来实现回复者和用户之间的一对一关联关系;字段discuss_id作为aoa_discuss_list表(讨论事件表)的外键,用来实现回复的讨论和讨论事件表中的讨论一对一关联信息。8.投票用户关联表:用来处理用户和投票之间的关联关系。如表3-8所示。表3-9投票用户关联表(aoa_vote_title_user) 在该表中,字段vote_title_user_id作为主键,主键不能为空且具有唯一标识性。字段title_id作为aoa_vote_titles表(投票事件表)的外键,用来实现主题和投票事件中的主题一对一对应关联关系;字段user_id作为aoa_user表(用户表)的外键,用来实现发布者和用户一对一对应的关联关系。9.类型管理表:用来储存整个项目所有的类型属性。如表3-9所示。表3-10类型表(aoa_vote_title_user)3.3详细设计3.3.1用户管理业务1.功能概述用户在点击用户管理后,系统将会显示所有的用户的部分基本信息列表,用户可以对这些用户进行修改和删除的操作,点击修改按钮,系统则会跳转到修改页面,修改的页面会显示所有的基本信息,且会输入框中显示修改前的所有信息,同时前端的页面也会进行校验,检测是否输入的信息是否哦符合规范。
2.界面设计用户信息管理界面如图3-3所示。图3-3用户信息管理界面原型图用户新增和修改界面如图3-4所示。图3-4用户新增和修改界面原型图3.输入输出项新增功能输入:修改、保存。输出:操作成功。删除功能输入:删除输出:操作成功。4.流程逻辑用户管理的时序图如下所示。图3-5用户管理时序图用户通过UserController的useredit方法即将用户的所有信息保存到数据库中的aoa_user表中,再将请求转发给UserController的usermanage()方法再次查询所有用户的信息,最后将请求的数据转发给前台的usermanage页面中显示。用户通过UserController的deleteuser()方法,通过前台数据列表找中的隐式input中获取userid属性,并执行findone()方法,将islock属性至为1,使得该账户处于冻结状态,最后执行usermanage()方法,重新查询用户。3.3.2职位管理业务1.功能概述用户点击职位管理,系统会显示所有职位的类型的列表,用户可以对列表的的信息进行修改和增加操作,点击“修改”和“新增”的按钮,系统会跳转到信息更新的页面,“新增”的页面为空白页面,“修改”的页面,会输入框会显示修改前的信息。2.输入输出项A.新增功能输入:修改、保存。输出:操作成功。B.删除功能输入:删除输出:操作成功。3.流程逻辑职位管理流程时序图如下所示:图3-6职位管理时序图进入职位管理页面,系统会执行positionmanage()方法,查询所有职位类型的信息,点击“新增”和“修改按钮”,都会直接执行positionedit()方法,并且positionid为false,因为修改会从前端页面获取一个positionid属性,而新增功能没有这个属性,所以在之前进行一个if判断,修改操作时通过findone()方法,查询position和dept属性,并将数据转发给前端页面,点击保存,执行positioneditpost()方法,再执行save()方法,重新将postion类存入数据库,最后执行positionmanage()方法重新查询。4.界面设计职位管理界面原型设计如图所示:图3-7职位管理界面原型新增和修改职位界面原型设计如图所示:图3-8新增和修改职位管理界面原型3.3.3部门管理业务功能概述点击部门管理,系统也能会显示所有部门的信息列表,用户可以进行新增、修改、人事调动和删除四种操作项,新增和修改为同一个更新页面,且更新页面有前端校验功能,不符合规范的操作,系统后给出相应提示。修改操作会保留列表修改前的内容。点击任意一个部门人事管理,会打开一个新的列表,该列表会显示该部门下所有的员工信息,再次点击人事调动,会弹出一个新的窗口,窗口有两个下拉框,包含部门和职位,用户可以选择指定员工对其进行职位调动。列表上分有部门名和部门经理,点击“删除”字样,可以对该部门进行删除,同时也会删除该部门下所有的职位种类。点击“更换”字样,也会跳出一个窗口,该窗口可以选择员工,并使其成为部门经理。流程逻辑部门管理时序图如下所示。图3-9部门管理时序图进入部门管理页面,系统会执行deptmanage()方法,该方法会查询所有的部门信息,并将这些信息存放在一个list集合中,转发给前台的deptmanage页面,并进行遍历,一列表的形式显示,同时添加三个按钮:修改、认识调动、删除。点击修改或新增,系统会跳转到后台deptedit()方法,并且前端提交的内容,在前端有校验,输入不规范,系统会给出相应的提示。数据提交给后端,后端有@Valid和BindingResult对其进行二次校验,如果都没有问题,才会继续执行save()操作保存部门信息。点击人事调动和删除,都会执行readdept(),并且将前端的dept_id传入后台,通过dept_id获取该部门的所有信息,并取出bigint类型的deptmange属性中的值,然后在遍历aoa_dept表获取所有的dept_name属性,根据dept_id删选出aoa_position表中,该部门所对应的职位类型,在遍历该部门所有的员工,将没有“%经理”的员工存放在formaluser类中,最后再添加isread属性,默认值为0,如果以上操作都成功,再将isread至1,并将以上得到的数据转发到前端deptread页面中能够。并在前端页面添加判断,如果isread为1,才会显示所有员工的信息,否则不会显示任何信息,为了防止其他用户中间操作,暴露用户信息,提高系统的安全性。点击删除功能,后台获取前台的dept_id属性,通过该属性获取部门下的所有职位信息,并进行delete操作,最后再执行删除部门的操作,这样就能删除部门和部门下所有的职位。输入输出项修改功能输入:修改、保存。输出:操作成功或失败。删除功能输入:删除。输出:操作成功。人事调动功能输入:人事调动、人事调动、确认。输出:操作成功或失败。界面设计部门管理界面原型设计如图所示:图3-10部门管理界面原型图3-11新增或修改界面原型图3-12人事调动界面原型3.3.4用户登录记录业务功能概述本智能办公系统访问记录通过SessionListner实现,当会话结束时,系统将读取会话的信息,并将这些信息存储到数据库中。后台会对这些数据以列表,实现先后的顺序进行显示,同时用户也可以通过查询框,查询一个用户的登录记录。IP地址通过getRemoteAddr()方法获取。输入输出项记录功能输入:IP地址、登录用户、客户端信息和开始日期。输出:保存成功。查询功能输入:用户名。输出:该用户的登录记录。界面设计用户登录记录原型设计如图所示:图3-13用户登录记录界面原型3.3.5我的讨论管理业务1.功能概述为了满足企业讨论的需求,进入我的讨论,系统会查询数据库里已有的讨论,且以列表的形式显示,用户可以对每条讨论进行修改、查找和删除三种操作,用户也可以新增讨论,讨论分为讨论和投票两种类型,且讨论和投票的显示现选项不同,主体内容使用kindeditor富文本编辑插件,相较于html自带的textarea标签,富文本编辑能够使多行文本更具有多样性和自定义性。对已有讨论进行查看,如果是投票类型,则会显示投票选项的具体投票比例,且用户也可以在设置的时间内进行投票操作。如果是讨论类型,则没有选项,其余功能与投票类型一致。讨论还具有点赞、记录浏览量和回复的功能,点赞可以显示具体用户的用户名和点赞额度人数。2.输入与输出新增讨论功能输入:新增、编辑内容、点击发送按钮。输出:操作成功或失败。修改功能输入:修改、重新编辑内容、点击发送按钮。输出:操作成功或失败。删除功能输入:点击删除按钮、点金确认按钮。输出:操作成功或失败。查看功能输入:点击查看、点赞、投票、投票详情按钮、回复。输出:显示点赞、投票比例、浏览量、回复评论、点赞用户的用户名等信息。3.流程逻辑我的讨论时序如图3-11所示。图3-14我的讨论管理业务时序图进入我的讨论页面,执行setPagintMess()中disService.packaging()方法,遍历每条讨论的属性,并将它们放在List<Map<String,Object>>数组中,最后逐个输入discuss,最后转发到前台chattable页面。点“新增”和“修改”按钮,都会去指定writechat()方法,但是在setPagintMess()方法中会生成一个id给前台,writechat()方法通过讨论id是否为空,如果id不为空,则是修改操作,会执行讨论信息回填的操作;如果为空,则反之,为新增操作。系统会执行typeDao.findByTypeModel("chat"),通过type_name属性为chat,来从aoa_type_list表中获取讨论类型。前端writechat页面中通过判断后端转发的讨论type类型,来决定是否渲染投票类型的讨论模板。
界面设计我的讨论界面原型设计如图所示:图3-15我的讨论界面原型新增或修改原型设计如图所示:图3-16讨论类型界面原型图3-17投票类型界面原型3.3.6讨论区列表1.功能概述用户进入讨论列表,会显示所有讨论的帖子,点击“查看”按钮,系统会显示讨论帖子的内容,将所有的评论显示,点击“回复”字样,可以对帖子进行评论,也可以对回复就行点赞,每当进入该帖子,浏览量就是自增,如果对帖子进行评论,评论数的reply.count数也会自增,楼层数也同样自增。
2.界面设计讨论区如图3-31所示。图3-18讨论区界面原型3.输入输出项A.查看功能输入:查看。输出:显示帖子的内容和评论。点赞功能输入:点击点赞按钮。输出:点赞数+1回复功能输入:点击回复,编辑回复内容。输出:显示回复内容
4.流程逻辑讨论区列表如时序图如图3-22所示。图3-19讨论列表时序图用户进行页面,系统会执行chatlist()方法,显示所有的讨论帖子,点击“查看”按钮,系统会显示讨论内容,此方法和我的讨论的方法同理,同时系统也会执行seediscuss()方法,通过用户user_id查看该用户的帖子,点击“点赞”按钮,系统执行likethis()方法,使得likenum点赞数+1,回复数也是同理。点击“删除”字样,系统会执行replydelete()方法,通过userId属性找到所有的replayId回复id,最后再从aoa_replay_list表中通过replayId属性删除指定的评论。从而达到删除整个评论,连同评论一并删除的效果。回复comment也是同理。3.4本章小结本章主要介绍了智能办公系统各个模块的分析设计和详细设计,对核心方法都有详细的阐述。第四章编码实现本章对OA智能办公系统的编码实现和过程进行详细描述,主要将针对包括系统结构、页面布局和各大模块的核心代码实现等方面进行切入。4.1搭建项目框架4.1.1程序结构图整体系统的结构如下:图4-1程序结构图4.1.2程序结构说明本系统分为前端和后端,在前端中,除了提示性页面以外,本系统中的大部分页面使用framework模板框架进行管理和合成,用户必须通过系统转发才可以访问页面。
系统页面由framework框架维护,其文件结构如图4-2。图4-2页面结构图上图中static文件夹中存放css、js和插件等静态资源,tempaltes文件夹中,则放置网页的静态资源。配置文件系统配置文件结构如图所示:图4-3系统配置文件图图中perties是系统数据库连接的配置文件,perties为数据库框架的配置文件,perties为日志的核心配置文件,ValidationMperties为字段数据校验的配置文件。4.2用户管理业务4.2.1功能实现分析该功能会显示所有用户的信息,用户可以对这些用户信息进行修改删除,也可以新增操作,涉及相关编码对象如下表4-1所示。表4-1用户管理代码说明表4.2.2代码实现UserController用户管理控制类,查询全部用户逻辑如下:查询指定用户所有的信息逻辑如下:
用户信息修改或新增逻辑如下:用户信息删除逻辑如下:
4.2.3运行结果图4-4用户管理首页运行结果图图4-5新增用户运行结果图图4-6修改用户信息运行结果图4.3职位管理业务实现4.3.1功能实现分析该模块主要负责对所有制职位类型以及职位权限的管理,用户可以新增职位,以及通过postion_id实现对职位的信息进行修改操作。涉及的相关编码对象如下表4-2所示。表4-2职位管理业务代码说明表4.3.2编码实现1.查询现有所有职位实现
查询指定职位信息职位信息的修改或新增删除指定职位信息4.3.3运行结果运行结果如下图所示:图4-7职位管理列表运行结果图图4-8新增职位运行结果图图4-9修改职位运行结果图4.4部门管理业务实现4.4.1功能实现分析该模块负责对所有部门信息的管理,可以进行新增和删除操作,同时还需要能过部门dept_id查看所属部门所有的员工和其职位,并能够对这些员工的职位进行人事调动。所涉及到的代码文件如下表4-3所示:表4-3部门管理代码说明表4.4.2编码实现查询所有部门信息新增或修改部门信息且对部门信息进行校验查询部门下所属的员工信息
人事调动删除部门更换部门经理4.4.3运行结果图4-10部门列表运行结果图图4-11部门新增运行结果图图4-12部门修改运行结果图图4-13职员列表运行结果图图4-14经理更换运行结果图图4-15人事调动运行结果图4.5我的讨论管理实现4.5.1功能实现分析该模块负责管理我得讨论,具有发布讨论的功能,且讨论具有讨论和投票两种类型,系统前端要能够对两种类型进行不同的渲染,显示两种不同的编辑内容,主体部分采用kindeditor富文本编辑器。发布的讨论要能够进行查看,能够进行回复点赞的功能,且删除讨论要连同回复的评论一起删除。
其中涉及到的代码和文件如下表所示:表4-4我的讨论管理代码说明表4.5.2编码实现新增和修改自己的评论。新增和修改都会触发writechat方法,该方法会通过获取讨论id是否存在来判断是否是新增和修改,如果id存在,则为修改,系统会将数据库中的数据进行回填至更新页面,如果id不存在,则会直接将type类型和user_id转发和跳转前端writechat页面。writechat页面会根据type类型来部分渲染。然后保存,再执行adddiscuss()更新操作,discuss()也会通过判断type来进行if操作,实现保存不同的类型。
删除评论级联删除回复表和评论表中的相关信息4.5.3运行结果图4-16我的讨论运行结果图图4-17讨论类型运行结果图4-18投票类型运行结果图4.6讨论列表业务4.6.1功能实现分析该模块对所有用户的评论进行显示,且可以对这些评论进行回复和点赞,每浏览一次,浏览数会自增,删除楼层的评论,楼层回复也会一并删除。其中涉及到的代码和文件如下表所示:4.6.2代码实现点赞功能
异步刷新点赞人数和回复数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 县委办内控制度
- 金融助贷公司内控制度
- 抖音合作合同范本模板
- 学校周边治安综合治理工作总结
- 二手奢侈品鉴定五年发展:2025年技术培训与行业模式报告
- 人工智能教育平台商业模式创新与教育创新模式探索研究教学研究课题报告
- 住院患者饮食护理案例分析
- 山东省聊城市教育联盟共同体2025-2026学年八年级上学期12月月考物理试卷(含答案)
- 数字教育资源无障碍设计在听力障碍儿童教育中的应用探讨教学研究课题报告
- 2025年互联网家装五年规范透明化报价市场报告
- 2025年人工智能训练师(三级)职业技能鉴定理论考试题库(含答案)
- T/CSPSTC 17-2018企业安全生产双重预防机制建设规范
- 遥感图像处理技术在城市更新中的应用
- 智慧产业园仓储项目可行性研究报告-商业计划书
- 四川省森林资源规划设计调查技术细则
- 广东省建筑装饰装修工程质量评价标准
- 楼板回顶施工方案
- DB13T 5885-2024地表基质调查规范(1∶50 000)
- 2025年度演出合同知识产权保护范本
- 区块链智能合约开发实战教程
- 2025年校长考试题库及答案
评论
0/150
提交评论