【《物资管理平台设计》11000字】_第1页
【《物资管理平台设计》11000字】_第2页
【《物资管理平台设计》11000字】_第3页
【《物资管理平台设计》11000字】_第4页
【《物资管理平台设计》11000字】_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

物资管理平台设计摘要在新冠疫情下,疾控部门需做好相关的物资管理工作,避免因时间段内大量物资的流动,而有无计划采购,重复采购,乱领用物资等状况的发生。本文针对物资管理业务的实际需求,研究了疫情情况下第三方的物资管理平台的设计与实现。本文所做的主要工作如下:首先分析了目前网络上现有的物资管理平台,然后对疫情情况下的实际业务需求进行了充分地分析,最终确定了符合疫情下详细记录物资出入库地点、来源等实际需求。在疫情情况下,能够更加直观的了解到疫情信息并且了解各个成员的具体情况也是重中之重。本文通过对这一方面的分析设计了成员地点签到和疫情地图,使得各成员更好的了解疫情详情并且使管理员更好的了解成员所在地点信息。针对分析的需求,分析了目前比较有代表的前端技术框架Vue、React、Angular,以及比较适合的后端框架Spring与Springboot。为了提高系统工作效率,提升局部性能最终采用了前后端分离的技术,运用M-V-C的想法。后端使用Springboot框架完成业务逻辑处理,前端使用Vue框架完成视图与控制,然后结合Mysql数据库与OSS数据存储的系统开发方案。本系统使用以上技术完成实现开发,能够管理各个部门的人员以及各种物资的基本信息,并且通过网站完成物资的订单详情,出入库的各个方向的详细管理与审核。并且通过视图化的方式更加容易看出物资的库存以及各地疫情的详细情况。关键词:Vue;Springboot;疫情物资管理;目录TOC\o"1-3"\h\u23042一、引言 引言研究背景在新冠疫情下,疾控部门需做好相关的物资管理工作,避免因时间段内大量物资的流动,而有无计划采购,重复采购,乱领用物资等状况的发生,同时需控制好物资的数量,避免某一物资采购过多而有积压现象.在物资管理中,物资数量多,流动比较频繁,管理人员就需要管理庞大的物资信息,如果采用手动的记录方式,工作效率低、费时费力,还容易造成工作失误,给物资信息管理带来巨大的困难与不便。基于以上弊端本文设计了一种信息化的物资管理系统,该系统能够提高疫情部门业务处理和内部管理效率。前端部分使用vue.js技术它是一套基于MVVM架构开发的用于构建用户界面的渐进式框架,架构简单能够使开发者快速掌握,还可以与第三方库进行整合,后端使用springboot技术,它可以简化Spring框架的搭建、开发、调试及部署等过程,通过前后端分离的技术实现物资管理系统的开发,从而实现信息化辅助疫控部门管理。研究现状前端框架现状根据TheStateofJavaScript所发布的《StateofJS2020》的调查报告,调查了覆盖137个国家的23765名JavaScript从业者以确定目前前端框架的现状。图1-1是对目前的调查结果。从结果上可以显示出React和Vue占据着绝大多数的使用数量和满意度,而19年的后起之秀Svelte也展现出了一些拥护者。图1-1调查结果图Vue是一套用于构建用户界面的渐进式框架。Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合REF_Ref15370\r\h[1]。基于虚拟DOM,一种可以预先通过JavaScript进行各种计算,把最终的DOM操作计算出来并优化的技术,提高了运行的效率。并且提供了双向的数据绑定让开发者不用再去操作dom对象,把更多的精力投入到业务逻辑上。后端框架现状Spring是分层的JavaSE/EEfull-stack轻量级开源框架具有很高的凝聚力和吸引力。Spring框架因其强大的功能以及卓越的性能而受到众多开发人员的喜爱。Spring具有简单、可测试和松耦合等特点,不仅可以用于服务器端的开发,也可以应用于任何Java应用的开发中。SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置REF_Ref17013\r\h[2]。开箱即用,提供各种默认配置来简化项目配置并且内嵌式容器简化web项目以及没有冗余代码生成和xml配置的要求。研究内容本文所设计的物资管理系统包括系统管理、业务管理、健康报备、监控中心等四个模块。本系统中系统管理模块主要负责部门的编辑分类、角色权限的分配、各用户的管理与分配。业务管理模块主要负责物资资料的创建与分类、物资的入库与审核、物资的出库与审核、物资库存的查看与管理、物资的发放记录与来源记录。健康报备模块包括全国疫情的地图与概括查看、成员的打卡与签到记录。监控中心模块包括登入日志的监控、操作人具体操作的监控。基于以上的需求,本文采用了JavaEE的体系结构,运用了前后端分离的技术使用了SpringBoot及Vue框架,应用了Mysql数据库并且使用Shiro做人员的权限管理。在基于MVC模式的思想上将系统分为3层:视图层:使用Vue加ElementUI进行页面设计,通过Vue路由以及Ajax进行请求。控制层:使用SpringBoot框架进行前后端的交互。数据层:使用了Mysql数据库,主要进行控制数据库的访问,并且使用阿里云存储存储文件图片。相关技术2.1SpringBoot框架2.1.1Spring框架Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益REF_Ref17153\r\h[4]。它的架构图如图2-1:图2-1Spring架构图2.1.2SpringBoot框架虽然Spring的组件代码是轻量级的,但它的配置却是重量级的,编写配置挤占了编写应用程序逻辑的时间。SpringBoot对Spring的缺点进行的改善和优化,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,从而提高了开发的效率,一定程度上缩短了项目周期REF_Ref17770\r\h[5]。SpringBoot的特点:(1)为基于Spring的开发提供更快的入门体验(2)开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值来满足特定的需求(3)提供了一部分大型项目中常用的非功能性特性,例如嵌入式服务器、安全、指标,健康检测、外部配置等REF_Ref18237\r\h[6](4)SpringBoot不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式2.2Vue框架Vue用于构建交互式的Web界面的库,是一个构建数据驱动的Web界面渐进式框架,该框架遵循CMD规范,并且提供的设计模式为MVVM模式(Model->View->View-Model)和一个可组合的组合型组件系统,具有简单的、灵活的API(接口)。并且该框架继承了React的虚拟DOM技术和Angular的双向数据绑定技术,是一款较新的功能性框架。2.2.1MVX框架在前端的发展历史上出现了许多在不同的的架构,接下来对MVX的两种架构进行简单的描述。MVC架构:模型-视图-控制器模式,也称为MVC模式(ModelViewController)。将业务逻辑、界面显示与数据分离使用这种方法组织代码,将业务逻辑汇总到一个部分里面,在修改与定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中REF_Ref19112\r\h[7]。MVVM架构:MVVM是Model-View-ViewModel的简写,本质上就是MVC的改进版。MVVM相比与MVC模式主要是分离了试图和模型,所有的交互都通过ViewModel进行了数据的通知与交互,从而达到了低耦合的优点,View的修改可独立于Model的修改,可提高重用性,可在View中重用独立的视图逻辑。归根结底可总结为数据的双向绑定的过程,即ViewModel的数据与Model的绑定,ViewModel的数据与View中的数据绑定,从而达到数据低耦合高重用性的过程。2.2.2Vue解析Vue是一套基于MVVM框架开发的用于构架用户界面的渐进式框架。并且Vue的核心库只关注视图层,提供了Vuex、Vue-router等组件使得其学习开发应用更加的简单。而且Vue也提供了双向的数据绑定当数据发生改变—自动更新视图。利用Object.definedProperty中的setter/getter代理数据,监控对数据的操作。需求分析3.1总体需求分析本系统是由系统管理、业务管理、健康报备、监控中心等四个模块组成。 其中系统管理和监控中心是为了监控管理部门监管人员信息和人员管理而设计的。系统管理模块负责各个部门的建立,具体人员的信息创建与修改管理,角色权限的分配与管理,人员的部门分配等。监控中心模块是为了更好的监控人员的操作而包含了登录日志与操作管理等功能。业务管理模块则是主要负责整个系统的业务处理功能,它包含了物资资料的创建以及物资的出入库等各种物资的管理功能。健康报备模块则包含了员工的签到与疫情现状的查看。 3.2功能性需求分析经过对物资管理的实际情况分析之后,将系统的使用者分为了多种角色,并将这些角色分配到相对应的部门进行管理:系统管理员技术部内的角色拥有系统管理、业务管理、健康报备、监控中心四个模块中的所有权限。角色权限管理员拥有系统管理模块、健康报备模块,负责对部门、人员的管理与角色权限的分配。物资出入库管理员拥有提交物资出库、入库表单和查看库存的权限,只负责对物资出入库表单的创建。审核管理员负责物资资料的创建及管理、物资类别的分类与管理以及负责对物资资料、物资入库、物资出库的审核与回收管理。系统日志管理员负责查看系统工作日志。3.2.1业务逻辑需求分析本系统主要业务为物资的进出库管理,首先应急物资提交给疾控部门,疾控部门根据相应物资分类存入仓库;最后疾控部门根据相关疫情将物资发往相关地区,这就是一套完整的管理流程。根据总体需求分析以及业务逻辑分析本系统主要完成以下功能,系统用例图如图3-1所示。之后模块叙述相关功能。图3-1系统用例图3.2.2系统管理模块系统管理模块主要是负责部门及员工的管理功能。该模块包括部门/员工管理、文件管理、菜单权限管理、角色管理等4个子模块。系统管理模块的用例图如图3-2所示。图3-2系统管理模块的用例图(1)用户/部门管理该子模块是负责对下属部门及相应员工的信息管理,可以增加、删除和修改部门及员工信息。(2)菜单权限管理该子模块主要是为了更好的管理系统权限,通过子菜单是否拥有打开以消除或添加某个角色的权限。(3)角色权限管理该子模块主要是为了使系统权限的集中分配,使不同员工得到不同的功能权限。(4)文件管理该子模块主要处理物资上传照片的删除与管理。3.2.3业务管理模块业务管理模块包含整个系统的主要业务处理部分,整合为入库管理、出库管理、物资资料管理、库存管理四个子模块,每个子模块之下的功能通过划分不同的角色权限实现业务管理。业务管理模块用例图如图3-3所示。图3-3业务管理模块用例图1.入库记录入库记录查看可以查看以往所有供货单的相关信息以及其审核人员。创建新的入库单根据已有的物资分类将所收到的物资创建新的入库单信息。该入库单的基本信息有:添加方式、入库类型、省份、具体来源、联系人、电话、邮箱、物资类别及数量等。审核入库单拥有相关权限的管理人员可以负责审核是否通过入库单。2.物资来源可以查询出物资入库的详细信息,并对有纰漏的地方进行编辑修改。3.出库记录(1)出库记录查看可以查看以往所有供货单的相关信息以及其审核人员。(2)创建新的入出库单根据已有的物资分类将所收到的物资创建新的出库单信息。该入库单的基本信息有:添加方式、出库类型、省份、具体来源、联系人、电话、邮箱、物资类别及数量等。(3)审核出库单拥有相关权限的管理人员可以负责审核是否通过出库单。3.物资去处可以查询出物资出库的详细地址,并对有纰漏的地方进行编辑修改。4.物资类别将所有物资统一分类,划分各种用途或类别,用于快速查找物资。5.物资资料创建并查看各种应急物资,并将其划分到各个物资类别中。6.物资库存查看各种物资库存信息。3.2.4健康报备模块健康报备模块之下有两个子模块,主要是疫情地图的查看以及人员的签到。健康报备模块用例图如图3-4所示。图3-4健康报备模块用例图1.全国疫情疫情地图的查看以及现存确诊人数的展示。2.健康打卡操作人员每日进行健康问卷打卡签到。记录签到人和相应时间,同时可以看到签到记录。3.2.5监控中心模块监控中心模块之下是三个子模块,主要查看员工对系统的各种操作日志。监控中心模块用例图如图3-5所示。图3-5监控中心模块用例图1.登入日志负责查看和删除登入人、地点、时间、操作系统等操作。2.操作日志负责查看和删除操作人、所做操作、时间、地点等操作。3.项目接口负责查看前后端交互的接口名称与数据类型。

