OA系统系统设计
作者:企起期小编 阅读次数:

1 引言

OA系统对于提升企业和政府单位的办公效率有非常重要的意义,其应用之广泛无需多言。由于机构内部业务的复杂性、多种人员身份,以及不同组织间办事流程的差异性,同时兼顾严谨和灵活导致OA的功能逻辑极其复杂。体现其复杂性的一个代表功能就是流程,

2 引用文档

1) 《OA系统可研分析》

2) 《OA系统需求分析》

3 技术路线选择

3.1 系统体系结构

目前软件系统体系结构分为2种:

1) C/S结构,Client/Server (客户机/服务器)结构。该结构由客户机和服务器两部分组成,需要在客户机上安装特定的客户端应用程序,与服务器上的数据库管理系统进行直接交互。

2) B/S结构,Browser/Server (浏览器/服务器)结构。它是随着Internet技术的兴起,对C/S结构的一种化或者改进的结构。在这种结构下,绝大部分事务逻辑web服务器上的web应用服务实现客户端只需要通过Web浏览器访问Web应用服务即可进行业务处理。

两种结构的对比分析如下表所示:

对比项目

C/S结构

B/S结构

客户机响应速度

高。客户端应用程序参与业务处理

低。浏览器只进行显示,不参与处理

运行环境兼容性

一般。针对不同类型或版本的操作系统需开发不同的客户端应用程序

较好。可直接利用操作系统自带的web浏览器,无需安装其他程序

显示效果和用户体验

效果丰富,交互体验好

效果一般,交互体验一般

维护和升级

复杂,需维护每一台客户机

简单,只需维护服务器

数据传输方式

通过TCP(Transmission Control Protocol,传输控制协议)建立连接并保持

客户机的web浏览器通过HTTP(HyperText Transfer Protocol,超文本传输协议)与服务器交互

数据传输效率

高,由于保持与客户机的连接,服务器可直接推送数据至客户机

一般,每次传输时客户机需要重新建立与服务器的连接并发送请求

支持用户并发数

低。客户端的应用程序直接与数据库交互,并一直保持与数据库的连接,使用户并发数扩充受到限制

高。交互完即释放连接以供复用,支持用户并发数高

适用场景

小范围内部局域网络

大规模网络应用系统

本系统拟部署运行在公司内部局域网络中,涉及的计算机终端多,相比之下,B/S结构在各方面的对比上更具优势,因此采用B/S结构进行建设更为合适。

3.2 系统技术途径

3.2.1 基于SpringBoot的平台开发

本软件基于SpringBoot的平台技术进行开发,Spring Boot是一个开源的Java开发框架,它简化了Spring应用程序的开发和部署过程。它提供了一种快速构建独立、可部署的Spring应用程序的方式,同时也提供了一些默认的配置和约定,使得开发者可以更加专注于业务逻辑的实现。

Spring Boot的特点包括:

简化配置:Spring Boot通过自动配置和约定大于配置的原则,减少了开发者需要手动配置的工作,大部分情况下只需要少量的配置即可运行应用程序。

内嵌服务器:Spring Boot内置了Tomcat、Jetty等常用的Web服务器,可以直接运行应用程序,无需额外安装和配置。

自动装配:Spring Boot根据应用程序的依赖关系自动装配所需的组件,大大简化了开发过程。

简化部署:Spring Boot可以将应用程序打包成可执行的JAR文件,方便部署和分发。

提供丰富的功能:Spring Boot提供了很多开箱即用的功能,如安全认证、数据库访问、缓存、消息队列等,开发者可以直接使用这些功能,而无需自己实现。


3.2.2 Vue.js

Vue.js是一种用于构建用户界面的渐进式JavaScript框架。它被设计为易于理解和集成的,可以逐步应用到现有项目中。Vue.js的核心库只关注视图层,易于与其他库或现有项目集成。它也可以通过配合使用其他工具和库来构建复杂的单页应用。

Vue.js采用了组件化的开发方式,将页面拆分成多个独立的组件,每个组件都包含了自己的逻辑和样式。这种组件化的开发方式使得代码更加模块化、可复用,并且易于维护。

Vue.js还提供了响应式的数据绑定和虚拟DOM的机制,使得开发者可以轻松地将数据和视图进行关联,并且在数据发生变化时自动更新视图。这种响应式的数据绑定使得开发者可以更加专注于业务逻辑的实现,而不需要手动操作DOM。

除此之外,Vue.js还提供了一些其他的特性,如指令、过滤器、插件等,使得开发者可以更加灵活地扩展和定制Vue.js的功能。

3.2.3 ElementUI

ElementUI是一套基于Vue.js的开源UI组件库,由饿了么前端团队开发并维护。它提供了一系列的高质量、易用且美观的组件,可以帮助开发者快速构建现代化的Web应用程序。

ElementUI的背景可以追溯到2016年,当时饿了么前端团队在开发自己的后台管理系统时,发现市面上缺乏一套完整的、易用的UI组件库。于是他们决定自己开发一套组件库,以满足自己的需求,并将其开源,供其他开发者使用。

ElementUI的特点主要体现在以下几个方面:

高质量的组件:ElementUI提供了丰富的组件,包括按钮、表单、表格、弹窗、导航等等,这些组件都经过精心设计和开发,具有良好的用户体验和可定制性。

