基于JeecgBoot的巡检后台统计系统设计与实现

 摘要

随着社会的发展,对重要设施进行检查,防范、杜绝安全隐患是非常重要的环节。我国以西气东输为首的管道工程都需要进行巡检工作。除我国外,世界各国也在类似的工程为杜绝安全隐患进行巡检。传统的人工巡检难免会有检查疏忽,未及时上报的情况发生。所以设计巡检后台统计系统加强对管道巡线工作的重视,设立完善的巡检管理来规范员工的管道巡线工作。

本文主要介绍了巡检后台统计优化的研发背景、重点解决的问题。通过对传统巡检数据统计进行优化研究,设计、实现巡检数据的统计和管理优化。本文主要使用了前后端分离的方式,vue作为前端框架,SpringBoot框架技术作为巡检后台统计的后端框架,采用MYSQL数据库做所谓后台数据库。不但可以让用户从页面上直观的看到巡检路线和巡线员的巡线轨迹;更可以让使用者清晰的发现巡线过程中发生事件类型和处理结果。盘点、检查等多项业务应用,旨在帮助用户快速高效的发现事故,助力责任明确透明,从而降低发生事故的概率,提高工作效率。

系统经过多方面的测试。从功能到代码实现都进行了严格的规范化处理。巡检统计系统各部分功能已基本实现,可以在日后实际使用。

 关键词:巡检;统计规划;高效

引言

当今中国科学技术快速发展,经济腾飞,各个行业正在发生着翻天覆地的变化,其中呈几何级数增长的中国管线运输行业也面临巨变,不可避免的管线运输行业内各种安全隐患也大量增长,安全问题会变得愈加严重,如果控制不好会给国家和人民的生命和财产都可能带来巨大的损失。所以如何进行控制、防范、杜绝安全隐患的巡检工作必须适应这种巨变就显得尤为重要。

该行业内传统的巡检方式以人工巡视、手工记录方法为主,存在多种难以解决的弊端:管理的成本越来越能以降低、没有办法降低监督员工实时工作状态的代价,巡检数据的采集统计分析处理信息化程度低、人为因素情况不可控、巡检数据无法及时分析处理等等。诸多亟待解决的这些巡检问题严重阻碍我国管线运输行业的进一步发展,当前巡线发展要求能够有效提升监督巡检质量以及到位率,杜绝出现巡更巡检人员巡检不到位、替代巡检等管理问题。

通过健全的安全管理机制提高生产工作人员的职业素养、应用创新高效的信息技术手段已迫在眉睫,刻不容缓。在日常社会生活中,我们经常可以见到相关行业人员对特定的区域、厂区、楼宇、设备和货物进行定期或不定期的安全巡查管理。

应用经过多年的不断发展,我国在管道巡线工作方面已经取得了很大的进展,但是就现阶段来说,仍然存在着一些薄弱环节,例如对巡线工作的认识不足等,所以应加强对管道巡线工作的重视,设立完善的巡线管理来规范员工的管道巡线工作。通过不断完善的巡线管理系统可以监督辅助员工完成巡线工作。传统的人工巡检难免会有疏漏,未及时上报的情况发生。巡检统计系统可以支持多种巡检数据的统计和可视化处理,能够按照区间进行检测或者计划模板生产工作计划。而且巡检流程化管理,这样人们的工作就会更加井然有序,更加高效简便。

本系统采用以java程序开发为核心,运用Jeecg-Boot集成框架,结合Mybatis,Vue&Ant Design,通过引入百度地图进行数据的可视化处理,实现巡检后台统计的设计,可以进行巡线统计,任务处理,巡线路线可视化处理。不但可以让用户从页面上直观的看到巡线路线和巡线员的巡线轨迹,更可以让使用者清晰的发现巡线过程中发生事件类型和处理结果。盘点、检查等多项业务应用,帮助用户快速高效的发现事故,助力责任明确透明,从而降低发生事故的概率,提高工作效率,降低因事故带来的损失。

本文第一章介绍系统应用的框架和技术,包括前端vue.js,后端JeecgBoot,数据库连接工具Navicat premium;第二章介绍系统的主要研究内容、需求概述、功能分析和系统工作流程;第三章介绍了系统系统功能结构设计、数据库设计和功能模块设计思路;第四章介绍了系统实现需要的开发环境,具体实现功能的演示;第五章介绍了如何进行模块测试,数据加密的规则,进行了一次简单的压力测试。

1系统技术介绍

Java语言是在1995年由sun公司推出编程语言,在全世界范围产生了非常大的影响,跨平台性的技术特点,使得Java代码可以一次编译多次运行,可以在不同的环境下进行部署使用。Java拥有三种技术构架:JavaEE(企业版),JavaSE(标准版),JavaME(小型版)。JavaSE是初学者学习Java语言的基础,在完成JavaSE的学习后,可以进一步学习JavaEE和JavaME。JavaEE的用途主要是为了给企业的开发环境下提供一系列的解决策略,本系统就是在JavaEE构架下进行开发的。

1.1 Java语言的特点

Java是一种面向对象的语言,它的强大和易于使用是别的面向对象的语言所无法比拟的,可以让程序员能够很容易的编写各种各样的包括的程序。