概要设计4.1系统架构设计本项目采用B/S架构遵循经典MVC设计思想将系统分为表示层、业务层、数据层三层。架构图如图4-1:图4-1架构图表示层用于与用户交互,采用了B/S架构,用户通过浏览器的方式进行交互。使用ElementUI加Vue加速开发和扩展。前端通过AJAX异步请求将数据传递到业务层,业务层负责处理前端所发送的请求,并返回相应的响应结果。业务层通过Spring、SpringMVC、Shiro与Mybaites-Plus技术实现,Shiro负责拦截请求与权限认证,SpringMVC负责前端请求分配并且在解析JSON之后,由Spring的依赖注入进行业务逻辑处理,最后通过Mybaites-Plus与数据层Mysql数据库进行交互。4.2系统开发环境系统开发环境如表4-1所示:表4-1系统开发环境操作系统Windows10开发工具Idea、HBuilderX数据库Mysql、阿里云存储浏览器谷歌4.3数据库设计数据库的设计需要对所开发的系统做出应有的需求分析,抽象出系统所需求的数据类型,然后设计出实现高效率存储的数据库逻辑结构。本次设计所使用的是关系数据库Mysql。4.3.1数据库概念设计数据库概念设计主要是为了能够更好的体现用户处理需求和事务之间联系的去形成一个数据模型。而E-R是最为广泛的概念设计方法之一。经过对系统深入的需求分析之后,本系统主要使用到的对象有:用户实体、物资实体、菜单实体、入库表单实体、日志实体、出库表单实体等。为了能够清晰地反映各个实体之间的关系,数据库总体E-R图大致如图4-2所示:图4-2数据库总体E-R图4.3.2数据库表设计因为系统需要建立多张数据库表,根据4.3.1小节所设计的数据库E-R模型,共创建了用户表、权限表、菜单表、入库单表、出库单表、日志表、签到表、物资表等19张表。以上述8张表为例具体如下所示:用户表包含了用户个人相关的信息,包括姓名、性别、密码及密码加密盐等,用户表如表4-1所示:表4-1用户表字段名称数据类型主键备注idbigint(20)Y用户IDusernamevarchar(50)N用户名nicknamevarchar(20)Nemailvarchar(128)N邮箱avatartextN头像phone_numbervarchar(20)N联系电话statusint(1)N状态0锁定1有效create_timedatetimeN创建时间modified_timedatetimeN修改时间sexint(1)N性别0男1女2保密saltvarchar(255)N盐typeint(11)N0:超级管理员,1:系统用户passwordvarchar(128)N密码birthdateNdepartment_idbigint(20)N部门id权限表包含了角色权限ID与角色名称等,与菜单表相匹配决定用户拥有那些功能菜单。如表4-2所示:表4-2权限表字段名称数据类型主键备注idbigint(20)Y角色IDrole_namevarchar(100)N角色名称remarkvarchar(100)N角色描述create_timedatetimeN创建时间modified_timedatetimeN修改时间statusint(1)N是否可用,0:不可用,1:可用菜单表包含了菜单ID、菜单名称等、与权限表相匹配决定用户拥有那些功能菜单。如表4-3所示:表4-3菜单表字段名称数据类型主键备注idbigint(20)Y菜单/按钮IDparent_idbigint(20)N上级菜单IDmenu_namevarchar(50)N菜单/按钮名称urlvarchar(50)N菜单URLpermstextN权限标识iconvarchar(50)N图标typechar(2)N类型0菜单1按钮order_numbigint(20)N排序create_timedatetimeN创建时间modified_timedatetimeN修改时间availableint(11)N0:不可用,1:可用openint(1)N0:不展开,1:展开出库单表由于入库单表与出库单表类似,所以以较为复杂的出库单表为例,主要包含了ID、出库单名称、创建时间、操做人等,如表4-4所示表4-4出库单表字段名称数据类型主键备注idbigint(20)Yout_numvarchar(36)N出库单typeint(1)N出库类型:0:直接出库,1:审核出库operatorvarchar(20)N操作人create_timedatetimeN出库时间product_numberint(11)N出库总数consumer_idbigint(20)N消费者idremarkvarchar(50)N备注statusint(1)N状态:0:正常入库,1:已进入回收,2:等待审核priorityint(1)N紧急程度:1:不急,2:常规,3:紧急4:特急日志表由于登入日志与操作日志相似所以以复杂的操作日志为例,包含了操做人、操作地点、操作时间等。如表4-5所示:表4-5日志表字段名称数据类型主键备注idbigint(20)Y日志IDusernamevarchar(50)N操作用户operationtextN操作内容timedecimal(11,0)N耗时methodtextN操作方法paramstextN方法参数ipvarchar(64)N操作者IPcreate_timedatetimeN创建时间locationvarchar(50)N操作地点签到表包含了签到地点、签到人ID、签到时间等。如表4-6所示:表4-6签到表字段名称数据类型主键备注idbigint(20)Yaddressvarchar(50)N地点user_idbigint(20)N签到人IDsituationint(1)Ntouchint(1)Npassbyint(1)Nreceptionint(1)Ncreate_timedatetimeN签到时间物资表主要包含了应急物资的ID、名称、单名、单位等。具体如表4-7所示:表4-7物资表字段名称数据类型主键备注idbigint(20)Np_numvarchar(255)N商品编号namevarchar(255)N商品名称image_urltextN图片modelvarchar(100)N规格型号unitvarchar(10)N计算单位remarkvarchar(100)N备注sortint(11)N排序create_timedatetimeN创建时间modified_timedatetimeN修改时间one_category_idbigint(20)N1级分类two_category_idbigint(20)N2级分类three_category_idbigint(20)N3级分类statusint(1)N是否删除:1:物资正常,0:物资回收,2:物资审核中详细设计5.1系统总体设计本系统是由系统管理、业务管理、健康报备、监控中心等四个模块组成,如图5-1所示:图5-1总体设计图5.2系统管理模块设计该模块一开始主要是由系统管理员操作的。分为部门\角色管理、角色权限管理、文件管理、菜单权限管理。其框架图如图5-2所示:图5-2系统管理模块框架图员工管理该模块是负责创建、修改、删除员工及其相关信息并为其分配功能权限。部门管理该模块是负责将拥有相似权限的员工归于同一部门方便分类管理。菜单管理该模块负责系统菜单树的建立,由系统管理员创建、修改、删除。员工的权限通过角色的分配,与菜单树的选项有无实现。角色权限管理该模块用于创建各个权限的角色,以用于分配给员工,通过编辑菜单树子节点的有无,实现权限分配。文件管理该模块用于查看与删除和物资相匹配的图片。5.3业务管理模块设计该模块主要实现物资的出入库与物资的资料库存管理,由入库记录、物资去处、物资来源、物资类别、物资资料、物资库存等六个子模块组成其框架图如图5-3所示:图5-3业务管理模块框架图入库记录该模块包含了查看物资的入库记录、物资入库表单的创建、回收、删除等多个功能由角色的具体权限分配给予员工不同的功能。物资入库具体流程图如下图5-4所示:图5-4入库流程图物资来源主要用于查询、添加、修改出库物资所具体的地点信息等。物资类别该模块创建一个关于物资具体分类的菜单树,将物资分为几个大类,大类之下在具体划分相应的小类,以便于在查询时更快的找到相应物资。物资资料该模块负责查询、添加、删除仓库中已有或未有的物资信息。发放记录该模块包含了查看物资的发放记录、物资出库表单的创建、回收、删除等多个功能由角色的具体权限分配给予员工不同的功能。物资出库库具体流程图如下图5-4所示:图5-5出库流程图物资去处主要用于查询、添加、修改出库物资所具体的地点信息等。物资库存以表格和饼图的方式更加直观的表示出物资的库存现状。5.4健康报备模块设计该模块主要实现国内疫情地图的查看与员工签到功能。5.5监控中心模块设计该模块由三个子模块组成,登入日志、操作日志可由日志管理员负责,而项目接口另由系统管理员负责。具体设计框架图如下5-6所示:图5-6监控中心模块框架图(1)登入日志负责查看和删除登入人、地点、时间、操作系统等操作。(2)操作日志负责查看和删除操作人、所做操作、时间、地点等操作。(3)项目接口负责查看前后端交互的接口名称与数据类型。