易用性:ElementUI的组件都提供了详细的文档和示例,开发者可以很容易地理解和使用这些组件。同时,ElementUI还提供了一套基于Vue.js的命令行工具,可以帮助开发者快速搭建项目。

美观的设计:ElementUI的组件都经过精心设计,采用了现代化的扁平化风格,具有简洁、清晰的界面,能够提升用户的视觉体验。

响应式布局:ElementUI的组件都支持响应式布局,可以适应不同的屏幕尺寸和设备,保证在不同的平台上都能够正常显示。

ElementUI的优点主要包括:

社区活跃:ElementUI是一个开源项目,拥有庞大的开发者社区,可以获得及时的技术支持和更新。

生态丰富:ElementUI与Vue.js紧密结合,可以与Vue.js的生态系统无缝集成,如Vue Router、Vuex等。

可定制性强:ElementUI的组件都提供了丰富的配置项和插槽,可以根据项目需求进行定制。

国际化支持:ElementUI支持多种语言,可以满足不同地区用户的需求。

3.3 系统通信方案

基于HTTP的通信方案是一种基于超文本传输协议(HTTP)的通信方式,用于在客户端和服务器之间传输数据。它是一种无状态的协议,即每个请求和响应之间是独立的,服务器不会保留任何关于客户端的信息。

基于HTTP的通信方案通常包括以下几个步骤

1. 客户端发起请求:客户端通过发送HTTP请求向服务器请求数据。请求包括请求方法(如GET、POST等)、请求头(包含一些元数据,如Content-Type、User-Agent等)和请求体(可选,用于传输数据)。

2. 服务器处理请求:服务器接收到请求后,根据请求的方法和路径,执行相应的处理逻辑。这可能包括从数据库中获取数据、处理业务逻辑等。

3. 服务器发送响应:服务器处理完请求后,会生成一个HTTP响应,包括响应状态码(如200表示成功、404表示未找到等)、响应头(包含一些元数据,如Content-Type、Content-Length等)和响应体(包含实际的数据)。

      4. 客户端接收响应:客户端接收到服务器的响应后,根据响应的状态码和响应头进行处理。如果状态码表示成功,客户端可以从响应体中获取到所需的数据。

基于HTTP的通信方案具有以下特点

简单易用:HTTP协议的语义简单明了,易于理解和使用。

平台无关性:HTTP协议是基于文本的,不依赖于具体的操作系统或编程语言,可以在不同平台上进行通信。

可扩展性:HTTP协议支持扩展,可以通过自定义的请求头或响应头来传递额外的信息。

可靠性:HTTP协议使用TCP作为传输层协议,保证了数据的可靠传输。

无状态性:HTTP协议是无状态的,每个请求和响应之间是独立的,服务器不会保留任何关于客户端的信息。这使得服务器可以更好地进行负载均衡和扩展。

基于HTTP的通信方案广泛应用于Web开发、API接口设计等领域,是互联网通信的重要基础。

4 总体设计

4.1 设计思路和目标

4.1.1 设计思路

本软件的设计思路如下:

1) 提高工作效率

oa系统可以通过自动化流程、自动化任务分配等方式来提高工作效率。例如,当一个员工需要进行某一项任务的审批时,他只需在oa系统中填写相应表格,提交之后会自动转交到相关人员进行审批处理。这样可以大大节省时间,使整个流程更加高效。

2) 精确控制权限

OA系统可以针对不同岗位的员工开发不同的功能,确保公司内部文件记录的数据安全。

3) 电子化资产管理

OA系统对公司内部固定资产可以进行系统化的管理,确保每一件资产从采购至报废中的过程完全有据可查。

4) 基于平台和构件架构,兼容优秀操作系统,实现系统的统筹规划

OA系统在架构设计上遵循“统筹统一、兼容并顾”的原则,依据相应的标准,OA系统可以快速方便的实现与其他系统对接,实现用户的按需使用,数据统一管理,提供统一的访问视图,能够根据用户需求快速检索、获取及灵活组装、实现数据层面的按需获取。

4.1.2 设计目标

主要设计文档管理、流程审批、资产管理、日程管理等核心模块;整体软件的层次体系架构应当结构清晰、层次分明,体系的各组成要素、功能组件划分合理;系统内外接口应遵循标准技术体制和规范;应用软件设计模块化、标准化和便于扩展,可进行灵活组合。

4.2 系统组成

OA系统是智能化办公的重要组成部分,针对用户需求,OA系统主要由数据库访问、用户认证、用户管理,角色管理,菜单管理,权限管理,文档管理,日程管理,会议管理,资产管理,报销管理,证照管理,车辆管理,消息中心,我的流程,合同管理等多个模块组成,如下表所示。

序号

配置项名称

配置项英文代号

配置项功能简要说明

1.

数据库访问

DatabaseConn

数据库连接

2.

用户认证

UserAuth

登录认证及鉴权

3.

用户管理

UserManagement

管理系统的使用用户

4.

角色管理

RoleManagement

管理系统的使用角色

5.

菜单管理

MenuManagement

管理系统的功能菜单

6.

权限管理

PermissionManagement

管理角色的菜单权限

7.

文档管理

FileManagement

管理电子文档,word、pdf、txt、MD

8.

日程管理