Java语言的特点包括其语法规则接近C语言和C++语言,这一特点使得很多学习过C语言或C++语言的人在学习Java的时候比较容易,学习起来比较轻松,掌握和使用的更加迅速。Java又与C++有很大的不同,Java中去除了C++语言中的一些功能,这些功能不太经常使用,不易于人们理解,例如操作符托管、多重继承、类型自动转换等等。而且,Java语言没有使用C++和C的指针,指针难以理解并且使用不当会造成致命错误,而是使用可以替代其功能的引用,并提供了自动的垃圾收集功能,在大多数情况下无需担心内存管理。

Java程序设计的目标是希望能够不受到动态环境变化的影响,这就要做到运行环境中能够动态地载入Java程序所需的一些类,或者通过网络能够使得动态类进行载入,而且,Java中有一个可以在运行时检查type时间的类。

Java是一种经常使用的网络程序编程语言,其原因是因为Java非常安全,它的一些机制能够有效遏制住恶意代码的攻击。Java可以有效的防止非法内存操作,对于来自于网络环境的类,Java有一个类ClassLoder(),这是一种安全的防范机制,可以为不同的名称进行空间的分配,从而可以防止同名的类替换、检查字节码,以及为Java提供更加安全的安全管理机制。

 1.2项目框架

JeecgBoot采用最新前后分离(Springboot+AntDesign+Vue+Mybatis)框架。在过去经常使用的是Spring,在完成Java EE开发的过程中,往往会生成大量的XML文件,这些文件的存在,会使得整个项目变得笨重,导致开发和部署的效率的降低。Spring Boot不是一个简单的替代,而是结合,二者的结合可以很好的提升开发者的体验。Spring Boot集成了大量常用的第三方库配置,既可以同时应用,也几乎可以零配置的直接使用,这些改进可以让开发者的精力更加的集中,可以专注于业务逻辑的开发。

1.3前端vue技术

Vue.js是一套渐进式框架,可以用来构建用户界面。与其它大型框架不同,Vue可以由底向上逐层进行应用,并且它的核心库只关注视图层,不仅容易上手,还很容易整合第三方库,或与已有项目进行整合。当结合使用各种支持类库或者与工具链结合使用的时候,Vue也能够完美的驱动复杂的单页应用。Vue.js将单个页面应用中的各个模块分割成单独的组件,只要先在父应用中编写各种组件标签,然后在组件标签中传递给各个组件的参数即可实现。

1.4数据库相关技术

本系统项目数据库的连接使用的是Navicat premium。当采用这个工具可以与不同的数据库进行连接时,就可以看到不同数据库的细节。还可以用此工具登录到数据库,从而执行各种不同的操作。

项目的数据库使用的是MySQL,选择使用的原因是它运行的速度快,可靠性高,安全性和保密性很好等特点。

 1.5本章小结

本章主要讲述了本文所提及系统的核心技术,包括SpringBoot,Vue,Mybatis,MySQL,从所应用的前端技术到后台应用,都有比较详细的介绍,本章对于数据库和前后端架构有统一的描述。

 2系统需求分析

  2.1主要研究内容

本系统主要研究一种优化传统巡线系统模式,研究在传统巡线方式下如何给巡线员和管理者带来方便以及该模式下存在的不足应如何改进,研究在地图上如何设置对应点位并进行统计,同时探索使用JeecgBoot模板进行网页制作总结一些基本经验和规律,以及研究在数据库设计中如何设计表来优化传统巡线方式。研究可以分为两个大方向,一个是针对巡线路线统计,另一个是针对巡线结果统计。

研究设计的系统应具有以下的功能:提供百度地图。可以在地图上看到应巡点已巡点和预警信号,并根据点位展示行进路线,方便用户获取巡检的详细信息,如应巡点类型,巡检间隔,停留时间。可以查询并确认在该单位下巡检总点数,可以通过应巡点已巡点得到巡检率。管理者可以对路线进行确认并演示巡检行进路线。

提供巡检记录表,管理者可以对巡检点进行管理。可以管理巡检地按类型的修改,是否启用该巡检点,可以修改巡检点名称,选择经度纬度。可以查看巡检计划,查看巡检人和应巡点,选择执行频次,包括巡检点的删除。建成后的网站系统是一个动态、可系统管理、巡检统计、路线管理等功能的综合性质的后台巡检统计系统。

  2.2需求概述

系统需求分析在开发过程中是不可避免的一部分,为了让系统更加的符合常人的使用习惯,更完善的设计出来,需要我们进行调查研究,在此之外,也需要对新系统进行功能性分析,方便系统设计的完善。

总体需求:后台巡线统计系统是针对管理者提供更简洁明了的数据和路线的新式统计系统,提供巡检记录表。以实现管理巡检地按类型的修改,是否启用该巡检点,修改巡检点名称,选择经度纬度。查看巡检计划,查看巡检人和应巡点状态,查看巡检率,选择执行频次,巡检点的删除和新建。

 2.3系统的功能分析

通过开发前期的调查和研究,系统应该具有的具体功能如下:

用户角色管理:通过用户角色管理,能够完成对用户的基本信息的录入,以及用户角色管理。

部门角色管理:能够完成角色在部门内的录入或新建,编辑修改部门角色信息。

巡检角色管理:能够完成巡检角色信息管理,编辑修改角色信息。

巡检事件管理:包括了巡检时发现发生事件的不同类型。

预警事件管理:管理者对预警事件进行判断编辑并提出处理意见。

标桩牌管理:管理者可以对标桩牌进行修改查询删除以及从应巡点复制坐标等操作。

定期巡检计划管理:管理者可以对定期巡检计划进行修改查询删除以及确认详细信息、更改执行状态等操作。

区段管理:管理者可以对区段进行修改查询删除等操作。

应巡点管理:管理者可以对应巡点进行修改查询删除等操作,并可以在地图上根据经纬度标记点位,选择点的类型。

数据上报统计:管理者可以查看巡检点位、巡检人员、巡检单位等数据并查看巡检的合格率。

定期巡检记录统计:管理者可以查看一定时期内巡检人员的巡检统计、巡检率等数据。

临时监护:管理者可以查看需要临时监护的巡线信息。

陪巡记录:管理者可以查看陪巡人和被陪巡人、巡检时间,并可以在地图上看到点位和巡检路线。

巡检统计:管理者可以查看应巡点、已巡点、耗时和巡检率,可以导出质量报告。

巡检记录:管理者可以查看陪巡人、巡检时间,并可以在地图上看到点位和巡检路线、巡检轨迹,同时可以检查各应巡点是否合格。

 2.4系统工作流程和用例分析

管理者通过模板初始账号登录操作,登录后可以在系统管理修改管理账号信息,成功则执行,失败则重新操作,浏览各模块信息,可以进行巡检统计详情和巡检管理,同时可以对标桩牌管理和事件管理,最后可以注销。管理者可以登录注册登出、修改人员信息、进行部门管理、单位角色管理、数据字典、菜单管理、事件管理、桩牌管理、应巡点管理、区段管理、巡检计划管理,并可以对巡检详情进行查询和统计。如图2.1。

图2.1管理模块用例图

56aff2a382dd865672c8595397adc27c

可拓展性是因为本系统将是一个长期活跃的平台,所以有可拓展性是一个重要的因素,所以应预留出可根据未来变化而更新升级的维护空间。可维护性是为了提高用户的使用体验,系统可以定期进行维护,应不必要清除内存,可以对可能发生的系统错误进行维护。

表2.1管理员用例关系表

b01af2641f2e932883993d196670ba1f

在管理员登陆时,登陆流程应如图2.2管理员登陆时序图。

4753be2c79d534cfbf34b4c460e15924  图2.2管理者登录时序图

2.5本章小结

本章主要讲述了巡检后台统计系统的概述需求和功能分析,只有登录才能对本系统进行操作。对不同功能事件进行管理时应根据需求进行操作。

3系统设计

  3.1系统功能结构设计

根据系统分析,本系统设计为五个大功能模块,包括巡检详情模块,巡检管理模块,标桩牌管理模块,事件管理模块,系统管理功能,总的功能模块图如图3.1所示。

图3.1系统功能模块图

322fce1ba0f0b11f5b0d29817fdf7cba  巡检详情模块的主要功能是提供巡检记录,实现数据的可视化,统计巡检率和合格率,可以直观的看到显示数据的情况,其详细功能模块图如图3.2巡检详情功能模块图所示。

图3.2巡检详情功能模块图

c0b1f95eb301b1534596837fb1458f0d  巡检管理模块主要实现的功能是:提供巡检点点位管理、区段管理统计和定期巡检计划的管理和统计,其详细的功能模块图如图3.3巡检管理功能模块所示。

标桩牌管理模块的主要功能是负责桩牌的数据统计和桩牌的数据的管理,其详细的功能模块图如图3.4所示。

63455caf9d7a6e3a31feee954d90a129

事件管理模块的主要功能是负责管理统计事件发生时的类型和光纤预警问题,其详细的功能模块图如图3.5事件管理功能模块所示。

图3.5事件管理功能模块

1062e20c16a12f1af1f48ce1e860b233  系统管理功能模块的主要功能包括部门用户的管理和数据字典的设置。数据字典保存的数据基本都是插入后就很少修改或删除的,是属性读多写少的操作,使用缓存能极大提升读取的性能,减少频繁读取数据库的压力。其详细的功能模块图如图3.6系统管理功能模块图所示。

图3.6系统管理功能模块图

2158248c5fd88aea7236feacbeb46bb1  3.2数据库表结构设计

除系统框架模板已有表外,一共新建表31张,同步系统一共需要36张表。其师徒关系图内容如下图3.7所示:

图3.7系统实体关系图

6711c41a0890eb8bb40f4517cc075038  单位角色表,表中三个字段,分别为id,角色id、部门id,其中id作为主键,3个字段均为varchar类型,所有字段不可以为空,并与实际内容相符,其中关键字字段id自增长并且不许为空。

