企业在健康、安全和环境(EHS)管理上的重视程度日益增加,特别是在提高合规性、减少事故和隐患的发生上。EHS 系统正是帮助企业建立起有效管理机制的工具,它不仅仅是一个记录和追踪的系统,更是实现安全生产、健康保护和环境合规的核心平台。
本篇文章将为你介绍如何开发一套完整的 EHS 管理系统,包括系统功能、模块设计、业务流程、开发技巧以及代码示例。我们将重点关注 EHS 系统的核心模块,包括隐患排查、事故管理、设备管理、健康管理、培训管理等。
本文你将了解
EHS 系统是提升企业管理效率、增强安全合规性的重要工具。为什么要做 EHS 系统?
EHS 系统的核心功能模块一般包括:
EHS 系统需要具备高效、稳定的架构设计,以下是推荐的高层架构:
css
[用户浏览器 React SPA] <--HTTPS--> [API Gateway / Nginx] --> [Auth Service (JWT/OAuth2)]
--> [EHS Core Service (Express)]
--> [Device Service]
--> [Reporting Service]
--> [DB: PostgreSQL]
--> [Search: Elasticsearch]
--> [Queue: RabbitMQ]
--> [Storage: S3]技术栈建议:
架构要点:
功能:管理公司、部门、员工、岗位等基础数据。

业务流程:
开发技巧:
功能:隐患的上报、整改和闭环管理。

业务流程:
开发技巧:
功能:风险评估、控制措施和复评管理。

业务流程:
开发技巧:
功能:事故报告、调查、责任认定、纠正措施。
业务流程:
开发技巧:
功能:设备台账、点检、维修记录。
业务流程:
开发技巧:
功能:员工体检记录、职业健康档案。
业务流程:
开发技巧:
功能:培训课程、签到、考试、证书管理。
业务流程:
开发技巧:
功能:基于 EHS 指标进行绩效考核。

业务流程:
开发技巧:
sql
-- 基础信息表
CREATE TABLE dept (
id SERIAL PRIMARY KEY,
name VARCHAR(200) NOT NULL,
parent_id INT REFERENCES dept(id),
created_at TIMESTAMP DEFAULT now()
);
CREATE TABLE employee (
id SERIAL PRIMARY KEY,
emp_no VARCHAR(50),
name VARCHAR(100),
dept_id INT REFERENCES dept(id),
role VARCHAR(50),
mobile VARCHAR(30),
email VARCHAR(200),
extra JSONB
);
-- 隐患排查表
CREATE TABLE hazard (
id SERIAL PRIMARY KEY,
title VARCHAR(255),
description TEXT,
location VARCHAR(255),
reporter_id INT REFERENCES employee(id),
assignee_id INT REFERENCES employee(id),
severity INT,
status VARCHAR(30),
attachments JSONB,
created_at TIMESTAMP DEFAULT now(),
updated_at TIMESTAMP DEFAULT now()
);
-- 事故管理表
CREATE TABLE accident (
id SERIAL PRIMARY KEY,
title VARCHAR(255),
occur_time TIMESTAMP,
location VARCHAR(255),
involved_people JSONB,
severity INT,
report TEXT,
attachments JSONB,
status VARCHAR(30),
created_by INT REFERENCES employee(id)
);js
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
// 路由管理
const hazardRouter = require('./routes/hazard');
app.use('/api/hazard', hazardRouter);
// 启动服务器
app.listen(3000, () => console.log('EHS API running on port 3000'));js
const express = require('express');
const router = express.Router();
const db = require('../db'); // PostgreSQL 客户端
// 隐患上报
router.post('/', async (req, res) => {
const { title, description, location, reporter_id, severity } = req.body;
try {
const result = await db.query(
'INSERT INTO hazard(title, description, location, reporter_id, severity, status, created_at) VALUES ($1, $2, $3, $4, $5, $6, now()) RETURNING *',
[title, description, location, reporter_id, severity, 'reported']
);
res.json(result.rows[0]);
} catch (err) {
res.status(500).send('Error creating hazard report');
}
});
module.exports = router;HazardReport.js
jsx
import React, { useState } from 'react';
import axios from 'axios';
function HazardReport() {
const [title, setTitle] = useState('');
const [description, setDescription] = useState('');
const [location, setLocation] = useState('');
const [severity, setSeverity] = useState(1);
const submit = async () => {
const payload = { title, description, location, reporter_id: 1, severity };
try {
const res = await axios.post('/api/hazard', payload);
alert('隐患报告已提交,ID: ' + res.data.id);
} catch (err) {
alert('提交失败,请重试');
}
};
return (
<div>
<h3>隐患上报</h3>
<input
type="text"
value={title}
onChange={e => setTitle(e.target.value)}
placeholder="隐患标题"
/>
<textarea
value={description}
onChange={e => setDescription(e.target.value)}
placeholder="隐患描述"
/>
<input
type="text"
value={location}
onChange={e => setLocation(e.target.value)}
placeholder="隐患位置"
/>
<button onClick={submit}>提交上报</button>
</div>
);
}
export default HazardReport;在这里我给大家推荐一个业务人员就能够直接上手的高性价比、零代码平台——简道云EHS 健康安全环境管理系统,简道云背靠国内BI龙头帆软,在数据处理、数据展示上的能力有绝对优势,数据分析支持高度自定义,任何分析需求都可以快速制作仪表盘,简道云EHS 健康安全环境管理系统涵盖了核心 8 大业务模块,高效全面地满足安全管理核心需求
EHS 系统涉及大量敏感数据,如员工健康记录、事故报告等。为了保障数据安全,建议对所有敏感数据进行加密存储,并确保权限管理严格按角色和部门划分。对于访问控制,可以采用基于角色的权限控制(RBAC),使得每个用户只能访问他们有权限查看的模块和数据。除此之外,所有数据操作都应做审计记录,确保每一项操作都可以追踪。
隐患整改的闭环问题,通常是由于责任不明确或整改流程不清晰导致的。为确保整改能够及时闭环,EHS 系统应当确保每条隐患有明确责任人,且系统自动提醒责任人处理进度。同时,可以通过系统设置整改时限,逾期未整改的隐患自动提醒上级管理人员。闭环的最终验证应该由独立人员进行,避免责任人自己完成整改后直接关闭任务。
EHS 系统实施后的效果评估应该从几个维度进行:一是隐患上报和整改的闭环率,二是事故发生率是否下降,三是员工参与度和培训覆盖率的提高。通过这些关键指标,可以评估系统在提升安全性、合规性以及员工积极性的效果。如果指标达成预期目标,则证明系统是有效的。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。