APP下载

整定单在转协同平台的设计与实现

2021-12-14周耀龙曾伟计荣荣单禹陈科张波

科学技术创新 2021年34期
关键词:预览校核菜单

周耀龙 曾伟 计荣荣 单禹 陈科 张波

(国网浙江省电力有限公司检修分公司,浙江杭州 311121)

整定单对于设备的正常运行起着决定性作用,研究如何实现整定单关键数据的正确性验证、如何实现大量整定单的电子化归档管理、如何实现整定单的编审批在线协同、如何实现整定单的快捷统一查询等,有助于改善或解决整定单在传统方式下的编审批效率低下、数据低级错误无法察觉等问题。

1 功能介绍

1.1 整定单在线创建

根据表单内关键信息自动匹配模板,填入数据,其中,间隔类型、整定单编号将自动填充。平台采用前后端分离技术,充分利用客户端计算资源,有效减轻服务器负担,提高系统整体效率。同时,平台设置多种字段验证规则,提交数据时,首先进行表单验证,避免低级数据错误,只有前端验证通过后才向后端传送数据。随后,后端将快速生成整定单文件,使前端在线预览。其中,整定单编号是唯一的,创建相同整定单编号的数据将丢弃,后端返回错误信息提示用户修改数据。

1.2 整定单在线审批

设置校核、审核、批准三级审阅流程。审阅过程结合数字签名算法,采用JWT-TOKEN 认证方式,实现各环节人员鉴权,保证认证环节的安全性和不可抵赖性。流程通过将自动在整定单内加入审阅人电子签名,并支持审阅批注。

1.3 整定单在线检索查阅

提供根据字段精准搜索、关键词模糊搜索(便于整定单的快速查询)两种检索方式。详情页含整定单预览、下载及打印、模板预览、下载及打印、关联数据展示(包括CT 变比、间隔类型、设备型号等所有数据)、流程信息展示(包括整定单目前流程状态、各流程环节的审阅人、审阅时间及审阅批注等)等。

2 实现方式

2.1 技术栈

平台采用目前最新技术栈,基于COOL-ADMIN 后台管理框架(MIT 许可证),采用TYPESCRIPT 作为全栈开发语言。前端采用VUE3-VITE,UI 采用Element Plus、后端采用NODE、数据库采用MYSQL、数据库操作采用TYPEORM。

2.2 架构

充分运用最新的技术栈,以模块化、高复用、风格化、精简化为目标构建代码。运用VSCODE 代码编辑器下ESLINT 实时代码检查,实现全局代码的正确性核对;运用TYPESCRIPT 相对JAVASCRIPT 新增的强类型、接口、类、继承特性;运用VUE3相对VUE2 新增的组合式API、响应式等特性,更好地实现前端组件的高复用率;运用TYPEORM 实现以最高效的方式编写高质量的、松耦合的、可扩展的、可维护的应用程序;运用VITE 技术实现面向现代浏览器的原生模块系统ESModule 按需编译,极大加快编译速度,提高开发效率;同时以同一种语言进行全栈开发,代码风格统一。

2.3 界面设计

由图1 所示,布局含左侧菜单栏、顶部信息栏和主体三部分。其中,菜单栏通过鉴权实现动态展现;顶部信息栏包含导航条和标签页,并展现当前用户名;主体呈现数据表,每行记录含操作栏,并提供检索。菜单上,划分工作台、资源库、系统管理、任务管理共4 个一级菜单。其中,工作台下的二级菜单包括:我的模板、我的整定单、待校核整定单、已校核整定单、待审核整定单、已审核整定单、待批准整定单、已批准整定单共8 个,根据用户的权限显示其中部分二级菜单;资源库下的二级菜单包括:模板库、整定单库共2 个,提供平台数据库内所有的整定单与模板记录;系统管理下的二级菜单权限管理下配置3 个三级菜单,分别为用户列表(用于管理平台用户)、菜单列表(用于配置每个菜单可见用户组)、角色列表(用于管理平台用户组,即权限的集合)。

