一、前期准备:环境安装(10分钟完成)
本方案采用Python轻量搭建,基于SQLite数据库,不需要复杂服务器配置,本地即可运行,零门槛适配中小企业档案管理需求,所有步骤可直接复制操作:
1.安装Python环境
直接下载官方稳定安装包:https://www.python.org/ftp/python/3.11.4/python-3.11.4-amd64.exe
安装过程中必须勾选Add Python 3.11 to PATH选项,再点击安装,这一步遗漏会导致后续命令无法运行。
2.安装依赖库
安装完成后,按下Win+R打开运行框,输入cmd回车,在弹出的命令窗口直接复制执行以下命令:
```
pip install flask sqlalchemy flask-admin
```
若出现网络超时,换用国内镜像命令:
```
pip install flask sqlalchemy flask-admin -i https://pypi.tuna.tsinghua.edu.cn/simple
```
二、核心代码创建(直接复制即可)
在本地磁盘新建一个名为zhiyewaisheng的文件夹,再在文件夹内新建空白文本文档,重命名为app.py(注意将后缀名从txt改成py,若没显示后缀名,在文件夹选项中开启「显示文件扩展名」),将以下完整代码复制粘贴到app.py中:
```
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView
app = Flask(__name__)
app.config['SECRET_KEY'] = 'zhys_dangan_2024'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///instance/zhiyewaisheng.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
单位基本信息表
class Company(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False, comment='单位名称')
credit_code = db.Column(db.String(18), unique=True, nullable=False, comment='统一社会信用代码')
address = db.Column(db.String(200), nullable=False, comment='单位地址')
hazard_types = db.Column(db.String(200), nullable=False, comment='职业病危害因素种类')
contact_person = db.Column(db.String(50), nullable=False, comment='联系人')
contact_phone = db.Column(db.String(11), nullable=False, comment='联系电话')
危害检测评价档案表
class TestReport(db.Model):
id = db.Column(db.Integer, primary_key=True)
test_date = db.Column(db.Date, nullable=False, comment='检测日期')
institution = db.Column(db.String(100), nullable=False, comment='检测机构')
hazard_point = db.Column(db.String(100), nullable=False, comment='检测点位')
result = db.Column(db.String(50), nullable=False, comment='检测结果')
report_path = db.Column(db.String(200), comment='报告文件路径')
从业人员健康档案表
class WorkerHealth(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable=False, comment='姓名')
id_card = db.Column(db.String(18), unique=True, nullable=False, comment='身份证号')
hazard_post = db.Column(db.String(50), nullable=False, comment='接害岗位')
check_date = db.Column(db.Date, nullable=False, comment='检查日期')
conclusion = db.Column(db.String(100), nullable=False, comment='检查结论')
职业卫生培训档案表
class Training(db.Model):
id = db.Column(db.Integer, primary_key=True)
train_date = db.Column(db.Date, nullable=False, comment='培训日期')
train_content = db.Column(db.String(200), nullable=False, comment='培训内容')
trainer_count = db.Column(db.Integer, nullable=False, comment='参训人数')
pass_rate = db.Column(db.Float, nullable=False, comment='考核合格率')
admin = Admin(app, name='职业卫生档案管理系统', template_mode='bootstrap3')
admin.add_view(ModelView(Company, db.session, name='单位基本信息'))
admin.add_view(ModelView(TestReport, db.session, name='检测评价档案'))
admin.add_view(ModelView(WorkerHealth, db.session, name='职业健康档案'))
admin.add_view(ModelView(Training, db.session, name='培训档案'))
with app.app_context():
db.create_all()
if __name__ == '__main__':
app.run(debug=False)
```
代码已经预设好了监管要求的四大核心档案模块,不需要额外修改,直接使用即可。
三、启动系统(一步到位)
回到cmd命令窗口,输入以下命令进入项目文件夹(如果项目在D盘,先输入D:回车,再执行cd命令):
```
cd 你的项目路径\zhiyewaisheng
```

例如项目放在D盘根目录,命令就是cd D:\zhiyewaisheng
然后执行启动命令:
```
python app.py
```
看到命令窗口输出 Running on http://127.0.0.1:5000就说明启动成功,打开任意浏览器输入这个地址就能进入系统后台操作。
四、档案录入规范(符合监管要求)
系统已经分好核心模块,录入时按照以下要求填写即可:
- 单位基本信息模块:如实填写统一社会信用代码、职业病危害因素种类等核心信息,必须和实际一致,是监管检查的首要核查内容。
- 检测评价档案模块:每次完成职业病危害检测后,录入检测日期、机构、结果,将PDF版报告放到项目文件夹内,把文件完整路径填写到对应字段,方便后续查阅。
- 职业健康档案模块:一人一记录,每个接害从业人员的每次检查都单独建档,必须填写身份证号、接害岗位、检查结论三个核心项,不能缺项。
- 培训档案模块:每次岗前、年度职业卫生培训后,如实录入培训内容、参训人数、考核合格率,支持随时导出打印。
五、数据备份与导出(满足检查要求)
所有档案数据都存储在项目instance文件夹内的zhiyewaisheng.db文件中,备份只需要复制这个文件到U盘或者其他云存储即可。
需要给监管部门提供档案时,进入对应模块,点击页面右上角的Export按钮,即可直接导出Excel格式的档案,不需要额外整理。
六、公网部署(远程检查可选操作)
如果需要监管部门远程访问查阅档案,可以免费部署到PythonAnywhere:
- 注册账号:访问https://www.pythonanywhere.com/注册免费账号
- 打开Dashboard,选择「Upload a file」上传你的app.py文件
- 打开Bash控制台,执行
pip install flask sqlalchemy flask-admin --user安装依赖
- 添加Web App,选择Flask+Python3.11,修改项目路径指向你的app.py,重启Web App即可获得公网访问地址。
整个过程不需要复杂开发知识,按照步骤操作1小时内即可完成搭建并开始录入档案,完全符合监管部门对职业卫生档案电子化管理的要求。