表3.1单位角色表错误!链接无效。巡检轨迹表,一共十二个字段,分别为id,创建人,创建日期,更新人,更新日期,逻辑删除,巡检id,经度坐标,维度坐标,长json,平均速度,轮数,其中8个varchar类型2个datetime类型1个int类型,所有字段不可以为空,并与实际内容相符,其中主要字段id自增长并且不许为空。

表3.2巡检轨迹表

14ebc4580e59f4592bd8176c93a65c8d

 

用户同步表,一共六个字段,分别为部门id,用户id,用户登录id,n姓名,PTR邮箱用户名,CNPC邮箱用户名,其中6个varchar类型,所有字段不可以为空,并与实际内容相符,其中主要字段id自增长并且不许为空。

表3.3用户同步表

24f69dd5805fe8937cac0c29608e3514

事件管理表一共二十九个字段,分别为主键,创建人,创建日期,更新人,更新日期,所属部门,逻辑删除,事件名称,事件类型,事件描述,任务id,事件地址,经度坐标,维度坐标,图片,处理状态,处理意见,是否可见,是否报警,管道科审核意见,光纤位置,事件级别,施工地点,施工开始时间,施工结束时间,距离,预警id,事件或预警,精度。

其中25个varchar类型4个datetime类型,所有字段不可以为空,并与实际内容相符,其中主要字段id自增长并且不许为空。

c6e65b0ed8b24b0068c1bc0a67f2b764

pis事件表,表中十一个字段,分别为id,创建人,创建日期,更新人,更新日期,培训管理id,经度坐标,维度坐标,长json数据和平均速度,其中id作为主键,8个字段为varchar类型,2个字段为datetime类型,一个字段为longtext类型,所有字段都不可以为空,并与实际内容相符,其中关键字字段id自增长并且不许为空。

Pis事件表是对事件进行同步统计管理的表,经度纬度在地图上转换为墨卡托投影。

008c8dd5e766913f98c0dae872ebf16c

巡检配置表,表中十二个字段,分别为id,创建人,创建日期,更新人,更新日期,自动上报(是0否1),应该巡点范围,停留时间设定,轨迹报告间隔,轨迹开始记录时间,轨迹结束记录时间,单位编码,其中id作为主键,10个字段为varchar类型,2个字段为datetime类型,所有字段都不可以为空,并与实际相符,其中关键字字段id自增长并且不许为空。

d464ee8ea5a06ce479fc8ab9314b922f

巡检计划表,表中一共二十二个字段,分别为唯一标识,巡检计划编码,巡检类型,计划执行单位,巡检人员类型,巡检频次,巡检频次单位,巡检频次单位值,巡检交通工具,巡检人员id,巡检人员(管道科人员名称),巡检性质,巡检开始日期,巡检结束日期,制定依据,计划废除日期,计划标志,编制单位id,管网id,巡检范围标识,起始里程,终止里程,其中20个varchar类型,2个double类型,所有字段不可以为空,并与实际内容相符。

1a27e907b6a41cadd2a6363f33ec7f92

  3.3功能模块详细设计

系统管理模块是针对用户角色、部门角色、巡检角色进行管理的一个功能模块,能够完成对用户的基本信息的录入以及用户信息管理,角色在部门内的录入或新建,编辑修改部门角色信息和巡检角色信息。同时系统管理模块可以对online菜单进行配置;对数据字典内容进行配置修改。

事件管理模块是针对巡检事件、预警事件进行管理的一个功能模块,包括了巡检时发现发生事件的不同类型,对预警事件进行判断编辑并提出处理意见。桩牌管理模块是针对标桩牌进行修改查询删除以及从应巡点复制坐标等操作的一个功能性模块。

巡检管理模块是针对定期巡检计划、区段、应巡点进行管理的一个功能性模块:管理者可以对定期巡检计划、区段、应巡点进行修改查询删除以及确认详细信息、更改执行状态等操作。并可以在地图上根据经纬度标记点位,选择点的类型。

巡检详情模块是针对巡检记录、巡检统计、陪巡记录、临时监护、定期巡检记录、数据上报统计进行管理的一个功能性模块,管理者可以查看巡检点位、应巡点和已巡点、巡检人员,陪巡人和被陪巡人、巡检单位等数据并查看巡检的合格率并可以在地图上看到点位和巡检路线。在一定时期内对巡检人员的巡检统计、巡检率等数据进行统计。可以查看需要临时监护的巡线信息。同时可以检查各应巡点是否合格。

Online功能菜单的配置,是通过动态路由来实现的,动态路由平台是已经提前配置好的,采用隐藏路由的方式,菜单统一以auto开头,所以如果某角色需要访问online的菜单,必须把下面截图的隐藏路由菜单给角色授权,才能访问。

 3.4本章小结

本章主要讲述了巡检系统的设计概念和重要的功能模块设计,设计数据表,为后续实现系统打下了基础,核心数据表的设计以图表的形式进行具体的表述,为系统设计打下基准。

4系统实现

  4.1用户环境

服务器硬件方面CPU要求i5及以上;内存要求不小于1GB,硬盘要求不小于64GB;服务器端软件方面操作系统Windows10;浏览器不能低于ie8.0;系统在开发时使用Navicat premium工具连接MySQL数据库,使用IntelliJ IDEA2019作为后台开发工具,使用JetBrains WebStorm 2018作为前端开发工具,并使用Redis-server实现前后端分离。

 4.2开发规范

  4.2.1命名规范

