excel学习库

excel表格_excel函数公式大全_execl从入门到精通

正文+企业共享办公自动化处理系统的设计与实现

摘要

现如今,各级政府机构与企业公司,每天都需要处理大量的工作日志,还需要安排繁复的任务流程。借助于自动化的办公系统,对于办公人员和领导层来说,工作效率的提升是显著的。在计算机技术飞速发展的今天,共享自动化办公还可以使多个机构与公司在不同的地区进行共享工作,且其与传统的办公模式相对比,有信息共享、实时控制、提高工作效率以及节约工作成本等诸多优势。本文主要根据企业的办公模式现状、企业管理等问题进行自动化共享系统的研究。

本文的开发框架基于SSM框架,通过分层设计将系统结构设计为前台与后台,并通过数据库管理工具与MySQL管理数据表。论文的中期将给出系统的概要设计与功能架构图,在论文的最后要实现系统的基本办公功能,如:文件管理、考勤打卡、邮件管理等,为机构与企业提供功能全面且强大的网上办公平台。

关键词:自动化办公;JAVA;MySQL数据库;SSM框架

Abstract

Nowadays, government agencies and enterprises at all levels need to deal with a large number of work logs and arrange complex task processes every day. With the help of the automated office system, the work efficiency for the office staff and the leadership is significantly improved. Today, with the rapid development of computer technology, shared office automation can also make a number of institutions and companies in different areas to share work, and it has many advantages compared with the traditional office mode, such as information sharing, real-time control, improve work efficiency and save work costs. This paper mainly studies the automation sharing system according to the status quo of enterprise office mode and enterprise management.

The development framework of this paper is based on THE SSM framework, and the system structure is designed as the foreground and background through hierarchical design, and the database management tool and MySQL management data table. In the middle of the paper, the outline design and functional architecture of the system will be given. At the end of the paper, the basic office functions of the system will be realized, such as file management, attendance punching, email management, etc., to provide a comprehensive and powerful online office platform for institutions and enterprises.

Key words: automated office; JAVA; MySQL database; SSM framework

1章 引言

2章相关技术

2.1开发语言

2.1.1JAVA

2.1.2页面设计语言JSP

2.1.3MySQL数据库

2.2开发工具

2.2.1IntelliJIDEA

2.2.2Tomcat

2.2.3NavicatPremium

3章系统需求分析

3.1可行性分析

3.1.1技术可行性分析

3.1.2操作可行性分析

3.1.3安全可行性分析

3.1.4经济可行性分析

3.1.5法律可行性分析

3.2功能需求分析

3.2.1后台管理员权限管理功能

3.2.2日常办公功能

3.2.3消息管理功能

3.2.4考勤功能

3.2.5文件管理功能

3.3系统需求概况

3.4数据库需求分析

4章 系统的概要设计

4.1系统架构

4.2功能模块概要设计

4.2.1管理员功能概要设计

4.2.2日常办公概要设计

4.2.3自动化消息管理概要设计

4.2.4自动化文件管理概要设计

4.2.5考勤打卡功能概要设计

4.3数据库设计

4.4SSM框架

5章 系统的详细设计与实现

5.1 日常办公模块

5.1.1 工作日志

5.1.2 工作任务功能实现图

5.2 消息功能模块

5.2.1 消息推送

5.2.2 通知管理

5.3 打卡功能模块

5.4 后台管理员功能

5.4.1 部门管理

5.4.2 岗位管理

5.5 文件管理功能

5.5.1 档案管理

5.5.2 邮箱管理

结论

参考文献

1章 引言

在计算机信息技术飞速发展的今天,信息化自动化办公技术与机构和企业之间的发展越来越紧密,无论是国内的制造型企业还是互联网方面的IT业公司,均已意识到信息技术在办公中的作用是公司成长的一大要素。企业提高自动化信息办公的水平,就可以提高日常的办公效率,节省大部分的工作流程。企业从传统办公模式逐渐发展成信息化办公模式就是企业管理水平与办公共享水平的体现。

本次系统的设计将以自动化和共享为基础进行研究,将办公平台的诸多优势发挥出来。企业和机构可以通过该系统提升信息化的工作模式,在共享自动化的背景下,让工作人员通过这种工作模式加深对工作流程的理解和管理,同时,系统的使用还将提升领导和员工之间的交流,使员工可以及时的反映工作情况和领导决策的及时传达。