ScheduleManagement

用户日程的管理

9.

会议管理

MeetingManagement

公司内部会议室和会议的管理

10.

资产管理

AssetsManagement

公司内部的资产的管理

11.

报销管理

ReimburseManagement

内部员工报销管理

12.

证照管理

LicenceManagement

公司各种证件的管理

13.

车辆管理

CarManagement

公务用车的管理

14.

消息中心

MessageManagement

内部邮件发送管理

15.

我的流程

MyProcess

用户申请审批的流程管理

16.

流程管理

ProcessManagement

系统流程的设置定义

17.

合同管理

ContractManagement

公司内部合同的管理

18.

日志

LogManagement

管理各类日志,例如操作日志,任务执行日志等

19.

国际化

i18n

通过语言配置文件实现国际,管理界面语言资源及显示语言切换

4.3 架构设计

OA系统按照上述配置项划分,系统架构设计如下图所示:

系统从总体架构上面划分为核心数据层、服务中间层和应用层。

▪ 核心数据层用来存储数据,按照业务数据的类型可以包括日志数据,用户数据,字典数据,资产数据,日程数据,合同数据,审批数据,异常数据等等,根据数据类型的不同,可以采用关系型数据库(例如Mysql、MariaDB等)进行存储,对于需要高速存取的数据,可以采用内存数据库或key-value数据库,例如Redis等。

系统总体框架按照MVC架构进行构建,其中模型、控制层对应到服务中间层进行实现,主要承担数据处理、业务逻辑及提供前端展现需要的数据处理服务功能,包括约束检查Job管理、异常处理、数据导入等内容。

应用层主要实现了系统的核心前端展现Portal门户,需要展现的页面元素和功能模块支持数据显示以及统计分析

4.4 部署设计

系统在物理上分为操作前端部分和服务后端部分,其中操作终端承载人机操作界面及部分业务逻辑,服务器端主要负责通用核心的业务功能以及数据持久化功能,具体如下图所示:

5 功能设计

5.1 数据库访问模块

5.1.1 功能描述

该模块的功能为软件的底层组件,负责与数据库的通信,任何与数据库访问的相关操作都需要通过该模块进行。数据库的连接是通过配置文件获取,当获取到连接信息后,通过代码动态设置数据库的连接相关信息进行数据库连接池创建。

5.1.2 输入

任何需要与数据库的操作。

5.1.3 处理过程

1) 通过配置文件得到相关的连接信息;

2) 建立与数据库的连接池;

3) 通过数据库连接调用对应的数据库语句

4) 数据库返回执行结果到数据库访问组件

5.1.4 输出

执行完数据库相关语句的结果,结果内容包括:

1) 数据库语句执行成功或失败

2) 数据库语句执行的异常信息

3) 数据库语句执行返回的结果集

5.2 用户认证模块

5.2.1 功能描述

模块的功能是为了对软件的操作者进行权限认证,以提高系统的安全性。

5.2.2 输入

1) 用户

2) 密码

5.2.3 处理过程

用户输入用户名和密码后,通过调用用户认证接口及权限管理服务验证当前登录用户的有效性,并返回验证结果。

当操作某一具体的功能模块时,权限认证服务向权限管理服务提交请求验证是否具有相关的访问权限,并返回结果。请求时的信息包括功能编号、用户账号等。

5.2.4 输出

返回成功或失败的信息。

5.3 日程管理模块

5.3.1 功能描述

该模块的功能是为了对用户的日程信息做一个记录、提醒的功能,方便用户能更好的规划自己的工作时间和自己的工作内容。包括新增,修改日程信息,删除等等。

5.3.2 输入

1) 日程名称

2) 日程内容

3) 重要程度

4) 开始时间

5) 结束时间

6) 备注

5.3.3 处理过程

用户录入日程相关信息后,点击确定进行数据提交。后台会在调用存储方法进行处理,并记录在数据库中。用户可以进行日程查看、修改、删除等操作。

5.3.4 输出

新增返回成功或失败的信息,列表查询返回一个数组列表和分页的信息。

5.4 会议管理模块

5.4.1 会议室管理

5.4.1.1 功能描述

该模块的功能是针对公司内部各个会议室的的管理记录,便于需要进行会议的时候能及时获取可用会议室的信息。包括新增、修改、删除、分页查看等等。

5.4.1.2 输入

  1. 会议室名称

  2. 会议室位置

  3. 最大会议认识

  4. 备注

5.4.1.3 处理过程

用户录入会议室信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行印章的查看、修改、删除、分页查看等操作。

5.4.2 会议记录管理

5.4.2.1 功能描述

该模块的功能是针对公司内部各种大小会议的管理记录,便于行政人员及时获取会议信息,提前作出对应安排。包括新增、修改、删除、分页查看等等。

5.4.2.2 输入

  1. 会议主题

  2. 会议主持人

  3. 会议室

  4. 开始时间

  5. 结束时间

  6. 预定人

  7. 参加人员

  8. 备注

5.4.2.3 处理过程

用户会议预约信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行印章的查看、修改、删除、分页查看等操作。

5.5 资产管理模块

5.5.1 办公用品

5.5.1.1 功能描述

该模块的功能是针对公司内部各种办公用的管理记录,便于统计公司内部办公用品的消耗,及时购买。包括新增、修改、删除等等。