所有命名不能使用汉字,应有相对应的含义,风格统一,包括LqBeanconController,LqBeancon;包名字母小写,包括controller和entity。关于类、属性名、方法名不能以无意义符号命名。

4.2.2数据库命名规范

数据库命名要求一切表名字段全部小写且不需出现汉字和特殊符号,数据库任何表id字段必须自增、唯一。

 4.2.3其他规范

缩进统一两字节,前端部分应有相应注释,注释含义明确,包括<!–xxx–>.后台部分也尽可能进行注释说明,包括/**xxx**/,导入依赖包时应注意尽量导入到类文件并且不要使用*。

 4.3可展现的系统功能实现

首先管理者进入平台进行登录,登录成功后可以对平台进行操作,左侧导航栏一级标签包括巡检详情,巡检管理,桩牌管理,时间管理和系统管理。巡检详情下的二级标签包括巡检记录,巡检统计,陪巡记录,临时监护和定期巡检记录;巡检管理下的二级标签包括应巡点管理,区段管理和定期巡检计划;桩牌管理下的二级标签包括桩牌数据管理和桩牌签到;事件管理下的二级标签包括巡检事件和光纤预警事件;系统管理下的二级标签包括我的部门,用户管理,菜单管理,单位角色管理和数据字典。

 4.3.1巡检记录功能

管理者进入平台进行登录,登录成功后可以对平台进行操作,点击左侧导航栏巡检详情进入巡检记录功能如图4.1巡检记录,选择地图下方数据可进行操作。

图4.1巡检记录

be2e09de59b8b67614c921ad284af891  点击进入后可以查看对应的巡检记录,可以查看到应巡点、已巡点和巡检率,包括在哪个区段,所属单位名称巡检时间和巡检人员代号,应巡点数量应与全部点位数量相同,为了防止出现如已巡点大于应巡点,可将其看做已巡点在完成巡检后额外进行应巡点巡检不参与巡检率统计,巡检率最大为百分之百。如图4.2巡检记录数据。

图4.2巡检记录数据

956e4a5b752a3a8045c481fbc1638f15

//墨卡托转经纬度

public static double[]Mercator2lonLat(double mercatorX,double mercatorY)

{

double[]xy=new double[2];

double x=mercatorX/20037508.34*180;

double y=mercatorY/20037508.34*180;

y=180/M_PI*(2*Math.atan(Math.exp(y*M_PI/180))-M_PI/2);

//使用公式用墨卡托投影逆推经度纬度

xy[0]=x;

xy[1]=y;

return xy;

}

public static void main(String[]args)

//定义类和静态main方法,不返回变量

{

double[]num=lonLat2Mercator(120.385222,36.061416);

System.err.println(num[0]+””+num[1]);

}}

点击地图右侧选择轮次进行具体点位查看,应巡点名称,巡检点是否合格,巡检频次和附件内容,点击三角按钮可以在地图上展示巡检行进路线,巡检率应由已巡点比上应巡点,如果已巡点大于应巡点,则说明已经完成全部巡检内容,即已巡点比应巡点大于等于一时显示巡检率为百分之百。如图4.3巡检记录应用。

图4.3巡检记录应用

a18e0966e7f916a083b3141497c94a3e  4.3.2定期巡检记录功能

管理者登录平台,点击左侧导航栏中巡检详情中的定期巡检记录,搜索框选择公司进行搜索,可以在表格中查看单位名称,区段名称,巡检人员,应巡点数,点次,已巡数,巡检率等数据,如图4.4定期巡检记录。

图4.4定期巡检记录

153bc0c7914c9b66e99c3ea5040a90d6  public Result<IPage<InsPlanDetailVo>>queryPageList(InsPlanDetailVo insPlanDetailVo,

RequestParam(name=”pageNo”,defaultValue=”1″)Integer pageNo,

//绑定类型,获取name

RequestParam(name=”pageSize”,defaultValue=”20″)Integer pageSize,

HttpServletRequest req)

{

Result<IPage<InsPlanDetailVo>>result=new Result<IPage<InsPlanDetailVo>>();

String username=JwtUtil.getUserNameByToken(req);

SysDepart depart=sysUserService.getDepCodeByUsername(username);

Page<InsPlanDetailVo>page=new Page<InsPlanDetailVo>(pageNo,pageSize);

if(ResultListUtil.getList(insPlanDetailVo.getDepartNamess())!=null)

{

insPlanDetailVo.setDepartNames(ResultListUtil.getList(insPlanDetailVo.getDepartNamess()));

}

IPage<InsPlanDetailVo>pageList=lqInsPatrolPlanService.planDetail(page,insPlanDetailVo,depart.getOrgCode());

result.setSuccess(true);

result.setResult(pageList);

return result;

}

4.3.3应巡点管理功能

应巡点管理是巡检统计管理的过程中最重要的内容之一,只有实现了应巡点才能够进行巡检系统的开发,不管是已巡点或是巡检路线还是定期的巡检计划,都不能离开应巡点,所以应巡点是系统功能实现的前提,所以应巡点功能应该各个参数必须有意义。