2章相关技术

2.1开发语言

2.1.1JAVA

JAVA语言在本系统中主要用于代码编写、功能开发等。在共享办公自动化处理系统的开发时,需要用到JAVA语言的动态性,通过其线程功能实现系统功能的共同使用,即在使用一个功能时可以对其他功能进行操作,若开发时没有线程的使用,那么将会发生使用单一功能时无法进行其他操作[1]。在使用JAVA进行后台代码编写时,对SSM的三个层进行类的设计,即在控制层中进行类的设计,其他几个层通过继承进行类的读取,然后通过JAVA语言的开发特性进行代码程序编写,形成一套完整的共享办公系统功能。

2.1.2页面设计语言JSP

JSP的中文名是JAVA服务器页面,其在本程序中的主要作用为设计网页的页面。JSP在页面开发上基于JAVA语言,利用这个可以在开发程序时将后台程序编写结束以后进行设计JSP页面。系统各功能在使用JAVA语言开发结束以后,使用JSP语言进行页面的设计,比如说工作日志等功能,通过JAVA将功能实现以后,其显示在Web端的页面布局用JSP进行实现,其功能显示位置、颜色等均用JSP语言解决。

2.1.3MySQL数据库

MySQL数据库在系统中的应用为管理系统使用时所产生的数据,且在系统开发时进行相应的表设计,MySQL数据库中的每一个表均对应其所需要存储信息的功能,如:user表就是系统使用时存储用户信息的数据表。在使用数据库时,通过JAVA语言对数据库进行操作,先建立链接,然后对表进行读写,完成系统使用时的一系列数据操作。MySQL数据库的应用有助于系统功能在使用时,进行有效的数据存储,且能在必要时进行数据的读取,MySQL将系统的数据分表保存,在查找和更改时可以节省很多的不必要时间。

2.2开发工具

2.2.1IntelliJIDEA

本系统的开发语言是JAVA语言,IDEA是JAVA编程语言的集成开发环境,所以该设计使用IDEA作为开发工具。在程序的设计中,IDEA有很丰富的导航模式,可以根据提示写出需要的JAVA类,节省了很多的开发时间,同时还支持JAVA语言的编码辅助,将设计过程从传统的开发中解放出来。

2.2.2Tomcat

Tomcat是启动程序设计的一种服务器,它可以工作在操作系统中也可以操作在数据库之上,供应用与程序之间连接的一种技术。它在程序中的存在可以方便程序各部分之间的沟通,特别是功能模块之间的集中逻辑,是一种独立的服务器程序。Tomcat服务器的基本特点就是开源和免费,主要应用于Web应用和启动JSP显示的HTML页面。本系统开发和调试JSP就选用Tomcat。

2.2.3NavicatPremium

Navicat是一款简单实用的数据库管理工具,在进行数据库的开发与实现时,通过Navicat对数据库进行管理,在查找和读取数据表时,可以直接进入Navicat中进行直接查找,对于数据库的使用来说,Navicat是便捷且功能强大的。除去在IDEA中设计与操作数据库以外,Navicat中也可以进行数据库的设计,用的是标准的SQL语言,可以在Navicat中进行数据库的相关设计,然后将代码复制到IDEA中的数据库操作代码模块中,可以节省代码的开发时间,降低数据库的开发难度。

3章系统需求分析

3.1可行性分析

系统的可行性分析是开发系统前要考虑的重要因素,其中包括经济、技术、法律、操作、安全等方面。当这5个方面均满足时,才能保证系统的正常开发。

3.1.1技术可行性分析

共享办公自动化处理系统的开发使用JAVA语言,框架使用SSM框架,皆在大学四年课程所学知识以内,且后台数据库使用MySQL,前台运用JSP技术进行页面显示。四个相关技术决定了开发方式能够充分确保数据库和代码之间的各种关联性。

Controller控制层负责接收浏览器的请求。

JAVA实现后台业务逻辑控制和代码编写。

JSP负责Web页面的显示设计。

MySQL存储开发和测试过程中产生的相关数据。

Tomcat启动项目。

3.1.2操作可行性分析

办公系统需要一个简洁、直观的界面,是服务于机构及企业内的所有使用人员。将整体需求划分为多个大模块,将子功能设计为小模块。整个系统的使用流程清晰且页面布局在功能上明确,能够帮助使用者在使用系统功能时进行准确的定位。只要确保基础功能和主要功能能够运行且使用便捷,那么就可以满足操作可行性分析的需求。

