基于Django框架的特种设备使用过程监管软件的设计和实现
2018-05-14苏明王海英李忠科陈凯
苏明 王海英 李忠科 陈凯
摘 要:特种设备是企业开展生产经营活动的重要生产资料,因其具有高危险性和事故易发性,所以对其使用过程加强监管非常重要。文章分析了企业特种设备管理工作中存在的问题,提出了应对措施,并基于Django开发框架设计出特种设备使用过程监管软件,使各管理环节时刻处于可控状态,以利于特种设备全过程监管目标的实现。
关键词: 特种设备;使用过程监管;Django;软件;设计和实现
中图分类号:TP311 文献标识码:A 文章编号:1672-4437(2018)02-0035-05
特种设备具有高危险性和事故易发性,如果使用监管不善,一旦发生事故,极易造成群死群伤和重大财产损失。本文设计了基于开源Django框架的特种设备使用过程监管软件,将以前较为零散的片段管理形成体系化、流程化,使各管理环节时刻处于可控状态,有利于实现特种设备的全过程监管目标。
1 特种设备管理现状
根据《中华人民共和国特种设备安全法》有关规定,特种设备是指对人身和财产安全有较大危险性的锅炉、压力容器(含气瓶)、压力管道、电梯、起重机械、客运索道、大型游乐设施、场(厂)内专用机动车辆。一般工业企业使用的特种设备主要有锅炉、压力容器、压力管道、电梯和物流特种作业车辆等五类。
目前大部分企业都很重视特种设备使用的过程监管,但往往要求提的多,实际工作措施少。很多管理工作或流于形式,或工作方式粗犷,主要有以下几个方面的问题。
1.1 特种设备安全技术资料不完整
企业特种设备采购、日常管理和使用归属于内部不同部门,没有形成有效的安全技术资料管理机制。采购部门采购、安装、调试设备后没有将技术资料进行归档,常出现资料保管不善丢失的情况,导致一些特种设备安全技术资料仅存有设备台账和定期检验检测记录,其它如设备的设计文件、产品质量合格证明、使用维护说明等缺失。
1.2 设备大修、改造过程记录不完整
一般企业都会有设备管理ERP系统,可以利用其进行设备的日常维修、保养、点巡检等业务处理。但针对特种设备,其大修、局部改造的过程资料非常重要,但此部分一般以独立的招标采购项目的形式开展,过程资料保存在实施项目的管理部门,没有做到“一机一档”、统一归档。
1.3 检验检测周期管理方式原始
不同种类的特种设备检验检测周期不同,某些设备还有具体要求,如锅炉每年进行一次外部检测,每两年进行一次内部检测,当年做过内部检测的不用进行外部检测。这些信息仅由企业负责特种设备检验检测的具体人员通过EXCEL表格进行管理,易造成遗忘而延迟检验的状况。
1.4 应急演练过程记录零散
安全应急演练工作一般由企业安全保卫部门指导,各使用部门定期自行开展。相关演练过程的方案、实施记录和图片资料等由各部门保存,资料零散,未进行统一归档。
1.5 特种设备维修过程缺少管控
特种设备出现故障后,一般企业都会有一套相应的报修、维修流程。但在维修工作中,维修的内容、维修费用使用、维修进展情况、维修效果等方面却缺少过程管控,缺少闭环管理,针对某台设备的维修记录更是无法完整统计。
1.6 报废处置过程监管薄弱
特种设备的报废与普通设备不同,报废时须向特种设备监督管理部门提出停用申请,处置过程也有相应的流程,这些工作的过程监管较为薄弱。
2 软件总体设计
2.1 功能模块设计
软件功能模块设计为系统管理、法律法规管理、台账管理、安全技术资料管理、特种设备检验管理、特种设备大修、改造管理、特种设备日常维修管理、应急演练管理等。软件功能模块如图1所示。
2.1.1系统管理
系统管理模块包括用户管理、角色管理和授权管理以及系统注销和退出等。
用户管理:通过此模块新增、修改和删除用户。
角色管理:通过此模块建立使用软件的用户角色。根据不同的业务内容、不同的管理层次分为多个角色,每个角色具有不同的使用权限。
授权管理:通过此模块给每个用户授予不同的角色权限。
2.1.2 法律法规、标准、制度管理
此模块分成三个层级的内容,可以上传并保存国家、行业、企业针对特种设备管理所发布的法律法规、行业标准、管理制度、技术规范等文档资料,便于对用户日常使用、保养、管理等业务进行指导。
2.1.3 台账管理
对特种设备台账进行分类管理,分为锅炉、压力容器、压力管道、电梯、特种车辆以及附属的安全阀等,具备设备台账的新增、修改、删除和查询等功能。
2.1.4 安全技术资料管理
此模块上传并保存各种特种设备的安全技术资料文件,包括设备的设计文件、产品质量合格证明、安装及使用维护保养说明、监督检验证明等相关技术资料和文件;设备的定期检验和定期自行检查记录;特种设备的日常使用状况记录;特种设备及其附属仪器仪表的维护保养记录;特种设备的运行故障和事故记录等。设备安全技术资料与台账信息进行关联,形成“一机一档”资料。
2.1.5 特种设备检验管理
根据不同的设备类型,设置检验周期。每次检验检测结束后,将检验记录扫描作为检验附件进行保存,记录检验时间,软件可根据检验周期自动安排下次检验时间,并能够在到期前进行提醒。
2.1.6 特种设备大修、改造管理
在特种设备进行大修、改造时收集项目实施内容,并在项目验收后将相关资料进行归档,与台账信息进行关联,完善“一机一档”资料。
2.1.7 特种设备日常维修管理
特种设备发生故障需要维修时,使用者通过软件提报维修申請,经领导审批后,单据流转到设备管理部门,由设备管理部门特种设备管理员联系维保单位进行维修。在维修过程中,特种设备管理员实时跟踪维修进度,维修完成后填报维修费用,进行流程闭环。
2.1.8 应急演练管理
实现对演练方案、演练记录、演练成效的全过程管理。
2.2 数据库设计
以特种设备检验模块为例,每台设备都有唯一的设备编码,并属于某一种设备类型。每一种设备类型都有一个检验周期的设定,每次设备检验后都进行检验记录的登记归档,ER图如图2所示。
2.3 系统的结构设计
针对目前特种设备使用过程中普遍存在的管理问题,本文设计特种设备使用过程监管软件,实现对特种设备使用过程的监督和管理工作。软件开发采用Python语言,开发框架使用成熟的Django开源开发框架。
Django是基于Python语言实现的Web应用开发框架,采用MTV(模型M、模板T和视图V)设计模式,利用URL匹配模块、内建模板语言和缓存系统,实现业务模块拆分和快速部署。同时,它采用ORM(模型对象关系映射)技術,将关系型数据库表抽象成面向对象的Python类,将表操作转换成类操作,避免了复杂的SQL语句编写。
软件将各功能模块分别定义为独立的服务,为表示层提供可调用的views接口,业务逻辑层通过其中的单个服务或多个服务构成的服务组形成业务流程。用户通过浏览器提出数据请求时,由业务逻辑层进行处理,通过模板形式向用户展示获取到的数据。软件系统结构图如图3所示。
Django处理应用请求的具体程序流程如图4所示。当用户对其需要的服务进行检索访问时,从客户端浏览器发出的HTTP 请求被转化成HttpRequest对象,该对象被传递给 Request 中间件处理,如果该中间件返回了Response,则直接传递给 Response 中间件做处理。否则Request 中间件将访问 URL 配置,确定由哪个 view 来处理,在执行该 view 前,系统把 request 传递给 view 中间件处理器进行处理,如果该中间件返回了Response,那么该 Response 直接被传递给 Response 中间件进行后续处理,否则将执行确定的 view 函数处理并返回Response。
3 软件实现
3.1 软件环境部署
3.1.1框架环境:Python3.6和Django2.0
3.1.2开发工具:Pycharm2017.3
3.1.3前端框架:Bootstrap3.3
3.1.4后端数据库:Mysql5.7
安装Python后,在Django文件夹中执行命令行python setup.py install,即完成主要开发环境的搭建。随后安装Mysql数据库,用于存储数据。
3.2 后台管理开发
3.2.1 创建项目
本软件所建项目名为mycode,所使用命令行为:
django-admin startproject mycode
3.2.2 创建应用
每个项目中可包含多个应用,本软件的应用名为tzsb,所使用命令行为:
python manage.py startapp tzsb
3.2.3 修改配置文件
在settings.py配置文件中将应用名加入INSTALLED_APPS中,并修改数据库连接配置。具体内容根据数据库类型的不同而有所差异。
3.2.4 定义数据模578B
以特种设备台账为例,编辑models.py文件内容,其中Ylgd_sbinfo为数据表名:
from django.db import models
class Ylgd_sbinfo(models.Model):
sb_name = models.CharField(verbose_name='管道名称', max_length=100)
sb_num = models.CharField(verbose_name='管道编号', max_length=50)
sb_syz = models.CharField(verbose_name='管道使用证', max_length=50)
sb_jb = models.CharField(verbose_name='管道级别', max_length=50)
sb_length= models.IntegerField(verbose_name
='管道长度(M)')
sb_ylwd = models.CharField(verbose_name
='工作压力/温度', max_length=50)
sb_fsfs = models.CharField(verbose_name
='敷设方式', max_length=10)
sb_memo = models.CharField(verbose_name
='备注', max_length=50)
sb_signer = models.CharField(verbose_name
='登记人', max_length=50, default='system')
def __str__(self):
return self.sb_name
3.2.5 同步数据库,生成数据表
通过以下两条语句实现数据库表的创建:
python manage.py makemigrations tzsb
python manage.py migrate
3.2.6 生成admin的超级管理用户
python manage.py createsuperuser
3.2.7 启动服务,进入后台管理
在admin.py中注册数据表后,运行python manage.py runserver命令即可启动服务。在浏览器中通过地址127.0.0.1:8000/admin登录后台管理。Django框架最大的优点是自带强大的后台管理功能,可以省去很多后台开发任务,实现对所有数据表的增删改查操作,操作界面如图5所示。
3.3 前端界面开发
3.3.1 配置URL
在urls.py文件中进行配置,相应的url对应相应的view函数。前段页面开发采用BootStrap前端框架,使用Django的模板语言进行前端页面的开发。
3.3.2 定义view
在views.py文件中定义视图。当请求一个页面时,Django 创建一个包含有关请求数据的 HttpRequest 对象,并将它传给视图函数,视图函数处理完相应逻辑后返回一个HttpResponse 对象,随后Django转换HttpResponse为一个适合的HTTP Response,以Web Page显示出来。
3.3.3 运行效果
软件运行效果如图6所示,实现了特种设备整个使用过程的监管业务,达到了良好的应用效果。
4 结论
加強特种设备使用过程的监督管理,对于保证安全生产,保障国家财产和职工生命的安全具有特别重要的意义。本文以特种设备管理的整个过程为研究对象,分析生产运营过程中遇到的实际问题,设计特种设备使用过程监管软件,能够提高企业特种设备管理工作水平。通过研究,也可以提高基层管理人员利用信息化手段分析和解决问题的能力。
参考文献:
[1]何敏煌.Django架站的16堂课[M].北京.清华大学出版社.2017:42.
[2]王友钊,黄静.Django开发宝典[M].北京:清华大学出版社,2017:118.
[3]疯狂的蚂蚁.对Django框架架构和Request/Response处理流程的分析[DB/OL].(2012-08-24)[2018-03-20]. http://www.crazyant.net/1001.html
[4]夏雯.基于web的特种设备检验管理系统的设计与实现[D].成都:电子科技大学,2012.
[5]王兴雲.关于特种设备安全管理模式探讨[J].化工管理,2016(10):158.
[6]孙庆莲.特种设备使用的安全问题与对策[J].中国质量技术监督,2004(09).
[7]周旦乐.浅谈特种设备安全信息系统[J].科技信息,2009(06).