5.5.1.2 输入

  1. 名称

  2. 编码

  3. 库存数量

  4. 领用数量

  5. 备注

5.5.1.3 处理过程

用户录入办公用品信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行办公用品信息的查看、修改、删除等操作。

5.5.2 办公用品申请

5.5.2.1 功能描述

该模块的功能是针对公司内部各种办公用品的申请管理记录,便于统计公司内部办公用品的消耗,包括新增、修改、删除等等。

5.5.2.2 输入

  1. 领用人

  2. 办公用品

  3. 数量

  4. 备注

5.5.2.3 处理过程

用户录入办公用品申请信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行办公用品申请记录的查看、修改、删除等操作。

5.5.3 资产信息管理

5.5.3.1 功能描述

该模块的功能是针对公司内部各种固定资产的管理记录,通过加强对固定资产管理,单位便随时能快速地了解从组建以来每年购置的全部资产状况包括新增、修改、删除、分页查看等等。

5.5.3.2 输入

  1. 资产编号

  2. 资产名称

  3. 资产类型

  4. 资产规格

  5. 库存数量

  6. 领用数量

  7. 备注

5.5.3.3 处理过程

用户录入资产相关信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行资产信息的查看、修改、删除等操作。

5.5.4 资产申购管理

5.5.4.1 功能描述

该模块的功能是针对公司内部固定资产的申请购买管理记录,包括新增、修改、删除、审批、分页查看等。

5.5.4.2 输入

  1. 申购人

  2. 申购资产

  3. 申购原因

  4. 备注

5.5.4.3 处理过程

用户录入需要购买的固定资产信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,之后会进行审批流程启动,针对该业务进行审批处理,审批过程当中可以进行撤回、修改等操作,审批完成之后只可以进行查看操作。

5.5.5 资产入库记录

5.5.5.1 功能描述

该模块的功能是针对公司内部固定资产申购完成后进行的入库管理记录,包括新增、修改、删除、审批、分页查看等等。

5.5.5.2 输入

  1. 申购单号

  2. 资产

  3. 验收日期

  4. 备注

5.5.5.3 处理过程

用户录入需要购买过需要入库的固定资产信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,之后会进行审批流程启动,针对该业务进行审批处理,审批过程当中可以进行撤回、修改等操作,审批完成之后只可以进行查看操作。

5.5.6 资产领用记录

5.5.6.1 功能描述

该模块的功能是针对公司固定资产领用的管理记录,包括新增、修改、删除、审批、分页查看等等。

5.5.6.2 输入

  1. 资产

  2. 编码

  3. 领用人

  4. 领用数量

  5. 备注

5.5.6.3 处理过程

用户录入需要领用的固定资产信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,之后会进行审批流程启动,针对该业务进行审批处理,审批过程当中可以进行撤回、修改等操作,审批完成之后只可以进行查看操作。

5.5.7 资产归还记录

5.5.7.1 功能描述

该模块的功能是针对公司内部员工人事变动或者其他原因造成的资产归还的管理记录,包括新增、修改、删除等等。

5.5.7.2 输入

  1. 资产

  2. 编码

  3. 归还人

  4. 归还时间

  5. 状态

  6. 备注

5.5.7.3 处理过程

用户录入待归还的资产信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行印章的查看、修改、删除等操作。

5.5.8 资产报废记录

5.7.1.1 功能描述

该模块的功能是针对公司内部固定资产在使用过程当中,使用年限过长或者不能完成工作的固定资产进行报废处理的管理记录,包括新增、修改、删除、审批等等。

5.7.1.2 输入

  1. 资产

  2. 编码

  3. 申请人

  4. 报废时间

  5. 报废原因

  6. 报废数量

  7. 备注

5.7.1.3 处理过程

用户录入需要予以报废的固定资产信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,之后会进行审批流程启动,针对该业务进行审批处理,审批过程当中可以进行撤回、修改等操作,审批完成之后只可以进行查看操作。

5.5.9 资产维修记录

5.7.1.1 功能描述

该模块的功能是针对公司内部正在使用的固定资产,出现故障导致需要进行维修管理记录,包括新增、修改、删除等等。

5.7.1.2 输入

  1. 资产

  2. 编码

  3. 申请人

  4. 保修日期

  5. 预计完成日期

  6. 微信费用

  7. 备注

5.7.1.3 处理过程

用户录入待维修的固定资产信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行印章的查看、修改、删除等操作。

5.6 报销管理模块

5.6.1 报销统计

该模块主要是针对公司内部所有人的报销记录进行一个图形化的展示,按照部门,报销类型,报销时间等不同的类型进行一个展示,方便公司管理报销相关的事务。

5.6.2 借款统计

该模块主要是针对公司内部所有人的借款记录进行一个图形化的展示,按照借款部门,借款人员,剩余未还借款部门,剩余未还借款人员等不同的方式进行一个展示,方便公司管理借款相关的事务。

5.6.3 借款管理

5.6.3.1 功能描述

该模块的功能是针对公司内部人员由于工作需要采取的借款的管理记录,包括新增、修改、删除、审批、分页查询等。

5.6.3.2 输入

  1. 借款原因

  2. 申请日期

  3. 借款金额

  4. 借款人

  5. 借款账户

  6. 备注