3.1.3安全可行性分析

为保证系统安全,开发时计算机将处于局域网或无网络状态,且计算机不联网系统也不入网,且开发时不将防火墙关闭,保证杀毒软件的正常运行。在系统开发结束以后,采用B/S结构模式,系统的整体管理交给超级管理员,其他账号的权限由管理员进行分配,对应权限能使用对应功能,这样可以保证系统的功能在正常使用时不会被恶意删除。

3.1.4经济可行性分析

系统的开发需考虑多个经济方面的限制,如:开发工具的费用、系统维护费用、管理工具的费用。根据开发工具及安全可行性分析来看,所有的开发工具、管理工具的使用费用均在我的承受范围之内可以进行开发,且系统并不入网,后续的维护由开发人员自行维护即可不会产生相应的费用问题故系统开发过程中的经济问题是可行的。

3.1.5法律可行性分析

根据第二章的相关技术来看,所有开发此系统所要用到的开发语言、开发工具等均是合法的成品软件,且已被应用授权。在开发时所有的功能与技术问题均为本人自行设计,不存在抄袭等,若有雷同也是所有共享自动化办公系统所必要有的内容,所以法律可行性在本系统的开发中是可行的。

3.2功能需求分析

3.2.1后台管理员权限管理功能

权限管理功能主要是用于公司最高级别的领导层,他拥有系统的全部管理权限,同时也可以为其他管理层以及普通职工进行分配权限。超级管理员可以对部门进行管理,发送工作任务和日常公告等,其他管理层登陆系统时只享受自己账号所具备的权限。权限管理功能的存在可以解决系统管理问题,通过系统管理问题可以解决非领导层的人员越权使用系统,既保证系统的安全性也保证了系统的隐私性[2]

3.2.2日常办公功能

日常办公功能为所有使用该系统的工作人员所必须要有的功能,是共享自动化办公的最重要功能之一。此功能负责处理日常办公所需,查看工作计划根据办公需求指定工作流程等。日常办公需求中的功能及其内容的发布,一般情况下是部门的管理层进行发布,他们将日常工作所需、工作任务、工作文件等下发到对应的子功能中,由普通员工进行读取,完成公司日常工作中的办公需求。

3.2.3消息管理功能

消息管理也是主要功能之一,其中包括公司不定时、不定次的消息推送,以及公司下发的各项通知,这类功能就是将纸质版的通知内容以及下发的消息变为网络化办公,其下发模式是一对多模式,可以以一个端点发送相关消息多个端点共同读取。消息管理可以进行快捷沟通,除消息推送以外还有讨论,员工可以在对应功能中进行讨论,免去了互相询问与等待的时间。

3.2.4考勤功能

共享办公自动化处理系统还有一个重要的设计模块就是考勤,公司员工上班打卡、请假等,系统可以记录打卡时间和打卡次数,也可以将请假时间、原因等进行汇总。考勤功能主要应用人群就是普通员工,普通员工的出差、外出办公等也需要该功能进行记录。考勤功能为系统最主要的功能,节省了日常办公中传统记录上班情况的时间,也保证了考勤方面的准确性[3]。

3.2.5文件管理功能

文件管理功能负责管理、存储日常办公中所产生的各类文件、档案等,此类文件可以通过特定的软件进行制作,然后将文件发送到系统中进行统一化管理。文件管理功能普通管理员(部门领导)享受部门权限,可以对文件、档案进行增删改查,而全权限的管理依旧为超级管理员所用,他可以保证日常的文件档案不被恶意删除或误删。

3.3系统需求概况

本系统的设计应用范围为各类企业,用户为各机构与企业内部的领导、管理层、员工等。共享自动化办公系统,面向单位内的所有使用人员,可以查询和发布以及共享工作信息资源,将纸质化办公的内容全部应用在计算机办公中,这样能够更好更妥善的处理日常工作的相关事务。通过共享办公自动化处理系统,有效的结合公司文化与企业管理中的各个方面,使各层领导与员工之间的办公需求得到满足。同时也为普通的办公人员提供更贴合的个性化服务[4]。

3.4数据库需求分析

系统进行数据存储的时候需要根据使用需求来设计:

1)数据存储时,其结构应该集中化。通过集中化管理创造一个高可靠性和安全性的存储环境,以此来构建办公自动化系统存储模式。(2)提高存储架构的性能,系统存储数据以后,其数据需要支持多个多服务器进行共同读取,其读取的I/O性能高才能满足任意一个单位的读取需求。(3)将数据库的设计模式进行到可扩展化,结合国家各个机构与各类企业的情况,可扩展化的数据库能根据数量变化情况通过可扩展性满足对数据库系统的操作。(4)数据库的管理工具:数据库的管理工具需要贴合数据库的使用模式,根据市面上已有成品的办公系统来说,Navicat是最好的选择,因为它可以将数据数据库的数据进行分类管理。

4章 系统的概要设计

4.1系统架构

本系统的架构模式采用B/S架构,此结构使用浏览器/服务器的结构模式,用户可以将系统完全通过域名进行页面实现。在该结构中,用户的工作界面使用于Web浏览器,且B/S架构的模式形成了三层结构,这样可以大大简化系统的运行负荷,减轻了后续维护的工作量[5]。从该系统的开发方式上来看,应用的为本地服务器与网络,是通过Internet/Intranet模式进行数据库应用,相对于将系统入网来说,更容易把握,开发时间也是最低的,并且B/S架构模式可以用不同的方式接入访问和操作数据库,能够有效的保护数据平台和相关的访问权限。对于JAVA开发的程序来说,B/S架构管理系统更为高效和快捷。

4.2功能模块概要设计

4.2.1管理员功能概要设计

根据权限管理的需求分析来看,超级管理员可以对整个系统进行全权限的管理,而普通管理员和员工只享受超级管理员赋予的部分权限。超级管理员和普通管理员可以将工作需要的邮件、档案发送到系统中,需要用到的工作人员可以及时的读取或下载。超级管理员和普通管理员还负责发布、更新消息推送的内容以及日常通知的内容,且普通管理员应该具备审核的权限。

4.2.2日常办公概要设计

共享自动化办公的基本概要设计根据系统的需求分析进行,将消息推送、邮件管理、日常办公、档案管理、考勤打卡、通知管理和请假管理等全部功能均设计在系统中。日常办公所用到的功能根据需求分析和市场调研无非就是这几种,若是需要更新和从创新则在后续的学习与开发中逐渐完善。日常办公模块中需要增加工作日志、个人工作日志、工作任务和日程安排这四个子功能,这四个子功能组成的日常办公模块为办公中所需的基本,具体的详细设计将在下一章中明确。

4.2.3自动化消息管理概要设计

公司的日常信息通知、文件下发等,传统的工作模式均是用人进行逐一下发、通知,把这两个功能搬到系统中后,领导层可以将文件发送到邮件管理、档案管理中,这样可以形成一对多进行多人读取的方式,节省大量的办公时间和文件成本,为新型办公模式提高工作效率。

4.2.4自动化文件管理概要设计

对于信息管理来说,公司每天的日常办公会下发很多的通知和一些消息推送,这类信息存储进系统中方便工作人员在第一时间就能收到,且解决了纸质版文件存储方式较难且不易寻找等问题[6]。

4.2.5考勤打卡功能概要设计

考勤打卡功能为公司或机构办公的基础功能,用于记录公司的考勤情况,员工登陆系统以后可以在系统打卡管理中进行管理,打卡过的记录将保存在打卡时间管理和打卡记录管理中。该模块的设计将请假管理也列为考勤打卡功能的一项,因为请假就会在打卡记录中处于缺勤状态,将请假信息和时间以及内容保存在请假管理中,方便公司对日常考勤的记录。

4.3数据库设计

数据库的设计可以将系统数据所需的要求明确的进行表达,按照使用的用户进行可能需求分析设计,通过可能分析进行建立信息存储模型。数据库的模型E-R图可以很好的解决这一问题。通过对实体的控制、处理和描述实体之间的关系,进行数据实体属性的对应管理。一般实体属性之间的对应管理分为三种:1对1;1对n;n对n。本节通过设计出数据模型E-R图来使各实体之间的关系更加清晰,也可以在设计过程中使自己明确各个实体属性之间的对应关系,以防止造成不必要的数据操作[7]。

4.3.1数据表设计

系统数据库的表设计有多个方向,由于数据表设计的表和字段过多,只挑其中较为重要的四个表进行设计,其中有:管理员表、员工信息表、通知管理表、公告信息表。系统管理员表用于存储管理员相关数据,包括管理员的用户和密码等。