系统实现6.1系统主页面的实现由于所有的登入员工都是由系统管理员或角色权限管理员创建的,所以登入界面相对简单只提供登入功能。主要实现的控制类为UserController.java,PC登入界面如图6-1所示:图6-1登录界面本系统管理员登录之后的主界面图如图6-2所示:图6-2主界面系统管理员拥有着所有的权限与功能,在主界面显示着登入统计与用户相关信息。6.2系统管理模块实现系统管理模块包括部门管理、角色管理、员工管理、文件管理、菜单管理等多个子模块,主要是负责部门及员工的管理功能。这里将相关联的功能模块合并介绍6.2.1部门/员工管理系统管理员或角色权限管理员通过部门管理和员工管理创建和添加新的部门或员工,以便员工能够登入系统。模块主要包含类如表6-1所示:表6-1部门/员工管理主要类控制层类UserController.javaDepartmentController.java业务逻辑类UserService.javaUserServiceImpl.javaDepartmentService.javaDepartmentServiceImpl.java持久对象类User.javaDepartment.java系统管理员登入系统后可以在页面上新建员工之后通过UserController类的add方法经过相应ServiceImpl类的处理,将输入的员工数据通过MybatiesPlus的相应方法保存到数据库中。新建部门则是通过DepartmentController类的add方法经过相应ServiceImpl类的处理,将输入的部门数据通过MybatiesPlus的相应方法保存到数据库中。最后在员工管理界面通过修改员工信息将员工分配给各个部门。对于创建新员工的部分代码如表6-2所示,编辑员工信息如图6-3所示:表6-2添加员工代码图6-3编辑员工界面6.2.2角色权限管理系统管理员或权限管理员通过角色权限管理给系统创建角色和分配权限,用来实现给各员工分配不同职能各司其职。本功能主要包含的类如表6-3所示:表6-3角色权限管理主要类控制层类MenuController.javaRoleController.java业务逻辑类RoleService.javaMenuService.javaRoleServiceImpl.javaMenuServiceImpl.java持久对象类RoleMenu角色权限管理分为菜单树的建立与权限设置编辑、权限角色的建立与分配。由系统管理员通过MenuController类的add方法将前端页面传过来的信息经过相应ServiceImpl的处理保存到数据库创建出菜单的各个父节点与子节点并将其下的各个功能编辑上相应的权限编码。菜单权限的主界面和编辑界面如图6-4和图6-5所示:图6-4菜单权限的主界面图6-5菜单编辑界面权限角色的创建由前端页面发送的数据经由RoleController类的add方法的ServiceImpl类处理添加到数据库,之后在授权界面授予权限角色相对应权限菜单。经由RoleController类的authority方法的ServiceImpl类处理添加到数据库使得权限角色ID与菜单权限ID相对应完成相应授权。权限角色授权的部分代码如表6-4所示:表6-4角色授权代码权限角色授权界面如图6-6所示:图6-6角色授权界面6.3业务管理模块实现业务管理模块按功能可以整合四个子模块分别是入库管理、出库管理、物资资料管理、库存管理,主要负责整个系统有关物资库存及出入库所有业务逻辑。6.3.1入库管理入库管理包含入库记录和物资来源两个页面。主要功能包含的类如表6-5所示:表6-5入库管理主要类控制层类SupplierController.javaInStockController.java业务逻辑类SupplierService.javaInStockService.javaSupplierServiceImpl.javaInStockServiceImpl.java持久对象类Supplier.javaInStock.java入库记录出入库管理员可以通过前端创建入库表单点击添加后通过InStockController类的addIntoStock方法调用InStockService的addIntoStock接口实现完成入库单存入数据库并标记为审核状态。审核管理员可以通过InStockController的findInStockList方法查询出所有已审核、未审核和回收站内的入库表单并通过InStockController类的publish方法调用InStockService的publish接口实现完成入库单修改为已审核状态。入库记录主界面如图6-7所示:图6-7入库记录主界面添加入库界面如图6-8所示:图6-8添加入库界面界面添加入库部分实现代码如表6-6所示:表6-6添加入库部分代码物资来源主要查询显示物资的具体来源地点,在创建入库表单时InStockController类同时调用了supplierService接口的add实现方法将前端数据中的来源地点填写到数据库中。管理人员就可以通过请求SupplierController类下的findAll方法调用supplierService接口下的findAll实现方法查询所有的物资来源。物资来源主要界面如图6-9所示:图6-9物资来源界面6.3.2出库管理出库管理包含出库记录和物资去处两个页面。主要功能包含的类如表6-7所示:表6-7出库管理主要类控制层类ConsumerController.javaOutStockController.java业务逻辑类OutStockService.javaConsumerService.javaOutStockServiceImpl.javaConsumerServiceImpl.java持久对象类OutStock.javaConsumer.java出库记录出入库管理员可以通过前端创建入库表单点击添加后通过OutStockController类的addOutStock方法调用OutStockService的addOutStock接口实现完成入库单存入数据库并标记为审核状态。审核管理员可以通过OutStockController的findInStockList方法查询出所有已审核、未审核和回收站内的入库表单并通过OutStockController类的publish方法调用OutStockService的publish接口实现完成入库单修改为已审核状态。入库记录主界面如图6-10所示:图6-10出库记录界面添加出库界面如图6-11所示:图6-11添加出库物资界面添加入库部分实现代码如图6-8所示:表6-8添加入库部分代码(2)物资去处主要查询显示物资的具体去处地点,在创建入库表单时OutStockController类同时调用了ConsumerService接口的add实现方法将前端数据中的去处地点填写到数据库中。管理人员就可以通过请求ConsumerController类下的findAll方法调用ConsumerService接口下的findAll实现方法查询所有的物资来源。物资去处主要界面如图6-12所示:图6-12物资去处主要界面6.3.3物资资料管理该模块也有两个界面组成分别是物资资料和物资类别。主要功能包含的类如表6-9所示:表6-9物资资料管理主要类控制层类ProductController.javaProductCategoryController.java业务逻辑类ProductService.javaProductCategoryService.javaProductServiceImpl.javaProductCategoryServiceImpl.java持久对象类Product.javaProductCategory.java工具类CategoryTreeBuilder.java物资类别管理员可以通过ProductCategoryController的add方法创建物资的多级菜单列表将各种物资放入分类中以提供更加快捷的查到相应物资。物资类别主界面如图6-13所示:图6-13物资类别主界面多级树实现部分代码如表6-10所示:表6-10多级树实现部分代码物资资料管理员可以通过ProductController类的findProductList方法查询出现有物资资料也可以通过前端添加物资页面将表单数据通过调用ProductController类的add方法实现新物资的数据库添加工作。物资资料的主界面与添加物资界面分别如图6-14与图6-15所示:图6-14物资资料的主界面图6-15添加物资界面查询物资列表部分代码与添加物资部分代码分别如表6-11与表6-12所示:表6-11查询物资列表部分代码表6-12添加物资部分代码6.3.4库存管理主要调用6.3.3小节中提到的ProductController类中的findProductStocks方法查询出所有的物资库存返回库存数据并通过前端echarts插件绘制出图表。物资库存界面如图6-16所示:图6-16物资库存界面6.4健康报备模块实现健康报备模块包含全国疫情与健康打卡两个模块。6.4.1全国疫情通过前端调用新浪微博有关于各地疫情信息的API利用echarts绘制疫情地图与表格。疫情地图如图6-17所示:图6-17疫情地图界面前端部分代码如表6-13所示:表6-13绘制地图前端部分代码6.4.2健康打卡主要功能包含的类如表6-14所示:表6-14健康打卡主要类控制层类HealthController.java业务逻辑类HealthServiceImpl.java持久对象类Health.java所有成员都可以调用HealthController类的report方法完成每日的健康上报,同时也可以调用HealthController类的history方法查看签到记录。主要界面如图6-18所示:图6-18健康打卡界面6.5监控中心模块实现监控中心模块主要下分3个子模块登入日志、操作日志、项目接口。6.5.1登入日志主要功能包含的类如表6-15所示:表6-15登录日志主要类控制层类LoginLogController.java业务逻辑类LoginLogService.java持久对象类LoginLog.java所有成员在登录时都会调用LoginLogService接口下的add方法实现登录日志的自动添加。管理员可以通过LoginLogController类下的findLoginLogList方法查询所有的成员的登录详情也可以通过LoginLogController类下的delete方法删除登录日志。登入日志主页面如图6-18所示:图6-18登入日志主界面登录日志添加部分代码表6-16所示:表6-16登录日志添加部分代码6.5.2操作日志主要功能包含的类如表6-17所示:表6-17操作日志主要类控制层类LogController.java业务逻辑类LogService.java持久对象类Log.java工具类ControllerEndpointAspect.javaAspectSupport.java通过创建AOP切面获取用户的每一个具体操作类和名称并通过LogService的saveLog方法将其存储到数据库中。管理员可以通过LogController类下的findLogList方法查询所有的成员的登录详情也可以通过LogController类下的delete方法删除登录日志。AOP切面存储数据库的部分代码如表6-18所示:表6-18AOP切面的部分代码操作日志界面如图6-19所示:图6-19操作日志界面6.5.3项目接口该模块主要应用swagger实现,由前端直接跳转界面。项目接口界面如图6-20所示:图6-20项目接口界面系统测试7.1系统测试内容界面测试主要测试系统界面是否美观,界面之间衔接展示是否正常,是否

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论