5.6.3.3 处理过程

用户借款相关信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,之后会进行审批流程启动,针对该业务进行审批处理,审批过程当中可以进行撤回、修改等操作,审批完成之后只可以进行查看操作。

5.6.4 报销管理

5.6.4.1 功能描述

该模块的功能是针对公司内部员工由于工作需要所进行的报销事务的管理记录,可以直接在报销过程当中进行借款的冲抵操作,包括新增、修改、删除、审批、分页查询等。

5.6.4.2 输入

  1. 单据类型

  2. 报销事由描述

  3. 申请人

  4. 申请账户

  5. 报销明细

  6. 报销总金额

  7. 冲抵借款

  8. 备注

5.6.4.3 处理过程

用户录入报销相关信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,之后会进行审批流程启动,针对该业务进行审批处理,审批过程当中可以进行撤回、修改等操作,审批完成之后只可以进行查看操作。

5.6.5 公司付款账户

5.6.5.1 功能描述

该模块的功能是针对公司内部各个付款账户的管理记录,包括新增、修改、删除、分页查询等。

5.6.5.2 输入

  1. 编号

  2. 账户名称

  3. 账户号

5.6.5.3 处理过程

用户录入账户相关信息后,点击确定进行数据提交。后台会在调用存储方法进行处理,并记录在数据库中。用户可以进行证件的查看、修改、删除等操作。

5.7证照管理模块

5.7.1 证照管理

5.7.1.1 功能描述

该模块的功能是针对公司内部各种执照证件的管理记录,包括新增、修改、删除、分页查询等。

5.7.1.2 输入

  1. 证件名称

  2. 证件描述

  3. 证件附近

  4. 签发日期

  5. 有效期

  6. 状态

  7. 备注

5.7.1.3 处理过程

用户录入证件信息后,点击确定进行数据提交。后台会在调用存储方法进行处理,并记录在数据库中。用户可以进行证件的查看、修改、删除等操作。

5.7.2 证照借用记录

5.7.2.1 功能描述

该模块的功能是针对公司内部各种执照证件的借用记录的管理,包括新增、修改、删除、分页查询等。

5.7.2.2 输入

  1. 证照选择

  2. 借用人

  3. 借用日期

  4. 预计归还日期

  5. 借用原因

  6. 状态

  7. 备注

5.7.2.3 处理过程

用户录入证件借用信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,并记录在数据库中。经过审批流程进行审批,通过之后可以进行借用的操作。用户可以进行借用记录的查看、修改、删除等操作。

5.8 印章管理模块

5.8.1 印章库

5.8.1.1 功能描述

该模块的功能是针对公司内部各种印章的管理记录,包括新增、修改、删除等等。

5.8.1.2 输入

  1. 印章名称

  2. 管理人

  3. 描述

  4. 状态

  5. 备注

5.8.1.3 处理过程

用户录入印章信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行印章的查看、修改、删除等操作。

5.8.2 印章借用记录

5.8.2.1 功能描述

该模块的功能是针对公司内部各种执照证件的管理记录,包括新增、修改、删除等等。

5.7.1.2 输入

  1. 印章选择

  2. 借用人

  3. 借用日期

  4. 预计归还日期

  5. 借用原因

  6. 状态

  7. 备注

5.8.2.3 处理过程

用户录入印章借用信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,并记录在数据库中。经过审批流程进行审批,通过之后可以进行借用的操作。用户可以进行借用记录的查看、修改、删除等操作。

5.9 车辆管理模块

5.9.1 车辆管理

5.9.1.1 功能描述

该模块的功能是针对公司内部各种公务车辆的管理记录,包括新增、修改、删除等等。

5.9.1.2 输入

  1. 车辆品牌

  2. 车牌号

  3. 车辆类型

  4. 购置日期

  5. 车辆状态

  6. 总行驶里程

  7. 备注

5.9.1.3 处理过程

用户录入印章信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行印章的查看、修改、删除等操作。

5.9.2 车辆借用管理

5.9.2.1 功能描述

该模块的功能是针对公司内部各种公务车辆的管理记录,包括新增、修改、删除等等。

5.9.2.2 输入

  1. 车辆选择

  2. 用车人

  3. 用车时间

  4. 预计归还时间

  5. 用车原因

  6. 备注

5.9.2.3 处理过程

用户录入印章信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行印章的查看、修改、删除等操作。

5.9.3 车辆维护管理

5.9.3.1 功能描述

该模块的功能是针对公司内部各种公务车辆的管理记录,包括新增、修改、删除等等。

5.9.3.2 输入

  1. 车辆选择

  2. 维护类型

  3. 维护人员

  4. 维护时间

  5. 维护花费

  6. 维护原因

  7. 备注

5.9.3.3 处理过程

用户录入印章信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行印章的查看、修改、删除等操作。

5.10 文档管理模块

5.10.1 功能描述

选定文档,输入想要问的问题,与该文档进行对话。

5.10.2 输入

1) 选定文档

2) 问题信息

5.10.3 处理过程

首先通过java端把问题发送到python中间层,其次调用OpenAI的embedding模型把问题进行向量化,再次通过LangChain的retrive功能从ChromaDB中得到匹配的文本切片,再然后组织问题及这些文本切片按照特定的prompt传递给OpenAI进行回答。