员工信息表用于存储员工的相关个人信息,员工的个人信息存进数据库中也方便员工所属领导进行实时调取。员工信息表如表4-2所示。

4-2员工信息

邮件管理信息表用于存储下发的邮件,以前下发的文件也在此功能和信息表中进行存储,方便日后需要时查阅。邮件管理表如表4-3所示。

4-3邮件管理

通知管理信息表用于存储企业和机构的日常通知信息,通知信息一般只需要记录通知标题、通知发布人、通知内容等就可以。通知管理信息表如表4-4所示

4.4SSM框架

SSM框架将系统分为三个层进行控制。其中的C层(控制层)将接收用户的请求,通过调用Model进行请求处理,然后自动选择对应的视图返回给用户[8]。M层在本程序中作为业务处理来使用,这个层接受控制层Controller的调遣,处理控制层的业务与数据。视图层就是为了将信息处理结果以视图的形式返回给用户,但是结果的返回不一定是给客户,也可以返回给浏览器和应用程序。对于SSM框架中的MyBatis来说,这是一个帮助开发人员处理数据库的框架,可以将该设计中的数据表翻译成“类”,表字段所对应的类型就会翻译成类的字段,记录则翻译成对象,这些操作均需要在程序设计中自行定义[9]。SSM框架在本文的架构作用如图4-4所示。

5章 系统的详细设计与实现

5.1 日常办公模块

根据上一章的概要设计进行日常办公模块的详细设计,将日常办公模块中办公所需的工作日志、个人工作日志、工作任务和日程安排等放到日常办公功能中,通过这四个子功能完成日常办公的所需。

5.1.1 工作日志

工作日志的实现为日常办公中超级管理员或领导层下发给工作人员的工作情况,同时该功能的实现主要是为了 记录日常办公的工作情况,将工作情况进行记录与汇总,方便在日后考核中查看。 工作日志功能部分实现代码如下:

public void outPartitionExcel(HttpServletResponse response, PageBean<JobRecord> pageBean,

JobRecord jobRecord) throws Exception {

// PageBean<JobRecord> pageBean1 = jobRecordService.findList(pageBean, jobRecord);

List<JobRecord> all = jobRecordService.findAll();

// List<JobRecord> Partitions=pageBean1.getContent();

String title = "工作日志";

String[] rowsName = new String[] {"序号","工作标题","工作内容","发布人","发布时间"};

List<Object[]> dataList = new ArrayList<>();

Object[] objs = null;

for(int i=0; i<all.size();i++) {

JobRecord main = all.get(i);

objs = new Object[rowsName.length];

objs[0] = i;

objs[1] = main.getLogTitle();

objs[2] = main.getLogContent();

objs[3] = main.getUser().getUsername();

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");

String date = df.format(main.getCreateTime());

objs[4] = date;

dataList.add(objs);

}

ExcelUtil ex = new ExcelUtil(title, rowsName, dataList);

ex.export(response);

5-1 工作日志功能实现图

5.1.2 工作任务功能实现图

工作任务为日常办公中最重要的功能,超级管理员和领导层可以将日常工作中的各项任务发布在系统中,工作 人员通过系统中的任务功能查看一天的工作内容,通过这一功能,所有办公人员均可以进行一天的工作安排,节省 了传统办公模式下发工作的时间。工作任务部分实现代码如下所示:

public void outPartitionExcel( HttpServletResponse response,PageBean<Task> pageBean,Task task)

throws Exception {

// PageBean<Task> pageBean1 = taskService.findTaskList(pageBean, task,SessionUtil.

getLoginedUser().getId());

// List<Task> Partitions=pageBean1.getContent();

List<Task> executor = taskService.findExecutor(SessionUtil.getLoginedUser().getId());

String title = "个人任务信息";

String[] rowsName = new String[] {"序号","任务标题","任务内容","发布人","执行时间"};

List<Object[]> dataList = new ArrayList<>();

Object[] objs = null;

for(int i=0; i<executor.size();i++) {

Task main = executor.get(i);

objs = new Object[rowsName.length];

objs[0] = i;

objs[1] = main.getTaskTitle();

objs[2] = main.getTaskContent();

objs[3] = main.getPublisher().getUsername();

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");

String date = df.format(main.getExecutionTime());

objs[4] = date;

dataList.add(objs);

}

ExcelUtil ex = new ExcelUtil(title, rowsName, dataList);

ex.export(response);

5.2 消息功能模块

5.2.1 消息推送

消息推送模块用于处理日常的消息发布问题,可以由管理员将消息发送到指定的工作人员系统中,并且将是否 推送问题进行记录。该功能将记录消息标题、发送时间、发布人、接收对象等,通过这些来记录日常办公中的消息 推送问题。

消息推送功能部分实现代码如下:

public Result<Boolean> add(MessagePush messagePush){

Date date = new Date();

if (messagePush.getSendTime()!=null){

if (messagePush.getSendTime().getTime() < date.getTime()){

return Result.error(CodeMsg.MESSAGE_PUSH_ADD_ERROR1);

}

}

if(messagePush.getDepartment() == null){

return Result.error(CodeMsg.MESSAGE_PUSH_ADD_ERROR2);

}

if (messagePush.getSendTime()==null){

messagePush.setSendTime(date);

}

User loginedUser = SessionUtil.getLoginedUser();

messagePush.setSender(loginedUser);

//用统一验证实体方法验证是否合法

CodeMsg validate = ValidateEntityUtil.validate(messagePush);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

}

System.out.println(messagePush);

//到这说明一切符合条件,进行数据库新增

if(messagePushService.save(messagePush) == null){

return Result.error(CodeMsg.MESSAGE_PUSH_ADD_ERROR);

}

operaterLogService.add("添加消息推送,消息标题:" + messagePush.getEmailTitle());

return Result.success(true);

5.2.2 通知管理

通知管理记录日常工作中公告的标题、内容和发布部门等。此功能将日常的公司公告进行汇总,方便统一管理 和查询。

通知管理部分实现代码如下:

public Result<Boolean> add(Inform inform){

if (inform.getContent()==null){

return Result.error(CodeMsg.INFORM_ADD_CONTENT_NULL);

}

if(inform.getArticleTitle()==null){

return Result.error(CodeMsg.INFORM_ADD_ARTICLE_NULL);

}

if (inform.getDepartment()==null){

return Result.error(CodeMsg.INFORM_ADD_ARTICLE_NULL1);

}

inform.setReleaseTime(new Date());

//到这说明一切符合条件,进行数据库新增

if(informService.save(inform) == null){

return Result.error(CodeMsg.ADMIN_USE_ADD_ERROR);

}

operaterLogService.add("添加通知,标题:" +inform.getArticleTitle());

return Result.success(true);

5.3 打卡功能模块

打卡功能模块由打卡记录和打卡时间管理两个子功能组成。打卡时间管理用于记录日常上下班的打卡时间,打 卡记录负责记录全部的打卡信息,以便进行满勤统计。

打卡功能部分实现代码如下:

public class WorkTimeController {

private WorkTimeService workTimeService;

public String show(Model model){

model.addAttribute("workTimeList",workTimeService.findAll());

return "admin/workTime/show";

}

* 查询所有的工作时间安排

public String findAll(Model model){

model.addAttribute("workTimeList",workTimeService.findAll());

return "admin/workTime/list";

}

* 判断是否可以继续添加工作打卡时间安排

public Result<Boolean> judge(){

if(workTimeService.findAll().size() > 4){

return Result.error(CodeMsg.WORK_TIME_SIZE_ERROR);

}

return Result.success(true);

5.3.1 请假管理

在概要设计中,将请假管理模块和打卡管理设计为打卡管理,因为公司员工请假时是无法进行打卡的,该记录 需要独立进行保存,个人打卡记录列表中若因请假产生无打卡记录则通过管理员进行记录。具体实现如图5-7所示。

请假管理部分实现代码如下所示:

public String list(Model model, PageBean<UserWorkTime> pageBean, UserWorkTime userWorkTime,

@RequestParam(name = "username",required = false) String username,

@RequestParam(name = "severalWeeks",required = false) String severalWeeks) {

model.addAttribute("pageBean", userWorkTimeService.findList(pageBean,username,severalWeeks));

model.addAttribute("username", username);

model.addAttribute("severalWeeks",severalWeeks);

model.addAttribute("title", "打卡记录列表");

return "admin/userWorkTime/list";

5.4 后台管理员功能

5.4.1 部门管理

后台管理员根据需求分析和概要设计来说,需要对公司各部门和各类人员进行管理,将不同的工作人员和管理 层汇总到对应的部门中,可以方便在管理中进行查询和汇总。

部门管理功能实现部分代码如下:

public Result<Boolean> edit(Department department){

//用统一验证实体方法验证是否合法

CodeMsg validate = ValidateEntityUtil.validate(department);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

}

if(department.getNote().length()>50){

return Result.error(CodeMsg.DEPARTMENT_LENGTH_EXIST);

}

//判断部门名称是否存在

if(departmentService.isExistName(department.getName(), department.getId())){

return Result.error(CodeMsg.ADMIN_DEPARTMENT_NAME_EXIST);

}

//到这说明一切符合条件,进行数据库保存

Department findById = departmentService.find(department.getId());

//讲提交的用户信息指定字段复制到已存在的department对象中,该方法会覆盖新字段内容

BeanUtils.copyProperties(department, findById, "id","createTime","updateTime");

if(departmentService.save(findById) == null){

return Result.error(CodeMsg.ADMIN_DEPARTMENT_EDIT_ERROR);

}

operaterLogService.add("编辑部门,部门名:" + department.getName());

return Result.success(true);

5.4.2 岗位管理

根据需求分析和概要设计来看,超级管理员(公司最高领导层)需要为每一个普通管理员(管理层)进行权限 分配,各管理层根据职位大小享用相关权限。

岗位管理部分实现代码如下:

public String add(Model model){

List<PositionManagement> findAll = positionManagementService.findAll();

model.addAttribute("title","岗位列表");

model.addAttribute("topPositionManagements", PositionManagementUtil.getTopPositionManagements

(findAll)); model.addAttribute("secondPositionManagements",PositionManagementUtil.

getSecondPositionManagements(findAll));

return "admin/positionManagement/add";

5.5 文件管理功能

5.5.1 档案管理

档案管理的实现为管理日常办公中产生的工作档案,该功能可以对档案进行增加或删除,不同权限的工作人员 可以对该功能进行设置。在日常工作中也可以根据需求查看档案内容。

档案管理部分实现代码如下:

public String recordlist(Model model,Document document, PageBean<Document> pageBean,

@RequestParam("id")Long recordId){

model.addAttribute("title", "文档列表");

model.addAttribute("filename",document.getFilename());

model.addAttribute("recordId",recordId); model.addAttribute("pageBean",documentService.

findAllByRecord(pageBean,recordId,document));

return "admin/document/list";

5.5.2 邮箱管理

邮箱用于存储和管理工作中的邮件,此功能中可以写邮件、发邮件,或将要发送的邮件先写完存为草稿,需要 的时候再发,将收到的邮件存储进收件箱中,用于统一管理和方便查询。邮箱中的回收站则负责存储删除掉的邮 件。

邮箱管理功能部分实现代码如下:

public String show(Model model,@RequestParam(name="id",required=true)Long id){

//查询这条邮件的信息

model.addAttribute("emailDelivery",emailDeliveryService.find(id));

//查询用户列表作为收件人

model.addAttribute("recipients",userService.findAll());

model.addAttribute("attachmentList",emailDeliveryAttachmentService.findByEmailDelivery_Id(id));

return "/admin/emailDelivery/show";

}

* 查看草稿箱内的的邮件信息

public String edit(Model model,@RequestParam(name="id",required=true)Long id){

//查询这条邮件的信息

model.addAttribute("emailDelivery",emailDeliveryService.find(id));

//查询用户列表作为收件人

model.addAttribute("recipients",userService.findAll());

model.addAttribute("attachmentList",emailDeliveryAttachmentService.findByEmailDelivery_Id(id));

return "/admin/emailDelivery/edit";

}

* 写邮件页面

public String add(Model model){

User loginedUser = SessionUtil.getLoginedUser();

model.addAttribute("title","写邮件");

model.addAttribute("sender",loginedUser);

model.addAttribute("recipients",userService.findAll());

return "/admin/emailDelivery/add";

结论

本文基于JAVA编程语言设计了一个共享办公自动化处理系统,并实现将传统的办公模式的自动化与流程化,本系统采用的是JAVA代码开发模式,框架使用SSM框架,前台运用JSP技术进行页面显示,后台数据库使用MySQL进行管理。论文首先介绍了自动化办公选题背景及意义、国内外共享办公自动化处理系统研究情况以及论文的组织结构;其次对系统的技术路线以及研究方法进行介绍;对系统的需求进行分析,包括:功能需求、性能需求、安全需求以及软硬件需求;介绍系统的总体设计过程,包括:系统构架、系统前台、系统后台、数据库设计;最后对系统的设计过程进行实现与测试。

目前系统已经可以投入运营,在系统的研究与开发过程中,由于开发条件和个人能力有限,无论在系统的设计还是实现技术上都还存在一些局限性。在开发的过程中,也发现了一些新的方法和功能,本系统所属的SSM框架的应用可以直接应用到系统中,这体现程序的可扩展性,但是由于技术问题,设计的共享办公自动化处理系统还存在一定的不足,在未来的应用与发展中还需要不断的改进。

参考文献

[1]高源.计算机软件开发中JAVA编程语言的应用[J].网络安全技术与应用,2021(01):40-42.

[2]胡潇文,章玲,宿建春,张娜.自动化办公系统研发及应用[J].信息系统工程,2020(10):104-105.

[3]佟双.自动化办公系统设计开发与应用[J].信息系统工程,2020(05):26-27.

[4]王晨,刘鹏博,冯双昌,刘小畅.共享办公自动化系统需求分析及设计[J].中国科技信息,2021(Z1):67-69.

[5]WenjuanXu.WebDesigningHandbook[M].TritechDigitalMedia:2018-08-23.

[6]廖焕双.基于工作流的共享办公系统设计与实现[D].广西大学,2019.

[7]刘成.共享办公管控系统的设计与实现[D].电子科技大学,2019.

[8]JohnsonCarlaC..NewDirectionforSSMJournal[J].SchoolScienceandMathematics,2021,121

(1).

[9]邱丹萍.Web开发中SSM框架的分析[J].电脑知识与技术,2020,16(17):81-82.

[10]彭正鹏,毛习涛,谭兆金,孙新杰.JAVA编程语言在计算机软件开发中的应用[J].电脑知识与技术,2021,17(02):54-55.

[11]石怡.基于MySQL数据库的查询性能优化研究[J].四川职业技术学院学报,2021,31(01):164-168.

[12]Anonymous.Navicat[J].DatabaseTrendsandApplications,2018,32(6).

[13]陈恒,楼偶俊,巩庆志,张立杰.SpringMVC开发技术指南(微课版)[J].计算机教育,2021(01):176.

[14]黄一晟.Web端界面设计与实现——以某理财网站页面设计为例[J].科技传播,2020,12(07):138-140.

[15]Anonymous.Navicat[J].DatabaseTrendsandApplications,2018,32(6).

致 谢

行文至此,就要跟求学生涯告别,跟生活城市告别,跟学生时代彻底告别。悉数过往,思绪万千,久久不能平静。在这几年里,有过消沉、有过绝望、有过崩溃,但从未放弃,我始终坚信人生没有白走的路。年历练,让我成为一个意志力更加坚定,目标更加明确的人。抱着对未来的憧憬,在此向年来给予我关心、支持和帮助我的良师益友、亲人致以最真挚的谢意。

首先感谢我的家人,父母之爱子,则为之计深远。感谢您们二十余载的悉心培养和默默支持,我知道这几年家里有多不容易,感谢您们一直做了我坚定的后盾,给予了我最大的鼓励和支持。养育之恩,无以言表,我会继续努力,永远做您们的骄傲。桃李不言,下自成蹊。感谢我的导师不仅在学业上给予我以悉心指导,更在思想、生活上给予了我关心和帮助。您那句“量变引起质变”一直鼓舞着我,别放弃,胜利就在咫尺间。

其次感谢一直支持我的朋友们!我的朋友,感谢你们一直陪伴我走过了最艰难的日子。岁月虽清浅,时光亦潋滟,感谢我的三位舍友,在学习和生活上都给予了我莫大的帮助,同窗之谊,终身难忘。愿此去前程似锦,未来可期。

最后感谢自己,你很棒!在最孤独无助的时候,你也没有放弃自己,在最艰难的时候,你也做了父母的后盾,成为了他们的依靠。关关难过关关过,长路漫漫亦灿灿,纵然前路未知,你也一定要坚定走下去,保持热爱,保持理智,不辜负这一路走来的付出。

不易,坚持不易。望从吾辈仰望星空!

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接