SECURITY-001: 人员车辆门禁
优先级: 🔴 高 (17.5分) | 技术复用度: 75% | 实施周期: 2-3周
客户原话
"我们园区有3个大门,每天进出的人和车特别多。员工还好说,办个门禁卡就行。但是访客麻烦,要登记身份证、来访目的、被访企业,保安手写登记本,一个访客要5分钟。高峰期排长队,访客有意见。疫情那会儿更麻烦,要查健康码、行程卡,还要追溯谁来过,翻登记本翻半天。车辆也是问题,有的车是企业的,有的是访客的,有的是送货的,保安记不住,每次都要问。有一次园区里丢了辆车,调监控发现是外来车辆,但是登记本上没记录,保安说忘了登记。现在领导要求严格管理,但是人手不够,保安也抱怨工作量太大。"
—— 某工业园区安保主管
业务场景描述
典型场景
场景1: 员工进出
- 员工早上上班,刷门禁卡进入
- 门禁系统识别卡号,判断是否有权限
- 有权限则开门,记录进入时间
- 下班时刷卡出门,记录离开时间
- 但是有的员工忘带卡,要保安手工登记
- 有的员工离职了,门禁卡没有及时注销
场景2: 访客登记
- 访客到达门口,保安询问来访目的
- 访客出示身份证,保安手工登记
- 登记内容:姓名、身份证号、来访企业、被访人、车牌号
- 保安打电话给被访企业确认
- 企业确认后,保安发放临时访客卡
- 访客离开时,归还访客卡,保安记录离开时间
- 整个流程需要5分钟,高峰期排队
场景3: 车辆进出
- 车辆到达门口,保安询问是哪家企业的
- 企业车辆:核对车牌,放行
- 访客车辆:登记车牌、来访企业,打电话确认
- 送货车辆:登记车牌、货物信息、收货企业
- 但是保安记不住所有企业的车牌
- 有的车辆没有登记就进来了,事后无法追溯
场景4: 疫情防控
- 疫情期间,要查健康码、行程卡
- 保安用手机扫码,一个个查看
- 有的人健康码是黄码,要劝返
- 有的人行程卡显示去过中高风险地区,要上报
- 出现确诊病例,要追溯密接人员
- 翻登记本,找出同时段进入的人员,费时费力
场景5: 权限管理
- 新员工入职,要办门禁卡
- 企业提交申请,物业审批,制卡
- 整个流程需要2-3天
- 员工离职,企业要通知物业注销门禁
- 但是有的企业忘记通知,离职员工还能进入
- 临时施工人员,要办临时卡,到期要回收
核心痛点
- 访客登记慢 - 手工登记,高峰期排队,体验差
- 车辆管理难 - 保安记不住,容易混入外来车辆
- 权限管理乱 - 离职员工门禁未注销,安全隐患
- 追溯困难 - 纸质登记本,查询困难,无法快速追溯
- 数据不透明 - 不知道每天进出多少人,哪些企业访客多
业务流程图
当前人工流程
问题点:
- 手工登记,耗时长
- 电话确认,效率低
- 纸质记录,难追溯
- 车牌记忆,易出错
自动化流程
改进点:
- 自动识别,快速登记
- 在线确认,无需电话
- 电子记录,实时追溯
- 车牌识别,自动放行
数据流与依赖
数据输入
- 员工信息: 姓名、工号、企业、部门、手机号
- 门禁卡信息: 卡号、权限、有效期
- 车辆信息: 车牌号、所属企业、车主姓名
- 访客信息: 姓名、身份证号、来访目的、被访人
数据输出
- 进出记录: 提供给安保管理
- 访客统计: 提供给企业服务
- 异常预警: 提供给安保人员
- 追溯数据: 提供给疫情防控(→ SECURITY-002 视频监控与预警)
场景依赖关系
技术实现方案
核心功能模块
1. 员工门禁管理
员工信息:
json
{
"employee_id": "E001",
"name": "张三",
"company_id": "C001",
"company_name": "XX科技公司",
"department": "研发部",
"phone": "13800138000",
"card_no": "1234567890",
"card_type": "ic_card",
"status": "active",
"valid_from": "2024-01-01",
"valid_to": "2025-12-31",
"access_zones": ["大门1", "大门2", "A栋"],
"access_time": "00:00-23:59"
}门禁权限:
- 区域权限: 可以进入哪些区域(大门、楼栋、楼层)
- 时间权限: 可以在什么时间进入(工作日、周末、节假日)
- 有效期: 门禁卡的有效期限
刷卡流程:
javascript
function checkAccess(card_no, gate_id, time) {
// 1. 查询卡信息
let card = getCardInfo(card_no)
if (!card) return {allowed: false, reason: "卡号不存在"}
if (card.status !== 'active') return {allowed: false, reason: "卡已注销"}
// 2. 检查有效期
if (time < card.valid_from || time > card.valid_to) {
return {allowed: false, reason: "卡已过期"}
}
// 3. 检查区域权限
if (!card.access_zones.includes(gate_id)) {
return {allowed: false, reason: "无权限进入此区域"}
}
// 4. 检查时间权限
let hour = time.getHours()
let [start, end] = card.access_time.split('-')
if (hour < parseInt(start) || hour > parseInt(end)) {
return {allowed: false, reason: "不在允许时间内"}
}
// 5. 记录进出
recordAccess(card, gate_id, time)
return {allowed: true, name: card.name, company: card.company_name}
}2. 访客自助登记
访客预约:
- 企业员工在系统中发起访客预约
- 填写访客姓名、身份证号、来访时间、来访目的
- 系统生成预约二维码,发送给访客
现场登记:
- 访客到达门口,扫描身份证
- 系统自动识别身份信息
- 访客选择被访企业和被访人
- 系统推送通知给被访人
- 被访人在手机上确认
- 系统生成临时二维码,访客扫码进入
访客信息:
json
{
"visitor_id": "V202403040001",
"name": "李四",
"id_card": "310101199001011234",
"phone": "13900139000",
"company": "XX供应商",
"visit_company": "C001",
"visit_person": "张三",
"visit_purpose": "商务洽谈",
"vehicle_plate": "沪A12345",
"appointment_time": "2024-03-04 14:00:00",
"check_in_time": "2024-03-04 14:05:00",
"check_out_time": "2024-03-04 16:30:00",
"qr_code": "https://xxx.com/qr/V202403040001",
"status": "checked_out"
}访客流程:
3. 车辆智能识别
车牌识别:
- 在门口安装车牌识别摄像头
- 车辆到达时自动识别车牌
- 系统查询车牌是否在白名单
- 白名单车辆自动放行,闸机抬杆
- 非白名单车辆推送通知给保安
车辆信息:
json
{
"vehicle_id": "V001",
"plate_no": "沪A12345",
"vehicle_type": "企业车辆",
"company_id": "C001",
"company_name": "XX科技公司",
"owner_name": "张三",
"owner_phone": "13800138000",
"brand": "丰田",
"color": "白色",
"status": "active",
"valid_from": "2024-01-01",
"valid_to": "2025-12-31"
}车辆类型:
- 企业车辆: 企业自有车辆,自动放行
- 访客车辆: 访客车辆,需要确认后放行
- 送货车辆: 送货车辆,需要登记货物信息
- 临时车辆: 临时施工车辆,有时间限制
车辆识别流程:
javascript
function recognizeVehicle(plate_no, gate_id, time) {
// 1. 车牌识别
let vehicle = getVehicleInfo(plate_no)
if (vehicle && vehicle.status === 'active') {
// 2. 企业车辆,自动放行
if (vehicle.vehicle_type === '企业车辆') {
recordVehicleAccess(vehicle, gate_id, time, 'auto')
openGate(gate_id)
return {allowed: true, type: '企业车辆', company: vehicle.company_name}
}
}
// 3. 非白名单车辆,推送通知
sendNotification('保安', {
type: 'unknown_vehicle',
plate_no: plate_no,
gate_id: gate_id,
time: time,
image: captureImage(gate_id)
})
return {allowed: false, type: '未知车辆', require_manual: true}
}4. 权限生命周期管理
权限申请:
- 企业在系统中提交门禁申请
- 填写员工信息、权限范围、有效期
- 物业审批
- 审批通过后,系统自动开通权限
权限变更:
- 员工调岗,修改权限范围
- 员工离职,注销门禁权限
- 临时权限,到期自动失效
权限审计:
- 定期检查权限有效性
- 发现异常权限(如离职员工未注销),自动预警
- 生成权限审计报告
权限管理流程:
javascript
// 每天凌晨执行
function auditAccessPermissions() {
let today = new Date()
// 1. 检查过期权限
let expiredCards = cards.filter(c =>
c.status === 'active' && new Date(c.valid_to) < today
)
expiredCards.forEach(card => {
card.status = 'expired'
sendNotification(card.company_id, `${card.name}的门禁卡已过期`)
})
// 2. 检查即将过期权限(7天内)
let expiringCards = cards.filter(c => {
let daysToExpire = Math.floor((new Date(c.valid_to) - today) / (1000 * 60 * 60 * 24))
return c.status === 'active' && daysToExpire <= 7 && daysToExpire > 0
})
expiringCards.forEach(card => {
sendNotification(card.company_id, `${card.name}的门禁卡将在${daysToExpire}天后过期`)
})
// 3. 检查长期未使用权限(30天未刷卡)
let unusedCards = cards.filter(c => {
let lastAccess = getLastAccessTime(c.card_no)
let daysUnused = Math.floor((today - lastAccess) / (1000 * 60 * 60 * 24))
return c.status === 'active' && daysUnused > 30
})
unusedCards.forEach(card => {
sendNotification('安保主管', `${card.name}的门禁卡已30天未使用,建议核查`)
})
}5. 数据统计与追溯
进出统计:
javascript
{
"date": "2024-03-04",
"total_access": 1580,
"employee_access": 1200,
"visitor_access": 280,
"vehicle_access": 450,
"by_gate": {
"大门1": 800,
"大门2": 600,
"大门3": 180
},
"by_hour": {
"08:00": 320,
"09:00": 180,
"12:00": 150,
"18:00": 280
},
"top_companies": [
{"company": "XX科技", "access": 150},
{"company": "YY制造", "access": 120}
]
}人员追溯:
- 输入时间范围,查询该时段进入的所有人员
- 输入人员姓名,查询该人员的进出记录
- 输入车牌号,查询该车辆的进出记录
- 支持导出Excel,用于疫情防控追溯
技术复用度分析
可复用的技术能力(75%):
| 技术能力 | 复用场景 | 说明 |
|---|---|---|
| 身份识别 | 中央厨房PROC-003 | 相同的身份证扫描和识别 |
| 二维码生成 | FACILITY-001 设备设施巡检 | 相同的二维码生成和扫描 |
| 消息推送 | 水利行业MON-002 | 相同的多渠道推送能力 |
| 权限管理 | 中央厨房系统 | 相同的角色权限控制 |
需要新开发的能力(25%):
- 车牌识别(AI视觉识别)
- 门禁硬件对接(闸机、道闸)
- 访客自助终端
实施方案
实施步骤
第1周: 需求确认与硬件准备
- 梳理门禁点位和权限规则
- 采购门禁设备(闸机、读卡器、车牌识别摄像头)
- 采购访客自助终端(身份证读卡器、打印机)
- 录入员工信息和车辆信息
第2周: 系统开发与硬件安装
- 开发门禁管理后台
- 开发访客预约和登记功能
- 开发车牌识别功能
- 安装门禁设备和摄像头
- 选择1个门口试点测试
第3周: 全面上线与培训
- 全量门禁点位上线
- 培训保安使用系统
- 培训企业使用访客预约功能
- 制定应急预案(系统故障时的处理流程)
成本估算
软件成本:
- 平台开发: 约8-10万元(可复用现有平台,成本降低50%)
- 车牌识别: 约3-5万元
- 短信推送: 0.05元/条 × 约300条/月 × 12月 = 180元/年
硬件成本:
- 闸机: 8000元/台 × 3台 = 2.4万元
- 车牌识别摄像头: 3000元/台 × 3台 = 0.9万元
- 访客自助终端: 5000元/台 × 3台 = 1.5万元
- 门禁读卡器: 500元/台 × 10台 = 0.5万元
- 硬件总成本: 约5.3万元
人力成本节省:
- 访客登记时间减少80%: 约2万元/年
- 车辆管理效率提升70%: 约1.5万元/年
- 年节省成本: 约3.5万元
其他收益:
- 提升访客体验,提升园区形象: 难以量化
- 提升安全管理水平,减少安全事故: 约2-5万元/年
- 疫情防控追溯能力,避免罚款: 约5-10万元/年
- 总收益: 约10.5-18.5万元/年
投资回收期: 约1-1.5年
预期收益
效率提升:
- 访客登记时间: 从5分钟 → 1分钟
- 车辆放行时间: 从2分钟 → 10秒(自动识别)
- 人员追溯时间: 从2小时 → 5分钟
安全性提升:
- 权限管理准确率: 从85% → 99%
- 离职员工权限注销率: 从70% → 100%
- 外来车辆登记率: 从60% → 100%
体验提升:
- 访客满意度: 从60% → 90%
- 企业满意度: 从70% → 85%
- 保安工作效率提升50%
风险与应对
技术风险
风险1: 车牌识别准确率不高
- 表现: 污损车牌、特殊车牌识别不准
- 应对:
- 选择成熟的车牌识别算法
- 识别失败时保安手工输入
- 定期清洁摄像头,保证图像质量
风险2: 门禁设备故障
- 表现: 闸机卡住、读卡器失灵
- 应对:
- 选择可靠品牌的设备
- 定期维护保养
- 制定应急预案,故障时人工放行
风险3: 网络中断
- 表现: 网络故障,系统无法使用
- 应对:
- 门禁设备支持离线模式
- 网络恢复后自动同步数据
- 保留纸质登记作为备用
业务风险
风险1: 员工不习惯刷卡
- 表现: 员工忘带卡,要保安手工登记
- 应对:
- 支持手机APP扫码进入
- 支持人脸识别(可选)
- 保留人工登记通道
风险2: 访客不会使用自助终端
- 表现: 访客不熟悉操作,还是找保安
- 应对:
- 终端界面简洁易用
- 现场张贴操作指引
- 保安协助指导
风险3: 企业不配合确认访客
- 表现: 企业不及时确认,访客等待时间长
- 应对:
- 设置自动确认规则(预约访客自动通过)
- 超时未确认,保安电话联系
- 将确认及时性纳入企业服务评价
实施检查清单
上线前检查
- [ ] 所有员工信息已录入
- [ ] 所有车辆信息已录入
- [ ] 门禁设备已安装并测试
- [ ] 车牌识别摄像头已安装并测试
- [ ] 访客自助终端已安装并测试
- [ ] 权限规则已配置
- [ ] 保安已培训
- [ ] 企业已通知
- [ ] 应急预案已制定
上线后监控
- [ ] 每日检查设备运行状况
- [ ] 每日检查访客登记情况
- [ ] 每周检查权限有效性
- [ ] 每周统计进出数据
- [ ] 每月核对员工和车辆信息
- [ ] 每季度审计权限
成功案例参考
某科技园区(3个门口,120家企业,约2000名员工)
实施前:
- 访客登记时间: 平均5分钟
- 高峰期排队: 10-15人
- 车辆放行时间: 平均2分钟
- 离职员工权限注销率: 约70%
实施后(6个月):
- 访客登记时间: 1分钟(提升80%)
- 高峰期排队: 0-2人(提升87%)
- 车辆放行时间: 10秒(提升92%)
- 离职员工权限注销率: 100%
- 访客满意度: 从60% → 90%
- 疫情防控追溯: 从2小时 → 5分钟