管理者登录平台,点击左侧导航栏中巡检管理中的应巡点管理,选择地图下方应巡点内容进行操作。

图4.5应巡点管理

c18745bfdf0ffe6b756c3305f7a1839e  显示点名称,创建时间和地址,可对所属单位,巡检点类型,巡检间隔,启用状态等进行编辑,点击保存提示是否进行修改,点击确定修改显示保存成功,即修改成功,应巡点的经度纬度坐标通过转化变成网络墨卡托的坐标显示在地图上,如果直接点击地图进行点位选择,则将网络墨卡托投影坐标反推经纬度保存在数据表中。如图4.6应巡点管理使用。

图4.6应巡点管理使用

f0ea21f7027b1d595b796b198212118b  设置两点间距离:

public static double distance(CheckVo p1,CheckVo p2){//设置点1和点2

double lat1=Double.parseDouble(p1.getLatitude());//点1的纬度

double lat2=Double.parseDouble(p2.getLatitude());//点2的纬度

double lng1=Double.parseDouble(p1.getLongitude());

double lng2=Double.parseDouble(p2.getLongitude());

double radLat1=lat1*Math.PI/180.0;

double radLat2=lat2*Math.PI/180.0;

double a=radLat1-radLat2;

double b=(lng1*Math.PI/180.0)-(lng2*Math.PI/180.0);

double s=2*Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2)

+Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));

return s*6370996.81;

}

}

计算点到直线距离

public static double H(CheckVo p,CheckVo s,CheckVo e){

double AB=distance(s,e);

double CB=distance(p,s);

double CA=distance(p,e);

double S=helen(CB,CA,AB);

double H=2*S/AB;

return H;

}

  4.3.4桩牌数据管理功能

管理者登录平台,点击左侧导航栏桩牌管理中的桩牌数据管理,选择地图下方桩牌内容进行操作,如图4.7标桩数据管理。

图4.7标桩数据管理

802dbe906c7062f5d395739f8ef100ba  try{//添加数据

lqBeacon.setCode(UUID.randomUUID().toString().replace(“-“,””));

lqBeacon.setDelFlag(“0”);

if(StringUtils.isNotEmpty(lqBeacon.getSectionName())){

LqSection section=lqSectionService.getBySectionName(lqBeacon.getSectionName());

lqBeacon.setSectionId(section.getId());

}

if(StringUtils.isNotEmpty(lqBeacon.getLineLoopName())){

LqPipeline line=lqPipelineService.getByLineName(lqBeacon.getLineLoopName());

lqBeacon.setPipeline(line.getId());

}

lqBeaconService.save(lqBeacon);

result.success(“添加成功!”);

}

catch(Exception e){

log.error(e.getMessage(),e);

result.error500(“操作失败”);

}

return result;

}

可对桩号桩信息等内容进行编辑,可根据预设的单位名称、所属管线等内容进行选填,也可以直接从应巡点复制坐标当做桩标进行管理,如图4.8标桩数据管理添加。

图4.8标桩数据管理添加

ecd3551180985848399042b89768dfaa  4.3.5巡检事件功能

管理者登录平台,点击左侧导航栏事件管理中的巡检事件,选择巡检事件进行编辑,如图4.9巡检事件。

图4.9巡检事件

5a407a94eee9f20ca05fbac9b13c26b1  地图跳转到事件发生点,标注了事件名称,事件类型事件地址和汇报日期,点击地图右侧事件跟踪可对其进行编辑,内容包括事件描述管道科意见是否有效处理状态等内容,巡检事件分为第三方施工、管道占压、地质灾害、线路设施损坏、地面标示损坏、水工设施损坏、盗油损坏、地质灾害和其他九种情况,点击保存即修改成功,如图4.10巡检事件修改。

图4.10巡检事件修改