图1 主界面

2.4 安全性设计

由于本平台采用前后端分离的架构,服务器对于API 请求的安全性作出更高的要求。如图2 所示,为平台不同使用者赋予不同的操作权限,菜单栏仅显示与本用户组相关的菜单,表格的操作栏仅展现具备权限按钮,后端响应函数对于字段已设置验证规则。此外,登录页面加入验证码,从而避免暴力破解。

图2 角色配置

2.5 数据表设计

数据表字段包括:ID(NUMBER 类型,自动生成)、整定单编号(字段名:SERIESNUMBER,STRING 类型,唯一)、模板(字段名:TEMPLATE,STRING 类型)、整定单(字段名:FILE,STRING类型)、编写人(字段名:USERWRITE,STRING 类型)、编写日期(字段名:DATEWRITE,STRING 类型)、编写备注(字段名:DESCWRITE,STRING 类型)、校核人(字段名:USERCHECK,STRING 类型)、校核日期(字段名:DATECHECK,STRING 类型)、校核备注(字段名:DESCCHECK,STRING 类型)、审核人(字段名:USERVERIFY,STRING 类型)、审核日期(字段名:DATEVERIFY,STRING 类型)、 审核备注(字段名:DESCVERIFY,STRING 类型)、状态(字段名:STATUS,STRING类型)、调度编号(字段名:NUMBER,STRING 类型)、间隔类型(字段名:TYPE,STRING 类型)、地区(字段名:DISTRICT,STRING 类型)、变电站(字段名:SUBSTATION,STRING 类型)、电压等级(字段名:VOLTAGE,STRING 类型)、是否为模板(字段名:ISTEMPLATE,BOOLEAN 类型)、设备厂家(字段名:MANUFACTURER,STRING 类型)、设备型号(字段名:MODEL,STRING 类型)、软件版本(字段名:VERSION,STRING 类型)、校验码(字段名:CRC,STRING 类型)、CT 变比(字段名:CT,STRING 类型)、PT 变比(字段名:PT,STRING 类型)等、创建时间(TIMESTAMP 类型,自动生成)、修改时间(TIMESTAMP 类型,自动生成)。

2.6 整定单编号生成算法

编号由电压等级、地区、变电站名称、特征码、编制日期等要素构成。例如5SXCH-5555-210809,5 代表为500kV(电压等级),SX 为绍兴的首字母(地区),CH 为春晖首字母(变电站名称),5555 为特征码(由调度命名及间隔类型决定),210809 代表2021 年8 月9 日(编制日期)。

技术上,汉字首字母的提取采用PYFL 依赖,时间提取采用DAYJS 依赖,特征码运用正则表达式生成。如表1 所示,以集合形式存储,方便后期快速修改。对于无法唯一匹配的特征码,将提示用户手动修改。

表1 主要特征码正则表

2.7 整定单生成算法

新改扩建工程中,变电站同期新上的测控多采用同一型号,整定值基本一致。为实现同一类型整定单批量快速创建,平台内所有的模板和整定单均可复用,且支持模板自定义。技术上,运用DOCXTEMPLATER 依赖。原理上,实现文档内关键词的替换(如“{电压等级}”等)。实现效果如图3 所示。具体的,算法写在后端,重写服务的默认ADD 与UPDATE 方法,在方法中加入生成函数。再新增用于响应审阅请求的服务,也加入该生成函数。逻辑上,生成函数内首先读取请求的ID,根据ID 在数据库中查询记录,得到记录后分解出关联的模板(字段为TEMPLATE)以及其余数据(如CT 等),再读取模板文件,传入替换的数据,将生成的整定单文件存于后端的PUBLIC 对外公开,转换路径后最终再存于记录中的整定单(字段为FILE)中即可。

图3 整定单模板(左)与整定单生成文件(右)

2.8 整定单在线预览实现方式