5.10.4 输出

返回OpenAI回答的信息。

5.11 消息中心模块

5.11.1 邮件模板

5.11.1.1 功能描述

该模块的功能是针对系统内部发送的邮件的模板的一个管理记录,包括新增、修改、删除等等。

5.11.1.2 输入

  1. 名称

  2. 主题

  3. 内容

5.11.1.3 处理过程

用户录入模板信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行模板的查看、修改、删除、发送邮件等操作。

5.11.2 邮件发送记录

5.11.2.1 功能描述

该模块的功能是针对系统内部邮件发送的记录的管理记录,包括查询、删除等等。

5.11.2.2 输入

该模块没有输入字段,只是作为记录进行展示。

5.11.2.3 处理过程

用户输入需要查询的条件之后(模板ID、收件人、状态),点击查询可以返回邮件发送记录的数据,在页面以列表的形式进行呈现。

5.12 我的流程模块

5.12.1 发起流程

5.12.1.1 功能描述

该模块的功能是对于整个OA产品内总的审批流程的一个汇总,可以直接在当前功能内进行各种流程的提交。

5.12.1.2 输入

  1. 根据流程的不同,所输入的内容也各不相同,可参考其他含有审批的模块的输入内容

5.12.1.3 处理过程

用户点击启动流程后,在弹出的页面录入相关的表单信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,并记录在数据库中。经过审批流程进行审批,通过之后可以进行其他的操作。用户可以进行流程记录的查看等操作。

5.12.2 我的待办

5.12.2.1 功能描述

该模块的功能是当前登录用户的所有需要处理的流程的一个汇总,用户可以在当前模块进行流程的审批通过,拒绝等操作。

5.12.2.2 输入

  1. 同意或者拒绝

  2. 审批意见

  3. 备注

5.12.2.3 处理过程

用户点击处理按钮后,会跳转至当前审批流程页面,针对流程信息可以选择同意或者拒绝,并且注明操作理由,点击确认即可提交处理操作。

5.12.3 我的已办

5.12.3.1 功能描述

该模块的功能是针对所有经过当前登录人审批的流程的一个记录,可以进行流程审批的查看和执行明细的查看,不可进行其他操作。

5.12.3.2 输入

  1. 无输入

5.12.3.3 处理过程

用户点击查看流程图后,会跳转至当前审批流程详情,可以进行审批流程的查看。

5.12.4 我发起的流程

5.12.4.1 功能描述

该模块的功能是对当前登录人发起的所有的流程的一个查看,用户可以查看到个人在公司内的各种审批申请记录,可以查看审批的流程和执行明细。

5.12.4.2 输入

  1. 无输入

5.12.4.3 处理过程

用户点击查看流程图后,会跳转至当前审批流程详情,可以进行审批流程的查看。

5.13 流程管理模块

5.13.1 流程定义

5.13.1.1 功能描述

该模块的功能是针对整个OA项目的流程的一个管理汇总,用户可以在当前模块内对原有的流程进行修改,或者新建立一个新的审批流程,可以使用自定义表单或者已存在的表单进行操作。

5.13.1.2 输入

  1. 流程名称

  2. 流程编码

  3. 流程分类

  4. 流程的发起人

  5. 流程的表单类型

  6. 备注

5.13.1.3 处理过程

用户在录入流程定义的相关信息后,如果选择的自定义表单可以进行表单的设计,如果选择指定表单可直接进行下一步流程的设计,在流程设计内可以对每一审批流程进行功能指定,审批人只等等,最后点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行流程的查看、修改、删除、启动、停止等操作

5.14 系统设置模块

5.14.1 用户管理

5.14.1.1 功能描述

该模块的功能是针对公司内部使用OA系统的人员的一个管理记录,包含了用户的账号密码、基本信息、角色信息等内容,包括新增、修改、删除等操作。

5.14.1.2 输入

  1. 用户名

  2. 真实姓名

  3. 所属部门

  4. 所属岗位

  5. 工号

  6. 角色

  7. 职级名称

  8. 用户状态

  9. 性别

  10. 出生日期

  11. 手机号

  12. 邮箱

5.14.1.3 处理过程

用户录入用户相关信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行用户的查看、修改、删除等操作。

5.14.2 部门管理

5.14.2.1 功能描述

该模块的功能是针对公司内部组织架构的管理记录,该记录是一个树形的结构,方便用户查看,包括新增、修改、删除等等。

5.14.2.2 输入

  1. 部门名称

  2. 上级部门

  3. 排序

5.14.2.3 处理过程

用户录入部门相关信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行部门的查看、修改、删除等操作。

5.14.3 角色管理

5.14.3.1 功能描述

该模块的功能是针对OA系统内部的用户的角色的管理记录,它清晰准确的划分了每个角色所具有的功能,可以更好的管理OA系统,同时也是用户认证模块当中不可缺少的一部分。包括新增、修改、删除等等。

5.14.3.2 输入

  1. 角色名称

  2. 备注

  3. 功能

5.14.3.3 处理过程

用户录入角色相关信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行角色的查看、修改、删除等操作。

5.14.4 菜单管理

5.14.4.1 功能描述

该模块的功能是针对OA系统内部的所有功能模块的一个管理记录,以树形结构进行展示,同时也是用户认证模块当中不可缺少的一部分。包括新增、修改、删除等等。