28f2661c5fd832836f73bd6e3cde7765  if(lqEventEntity==null){

result.error500(“未找到对应实体”);

}else{

lqEvent.setUpdateBy(username);

lqEvent.setUpdateTime(new Date());

boolean ok=lqEventService.updateById(lqEvent);

//TODO返回false说明什么?

if(ok){

LqEventLog eventLog=new LqEventLog();

eventLog.setCreateBy(username);

eventLog.setCreateTime(new Date());

eventLog.setEventId(lqEvent.getId());

if(StringUtils.isEmpty(lqEvent.getEventType())){

eventLog.setEventType(“0”);

}

if(StringUtils.isEmpty(lqEvent.getManageType())){

eventLog.setMangeType(“0”);

}

eventLog.setEventType(lqEvent.getEventType());

eventLog.setMangeType(lqEvent.getManageType());

eventLog.setRemark(lqEvent.getEventIdea());

lqEventLogService.save(eventLog);

result.success(“修改成功!”);

  4.4本章小结

本章主要展示了开发系统、应用系统的开发环境、项目要求的开发规范、项目使用时的操作方法和4个主要功能的实现方法,包括了巡检记录,点位管理,桩牌统计,和时间统计管理,数据的查询,使用多种方式进行查询,点位在地图上的实现和点位间距离的计算,对数据进行操作修改时如何进行判断,将点位的经度纬度转换成网络墨卡托实现地图的点位管理,效果通过抓图如实反映出来。

 5系统测试

软件测试是伴随软件开发而产生的必不可少的一部分,在软件系统的开发过程中编程人员无法避免出现错误。测试的目的就是为了发现系统的缺陷和不足,确保最终的产品符合需求,确保系统是健全并适应环境的,应把尽可能多的问题在系统最终使用前发现并改正。

 5.1登录模块的测试

在登录模块的测试中,采用多次测试进行全面的检测:

表5.1登录测试用例

4a117745929bd3bfc5f0d6443b912629

以上为后台巡线统计系统管理员登陆的完整测试案例,其余所有功能按照以上方式定制完善的测试案例进行测试。

系统测试是对整个系统进行测试,系统测试的目的是为了验证系统的各项功能是否能够满足用户的需求,找出其中的差别或矛盾,提出一个更完善的解决方式进行修改,经过集成测试系统,发现问题并调试找出错误的位置并确定原因,进行纠正。系统的所有组件环节都应该包含在内。

按照后台巡线统计系统需求分析部分所提供的功能,进行多次全面系统测试,测试过程中除个别页面存在问题进行修复外,系统的整体功能并未发现明显错误。

5.2数据加密规则

前端:getEncrypte(){

var encryptedString=Vue.ls.get(ENCRYPTED_STRING);

if(encryptedString==null){

getEncryptedString().then((data)=>{

this.encryptedString=data

});

}else{

this.encryptedString=encryptedString;

}

},

后台:

GetMapping(value=”/getEncryptedString”)

public Result<Map<String,String>>getEncryptedString(){

Result<Map<String,String>>result=new Result<Map<String,String>>();

Map<String,String>map=new HashMap<String,String>();

map.put(“key”,EncryptedString.key);

map.put(“iv”,EncryptedString.iv);

result.setResult(map);

return result;}

Data

public class EncryptedString{

public static String key=”abcdefghijklmnop”;//长度为16个字符

public static String iv=”abcdefghijklmnop”;//长度为16个字符

}

在vue页面引入Encrypt.js encryption方法。请求后台获取/sys/getEncryptedString接口,以此获取加密所需要的key和iv,获取成功后即可对数据进行加密操作,加密解密所需要的字符长度都为16字符,所以在数据输入时尽量不使用特殊字符,以免出现问题

      5.3压力测试

  本文压力测试使用的是ab进

行测试,ab是apache自带的一款功能强大的测试工具工具,具体使用方法为使用时在Windows系统命令行开启后下执行命令:

ab-n 1500-c 100-w http://localhost/user/Login

图5.1压力测试结果

9ee833d47be990cb2b2c1a11a765e7a5  即访问login.vue脚本1500次,100并发同时执行。经测试,本系统可承担1500人同时登录访问。响应时间在预期内,并未出现请求失败的情况,请求响应的结果符合期望

 5.4本章小结

本章主要为实现功能后应如何操作进行测试,测试的目的是验证系统的功能是否可行并满足预计的需求,经过测试发现系统没有严重的错误,以登录测试为例进行展示,并对数据加密代码进行公示,对项目进行简单的压力测试,目的是证明项目可以在极端条件下超负荷的运行不会崩溃,项目本身是有实际使用价值的。经过全面测试,系统达到了预期的设计要求。

 结论

对传统人工巡线进行统计管理一直是困扰社会的一大难题,在传统的巡查方法中往往使用人工巡视的方式,在巡视后提交书面纸介质记录进行汇报总结,这种方法受到人为影响因素比较多,而且在进行管理时成本难以控制,并且没有办法了解到巡检人员工作的实时状态,这些问题导致巡检数据的信息化程度低,收到纸质的巡检数据也不能够及时的分析,发生问题不能及时解决,带来的损失会随着时间的推移成倍增加。本巡检后台统计系统能够有效的通过数据可视化,对监督巡检质量和到位率进行监控和管理,避免巡检人员巡检不到位、替代巡检等问题的发生。

不可否认无人机、无人车巡检已经开始有取代传统人工巡检的势头:其速度快、节约人力,更容易到达人类难以抵达的地方进行检测。这是科技发展必然会走到的一步,但即便在未来人工巡检也不会被完全取代。如上面所述的传统的人工巡检方法虽然存在着许多弊端,但是由于传统的人工巡检方法具有高度的适应性和灵活性,所以人工巡检的方法仍然是必不可少的,而且人工巡检方法在现阶段仍有着不可替代的优势。

本文中所研发的巡检后台统计系统在一定程度上可以弥补传统人工巡检的不足之处,即在平台即可观察巡检人员的已巡点和巡检率,杜绝了手工纸介质记录存在主观性影响多不够客观的情况,并且在线上进行事件管理一定程度上避免了线下人工处理出现失误时推卸责任的情况,有利于督促巡线员的工作,不遗漏容易疏忽的巡检位置。

本系统的设计与实现有效提高了人工巡检的效率和积极性,并且增强了管理者的监管力度,增强了平台的实用性。因为涉猎社会范围较小,在构思设计时经验不足的原因,本文系统仍需要继续完善,以此弥补系统的不足。

 致谢

四年的时间转瞬即逝,我们也即将为紧张又充实的大学生活画上句点。不巧迎来了这样一个特殊的年份,新冠肺炎席卷全球,不能返校的我们只好分散在全国各地撰写论文。尽管遗憾无法在学校和老师同学们一起书写下最后的故事,但是这些遗憾也将催着我们成长。2016年盛夏草木芬芳,在历经彷徨迷惘后,我们开始勤励为舟;2020年初夏天各一方,我们怀揣着理想抱负,开始走向下一个目标。

在这次毕业设计中,感谢学校和领导提供学习的平台,让我学习到专业知识和技能并能应用到实际中。在完成论文中,老师从选题内容,论文细节的修改,都给予了详尽的指导,提出了许多宝贵的建议和意见。在我遇到困难陷入迷惘时,老师总能及时对我进行开解。老师对工作认真、对学术严谨的学风,也是需要我学习的榜样。同学间为同一个目标互相监督打气,也是学习的动力之一,感谢同学每天的监督和对比。论文的完成离不开老师和同学的帮助和鼓励。

最后,由衷的感谢参与论文评审和答辩的各位老师,老师们给了我一个审视几年来学习成果的机会,让我明确今后的发展方向。

参考文献

[1]殷磊谢文阁许志来黄阿坤.网络虚拟实验教学系统的设计与实现[J].软件工程,2018(12):48-50.

[2]王翔沈为曾丹.基于Vuejs的智能超市导航系统[J].工业控制计算机,2018(12):133-135.

[3]吕品田.基于vuejs的共享空间平台的设计[J].数字通信世界,2018(03):207-207.

[4]朱景福高军.网络选课与学分制管理系统的建立与应用[J].黑龙江八一农垦大学学报,2008(03):89-92.

[5]韩梅索林生颉胜华.电子商务时代的ERP设计与开发探究[J].中国市场,2008(15):79-80.

[6]林腾.基于B/S模式中职学校后勤报修系统的设计与应用[J].广东教育:职教,2018(8):3-3.

[7]霍雨佳陆子豪沈谟娇.日语单词学习APP平台开发与应用研究[J].计算机时代,2018(03):54-56.

[8]陈太栋仝西川张玉林.高校技术防范的发展现状与未来趋势[J].新东方,2006(08):33-35.

[9]胡志猛.GPS智能巡检系统在输电线路管理中的应用[J].大科技:科技天地,2011(18):2-2.

[10]王建明.关于电子巡更系统应用中若干问题的思考[J].智能建筑,2004(07):29-32.

[11]许艾明袁麓刘耀阳.基于RFID技术的电力设备智能巡检系统研究[J].电工技术,2013(05):55-56.

[12]徐忠莲.基于语音交互的家政预约APP设计与实现[J].智能计算机与应用,2018(6):5-5.

[13]王华荣董昭德赵丽平陈小川.接触网智能巡检系统的设计与开发[J].电气化铁道,2005(05):34-37.

[14]陈敏.高压用电检查PDA系统的开发和应用[J].中国科技博览,2015(16):1-1.

[15]Bruce Eckel.Thinking in Java[M].New Jersey:Prentice Hall,2006:248-281

[16]Kara DiFrancesco,Alix Gitelman,David Purkey.Bottom-Up Assessment of Climate Risk and the Robustness of Proposed Flood Management Strategies in the American River,CA[J].Water.2020,12(3):907

[17]Ahmad Bala Alhassan.Power transmission line inspection robots:A review,trends and challenges for future research[J].Elsevier Ltd.2020,118:1-19

[18]徐秋达.南水北调配套工程巡检管理系统研究与应用[J].人民黄河.2017,39(12):123-126+130

[19]金武杰,陈麟红.基于最近邻法的电力电缆巡线路径的优化[J].电力大数据.2019,22(03):39-43

[20]代微.云南省天然气有限公司长输管道巡检管理系统的设计与实现[D].山东:山东大学,2018

[21]肖文晨.计算机网络控制在城市燃气安全管理中的应用[J].仪器仪表标准化与计量.2018,04:43-45

[22]张婷.铁路巡线人员定位系统的设计[D].山西:中北大学,2017

[23]李永站.基于GIS的燃气管网运营管理信息系统[D].荆州:长江大学,2019

[24]冯钦华,胡金磊.浅谈输电线路监测方法[J].通信电源技术.2017,6:263-265+269

[25]姜翔飞,刘桂志,赵雅琴等.基于GRRS的油气管道在线巡线系统及应用[J].油气田地面工程.2018,4:69-70+7

基于JeecgBoot的巡检后台统计系统设计与实现

基于JeecgBoot的巡检后台统计系统设计与实现

价格 ¥9.90 发布时间 2023年10月18日
已付费?登录刷新
下载提示:

1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。

2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。

原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/172996.html,

Like (0)
1158的头像1158编辑
Previous 2023年10月15日
Next 2023年10月18日

相关推荐

My title page contents