为提高用户体验实现了“可见即可得”,技术上集成KKFILEVIEW 插件。该插件提供API 接口,传入URL 即可实现DOCX 格式转PDF 和PNG,引入IFRAME 在线预览,并支持标签、打印、查询等功能,如图4 所示。具体的,在DOCKER 中运行KKFILEVIEW 镜像,本地调试环节下将会暴露在127.0.0.1:8012,其API 采用GET 方式获取参数,格式为:127.0.0.1:8012/onlinePreview?url=encodeURIComponent(Base64.encode(url)),即采用GET 请求方式,并在url 参数处传入经BASE64 编码后的整定单URL 再进行URI 编码。不接受127.0.0.1 域名的URL,故在启动前端时需要yarn dev—host,使平台暴露在192.168.x.x域名下。此时KKVIEWFILE 将把DOCX 转为PNG 图片格式提供在线预览,可在GET 请求中再传入&officePreviewType=pdf,即转为PDF 格式提供预览。最后,在前端加入IFRAME 组件,其SRC 参数绑定上述结合后的URL 即可。

图4 整定单在线预览

2.9 角色设置与权限分配

平台共设置5 种角色,分别为编制人、校核人、审核人、批准人、管理员。其中,编制人分配整定单的查询、新增、修改权限(仅在整定单为该用户编制且流程在“编制完成”方可生效,其余情况均为禁用态),工作台菜单提供“我的模板”和“我的整定单”;校核人分配整定单的查询、校核权限,工作台菜单提供“待校核整定单”和“已校核整定单”;审核人分配整定单的查询、审核权限,工作台菜单提供“待审核整定单”和“已审核整定单”;批准人分配整定单的查询、批准权限,工作台菜单提供“待批准整定单”和“已批准整定单”;管理员开发所有权限及菜单。所有用户开放资源库下的“整定单库”、“模板库”菜单及查询权限。

3 测试

3.1 兼容性

在部分系统及浏览器(操作系统:WINDOWS 10、MAC 10.14.1;浏览器:CHROME、EDGE)下测试,程序运行正常。

3.2 响应速度

首次加载与渲染总用时125ms,加载完成后其余页面打开时间18ms。路由缓存的应用,使得再次打开同页面达到秒开。

4 效益与成果

整定单在线协同平台的应用使整定单的编审批全过程实时性大为提升。传统的全流程多为单线流程,审阅时多遇到因时间问题导致某环节的阻塞,纸质文件在传阅过程中也存在丢失的风险。在各环节当面审阅通过后,最后还需将文件扫描成电子文件,所有的数据不便检索。传统方式的流程过于复杂,且流程实时性欠佳。而平台打通整定单从无到有全过程,所有流程均在同一平台下进行,数据自动存于数据库,运用模糊搜索使得检索效率极高,且实现自动归档,极大方便后期管理。采用模板化的整定单创建方式,仅需修改少量数据即可生成,且已有多种表单验证方式,杜绝低级数据错误的发生。

在经济性方面,可将平台部署于省公司服务器,无需额外的服务器硬件搭建开销。基础框架采用MIT 开源协议,不存在版权开销。二次开发后,可进行软件著作权登记以及专利保护。

从自主可控性而言,平台由公司职工开发维护,对平台的运作与配置熟悉,可提供快速的平台技术支撑。不依赖已有系统,数据完全在控。

5 结论

整定单在线协同平台极大方便了整定单编审批、归档管理、内容检索等。通过项目的不断迭代,已融合目前最新的技术栈。运用更精简的代码,实现更完善的功能,构建更友好美观的用户界面。相比国网公司原有的资料检索平台,本平台不管功能性、运行速度、还是界面美观性等各方面均处于绝对优势。后期通过公司内试运行,解决更多生产管理实际痛点。

猜你喜欢

预览校核菜单
发电机进相试验失磁保护与低励限制配合关系的校核
整车总布置DMU智能校核方法
新品预览
中国新年菜单
FPSO火炬塔海运绑扎方案及强度校核
本月菜单
11月在拍电视剧预览表
混凝土搅拌车液压驱动系统及取力器匹配校核
bauma China 2014展前预览
一个“公海龟”的求偶菜单