5.14.4.2 输入

  1. 类型

  2. 是否显示

  3. 名称

  4. 上级菜单

  5. 路由

  6. 排序

  7. 授权标识

  8. 图标

5.14.4.3 处理过程

用户录入菜单信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行菜单的查看、修改、删除等操作。

5.14.5 定时任务

5.14.5.1 功能描述

该模块的功能是针对OA系统的所有的定时任务的一个管理记录,需要现在OA系统代码中完成任务的编写,才可以进行后续的操作,包括新增、修改、删除等等。

5.14.5.2 输入

  1. spring bean名称

  2. 参数

  3. cron表达式

  4. 备注

5.14.5.3 处理过程

用户录入定时任务相关信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行定时任务的查看、修改、删除一级定时任务的执行日志的查看等操作。

5.14.6 字典管理

5.14.6.1 功能描述

该模块的功能是针对系统内部各种状态、标签的管理记录,包括新增、修改、删除等等。

5.14.6.2 输入

  1. 字典名称

  2. 字典编码

  3. 排序

5.14.6.3 处理过程

用户录入字典信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行字典信息的查看、修改、删除等操作。

5.14.7 地域管理

5.14.7.1 功能描述

该模块的功能是针对系统内部进行地址级联选择的支持的管理记录,包括新增、修改、删除等等。

5.14.7.2 输入

  1. 上级区域

  2. 区域名称

  3. 区域标识

5.14.7.3 处理过程

用户录入区域信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行印章的查看、修改、删除等操作。

5.14.8 通知管理

5.14.8.1 功能描述

该模块的功能是针对系统内部的信息通知的管理记录,包括新增、修改、删除等等。

5.14.8.2 输入

  1. 通知类型

  2. 通知标题

  3. 通知内容

  4. 通知接收者

5.14.8.3 处理过程

用户录入通知的信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行通知的查看、修改、删除等操作。

5.14.9 我的通知

5.14.9.1 功能描述

该模块的功能是针对个人系统内部的通知的记录,列表内展示通知的主题、类型、发送人已经已读未读状态。

5.14.9.2 输入

无输入。

5.14.9.3 处理过程

用户点击查看后,后台会在调用查询方法并返回前端页面,同时修改为已读状态。

5.15 合同管理模块

5.15.1 项目管理

5.15.1.1 功能描述

该模块的功能是针对公司内部各种进行中、未开始、已结束的项目的管理记录,包括新增、修改、删除、项目进度汇报等等。

5.15.1.2 输入

  1. 项目名称

  2. 项目编号

  3. 项目级别

  4. 项目负责人

  5. 项目开始时间

  6. 项目结束时间

  7. 项目进度

  8. 项目预算

  9. 项目状态

  10. 备注

5.15.1.3 处理过程

用户录入项目相关信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,并记录在数据库中。经过审批流程进行审批,如果未通过则需要重新修改提交审批,通过之后可以进行项目的其他操作。用户可以进行项目信息的查看、修改、删除等操作。

5.15.2 合同管理

5.15.2.1 功能描述

该模块的功能是针对公司内部各种已签订、未签订的合同的管理记录,包括新增、修改、删除等等。

5.15.2.2 输入

  1. 合同编号

  2. 合同名称

  3. 甲方公司

  4. 乙方公司

  5. 合同金额

  6. 结算方式

  7. 合同类型

  8. 所属项目

  9. 资金类型

  10. 开始时间

  11. 结束时间

  12. 合同责任人

  13. 实物合同位置

  14. 起草附件

  15. 签订附件

  16. 合同概述

  17. 备注

5.7.1.3 处理过程

用户录入合同相关信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,并记录在数据库中。经过审批流程进行审批,如果未通过则需要重新修改提交审批,通过之后可以进行合同的其他操作。用户可以进行合同信息的查看、修改、删除等操作。

5.15.3 合同变更

5.15.3.1 功能描述

该模块的功能是针对合同在签订过程当中,出现问题,需要进行修改时,会自动保存修改的记录,包括修改签和修改后的内容。

5.15.3.2 输入

无输入

5.15.3.3 处理过程

用户在变更页面只可以进行合同变更信息的查看,不可进行其他操作。

5.15.4 付款管理

5.15.4.1 功能描述

该模块的功能是在合同进行到一定进度之后需要进行的付款操作的管理,详细记录了每个合同付款的时间、状态、金额等信息。

5.15.4.2 输入

  1. 合同

  2. 预计付款日期

  3. 预计付款金额

  4. 付款日期

  5. 付款金额

  6. 付款方式

  7. 付款单号

  8. 付款凭证

  9. 备注

5.15.4.3 处理过程

用户付款信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,并记录在数据库中。用户可以进行付款信息的查看、修改等操作。

5.15.5 回款管理

5.15.5.1 功能描述

该模块的功能是针对合同的回款的管理记录,详细记录了每个合同每一笔的回款时间、状态、金额、回款方式等信息。

5.15.5.2 输入

  1. 合同

  2. 预计回款日期

  3. 预计回款金额

  4. 回款日期

  5. 回款金额

  6. 回款方式

  7. 回款单号

  8. 是否到账

  9. 备注信息

5.15.5.3 处理过程

用户回款信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,并记录在数据库中。用户可以进行回款信息的查看、修改等操作。

5.15.6 归档合同

5.15.6.1 功能描述

该模块的功能是针对合同完成之后进行的归档的管理记录,在合同管理当中,当状态为已完成的合同会出现归档的操作,点击归档之后会弹出归档位置输入框,输入完成之后合同变为归档状态,可以在归档合同页面进行查看和借阅的操作。

5.15.6.2 输入

  1. 归档位置

5.15.6.3 处理过程

合同归档点击之后,点击确定进行数据提交,后台会在调用存储方法进行处理,并记录在数据库中。用户可以进行归档信息的查看、归档位置修改、借阅等操作。

5.15.7 借阅管理

5.15.7.1 功能描述

该模块的功能是针对已归档的合同的日常维护和借阅的管理记录,包括借出、归还、查看等等。

5.15.7.2 输入

  1. 借阅合同

  2. 借阅人

  3. 借阅时间

  4. 备注

5.15.7.3 处理过程

用户录入合同借阅信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行印章的借出、归还、查看等操作。

5.15.8 发票管理

5.15.8.1 功能描述

该模块的功能是针对合同回款时给客户开的发票的信息的管理记录,包括新增、修改、删除、退票等等。

5.15.8.2 输入

  1. 合同

  2. 发票号

  3. 发票金额

  4. 发票附件

  5. 开票时间

  6. 开票人

  7. 备注

5.15.8.3 处理过程

用户录入印章信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行印章的查看、修改、删除等操作。

5.15.9 客户信息管理

5.15.9.1 功能描述

该模块的功能是针对合同签订时的甲乙方的管理记录,包括新增、修改、删除等等。

5.15.9.2 输入

  1. 客户名称

  2. 客户地址

  3. 客户类型

  4. 开户行

  5. 开户行账号

  6. 联系人

  7. 联系方式

  8. 备注

5.15.9.3 处理过程

用户客户信息后,点击确定进行数据提交,后台会在调用存储方法进行处理,用户可以进行客户新的查看、修改、删除等操作。

6 安全性设计

6.1 数据安全

为了保证数据安全,系统在选型时充分的考虑了冗余配置,在数据存储层采用了RAID技术,支持RAID5等多级别冗余方案;在数据存储部分,磁盘阵列支持双控制器配置,保证了数据访问的可靠性;在数据库层采用主从方式,保证了数据库的数据安全性。

6.2 传输安全

系统采用http协议进行数据的传输和信息的交互,出于对数据安全的考虑,可选择SSL进行加密,以保证数据传输的安全性。

6.3 操作安全

系统设计时首先要提供身份认证和访问控制,防止内部人员(也就是合法用户)滥用权力。用户对系统进行重要的和不可修复的操作时系统需要完整记录用户的操作日志,并提供一定的容错能力,保证在系统故障时可以恢复数据。

7 可靠性设计

数据库服务器安装数据库服务端软件,提供数据的存储与管理服务,从而为上层的数据备份、恢复等服务提供相应的基础磁盘阵列为测距任务相关数据的存储提供存储空间,从而可以实现数据的集中式存储,而且,该种方式具有较好的扩展性。除此之外,磁盘阵列采用了RAID技术和热插拔等技术可以一定程度上保证数据存储的可靠性

数据库的备份与恢复是保障系统运行的可靠性功能之一,通过备份策略进行周期性的数据库备份,在出现极端异常的情况下通过备份数据进行数据库恢复。

软件可靠性设计技术一般是指软件整个生命周期中所采用的以保证和提高软件可靠性为主要目标的软件技术。主要的软件可靠性设计技术可归结为以下三种类型:

a)避错、排错设计,即从多方面来避免错误和排除错误,保证软件的质量和可靠性,使之尽量不出错,这是目前提高软件可靠性的主要方法;

b)容错设计,使软件系统即使有错也能正常工作,完成规定的功能。这是在硬件容错技术突飞猛进的影响下出现的软件可靠性设计技术;

c)信息保护设计,信息是程序操作的对象和结果,是软件的重要组成部分。只有确保计算机中信息资源安全可靠,才能确保软件系统的可靠。

8 出错处理机制

软件开发阶段需要对任何可能出现异常的地方进行异常捕获,同时所有的异常信息要抛出到最顶端进行处理。需要按照一定的方式对异常信息进行分类,另外需要定义出通用的错误编码及错误信息提醒给操作员进行人工判断。对于无人值守的任务出现异常时,要设计出异常分级及通知机制进行告警所有异常信息都要记录到日志文件中或数据库中,方便运维人员进行跟踪及解决问题。

8.1 系统出错处理设计

a) 出错信息

用一览表的方式说每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。

b) 补救措施

补救措施是说明故障出现后可能采取的变通措施,包括:

1) 当原始系统数据万一丢失时可启用副本数据进行恢复

2) 当一台关键服务器宕机时,热备机器能自动启动

3) 当软件运行时出现严重异常信息时,操作员能及时得到通知并通过相关日志文件和错误信息进行人工干预;


返回列表

扫码关注不迷路!!!

郑州升龙商业广场B座25层

service@iqiqiqi.cn

企起期科技 qiqiqi

联系电话:400-8049-474

联系电话:187-0363-0315

联系电话:199-3777-5101