← 返回新闻动态

🎉 沐霖工时 v4.1.0 正式发布:通知系统、工时提醒、批量导入与完整测试体系

发布日期:2026-06-05 | 作者:无鱼软件 | 标签:版本发布、通知系统、工时提醒、批量导入、测试体系

版本亮点

沐霖工时管理系统 v4.1.0 正式发布!本次更新带来四大核心功能:

  • 🔔 全新通知系统:站内消息 + 多渠道推送(邮件/企微/钉钉/飞书)
  • 工时填写提醒:定时提醒员工填写工时,提升数据完整性
  • 📊 Excel 批量导入:一键导入工时记录,支持智能解析与数据验证

查看完整发布记录 →


一、通知系统:让协同更高效

1.1 为什么需要通知系统?

在团队协作中,信息的及时传递至关重要:

场景传统方式通知系统
工时待审核项目经理需要手动登录系统查看收到通知,一键跳转审核
审核结果员工不知道自己填报的工时是否通过实时推送审核结果
任务分配通过微信/邮件通知,容易遗漏系统内通知,统一管理
工时提醒人工催促,效率低下自动定时提醒

1.2 通知中心功能

通知中心

核心特性:

  • 📋 通知列表:按时间倒序展示所有通知
  • 🔍 类型筛选:按通知类型(工时审核、任务分配、阶段验收等)筛选
  • 标记已读:单条标记或批量标记全部已读
  • 🔔 未读提醒:首页显示未读通知数量
  • 🗑️ 删除通知:支持单条删除,保持通知列表整洁

1.3 10 种通知类型

通知类型触发场景通知对象
工时待审核员工提交工时填报项目经理
工时审核通过工时审核通过填报员工
工时审核驳回工时审核驳回(附原因)填报员工
工时填写提醒定时提醒填写工时未填写员工

1.4 通知点击跳转

通知支持点击直接跳转到相关业务页面:

通知点击 → 解析 URL → 路由跳转 → 打开对应页面

例如:

  • 工时审核通知 → 跳转到工时审核列表
  • 任务分配通知 → 跳转到任务详情
  • 工时驳回通知 → 跳转到工时填报页面

二、多渠道通知:邮件、企微、钉钉、飞书

2.1 多渠道配置架构

多渠道通知架构

系统支持 4 种外部通知渠道,可根据企业需求灵活配置:

渠道配置项适用场景
邮件SMTP 服务器、端口、用户名、密码正式通知、审计追溯
企业微信Webhook 地址企业内部即时通讯
钉钉机器人 URL、签名密钥钉钉工作群通知
飞书Webhook 地址飞书群组通知

2.2 配置管理

通知配置

配置路径: 系统管理 → 通知配置

配置内容:

  • 📧 邮件配置

    • SMTP 主机:smtp.example.com
    • 端口:465(SSL)或 25(非 SSL)
    • 用户名/密码:邮箱登录凭证
    • 发件人名称:显示在收件人邮箱中的名称
  • 💬 企业微信配置

    • Webhook URL:群机器人 Webhook 地址
    • 启用开关:控制是否发送到企微
  • 📌 钉钉配置

    • 机器人 URL:自定义机器人 Webhook
    • 签名密钥(可选):增强安全性
  • 🕊️ 飞书配置

    • Webhook URL:飞书机器人地址

2.3 异步发送机制

通知采用 异步 Goroutine 发送,不阻塞主流程:

bash
// 主流程:保存通知到数据库
notification := &Notification{...}
db.Create(notification)

// 异步发送多渠道通知(不阻塞)
go multiChannel.Send(userId, title, content, url)

优势:

  • ⚡ 用户操作无延迟
  • 🔄 多渠道并行发送
  • 🛡️ 发送失败不影响主流程

三、工时填写提醒:告别漏填迟填

3.1 提醒功能设计

工时提醒配置

核心功能:

  • 定时提醒:每天固定时间发送提醒
  • 📅 灵活日期:可设置工作日(周一至周五)或自定义日期
  • 🔧 启用/禁用:按需开启或关闭提醒功能
  • 🎯 精准推送:仅提醒当天未填写工时的员工

3.2 提醒配置项

配置项说明示例值
启用状态是否启用提醒功能启用 / 禁用
提醒时间每天发送提醒的时间18:00(下午 6 点)
提醒日期在一周中的哪些天提醒1,2,3,4,5(周一至周五)
通知渠道通过哪些渠道发送system,email(站内+邮件)

3.3 已填判定逻辑

系统通过以下逻辑判断员工是否已填写工时:

-- 查询员工当天是否已有工时记录

判定规则:

  • ✅ 有记录 → 不发送提醒
  • ❌ 无记录 → 发送提醒通知

四、Excel 批量导入:一次性录入多天工时

4.1 导入流程

批量导入流程

操作步骤:

  1. 下载模板:系统提供标准 Excel 模板
  2. 填写数据:按模板格式填写工时记录
  3. 上传导入:上传 Excel 文件,系统自动解析
  4. 查看结果:显示导入成功/失败统计

4.2 Excel 模板格式

列名必填说明示例
项目ID项目的主键 ID1
任务ID任务的主键 ID(可选)5 或留空
填报日期工时日期(YYYY-MM-DD)2026-06-01
工作内容工作描述需求分析
工时工时数(小时)4.0
是否完成任务完成状态 / / true / false

4.3 智能解析能力

4.3.1 日期格式支持

系统支持多种日期格式:

格式类型示例说明
标准日期2026-06-01推荐格式
Excel 序列号45836Excel 自动转换的日期序列号

4.3.2 布尔值解析

"是否完成"字段支持 12 种格式:

真值表示假值表示
truefalse
TrueFalse
TRUEFALSE
10
yesno
YESNO
(空)(空)

4.3.3 按日期分组

系统自动将同一天的多条记录合并:

输入数据:
  2026-06-01  需求分析  4小时
  2026-06-01  原型设计  3.5小时
  2026-06-02  编码实现  8小时

分组处理:
  2026-06-01 → 合并为 1 条记录(7.5小时)
  2026-06-02 → 1 条记录(8小时)

4.4 数据验证

系统对导入数据进行严格验证:

验证项规则错误提示
项目ID必须存在且用户有权限项目不存在或无权限
填报日期格式必须为 YYYY-MM-DD日期格式错误
工作内容不能为空工作内容不能为空
工时必须为数字且 > 0工时格式错误
重复提交同一天已有工时记录当前日期已经填报工时,请勿重复提交

4.5 导入结果统计

导入结果

导入完成后显示详细统计:

导入完成
  总天数:3 天
  成功:2 天
  失败:1 天
  
  错误详情:
    - 2026-06-03: 当前日期已经填报工时,请勿重复提交

五、升级指南

5.1 数据库迁移

v4.1.0 新增了以下数据表:

sql
-- 通知表
CREATE TABLE `notification` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `user_id` bigint NOT NULL COMMENT '用户ID',
  `type` varchar(50) NOT NULL COMMENT '通知类型',
  `title` varchar(200) NOT NULL COMMENT '通知标题',
  `content` text COMMENT '通知内容',
  `url` varchar(500) COMMENT '跳转链接',
  `is_read` tinyint DEFAULT 0 COMMENT '是否已读',
  `is_deleted` tinyint DEFAULT 0 COMMENT '是否删除',
  PRIMARY KEY (`id`)
);

-- 通知配置表
CREATE TABLE `notification_config` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `config_key` varchar(100) NOT NULL,
  `config_value` text,
  PRIMARY KEY (`id`)
);

-- 工时提醒配置表
CREATE TABLE `hour_reminder_config` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `enabled` tinyint DEFAULT 0,
  `reminder_time` varchar(10) DEFAULT '18:00',
  `reminder_days` varchar(50) DEFAULT '1,2,3,4,5',
  PRIMARY KEY (`id`)
);

5.1 升级步骤

bash
# 1. 备份数据
mysqldump -u root -p mulin_cost > backup_v4.0.sql

# 2. 下载 v4.1.0 版本
# 从公众号或 Release 页面获取

# 3. 更新配置文件
cp application.yaml application.yaml.bak
# 编辑 application.yaml,添加通知配置

# 4. 启动新版本
./mulin.exe

# 5. 验证功能
# - 访问通知中心
# - 测试批量导入
# - 检查工时提醒配置

六、已知问题与限制

6.1 当前限制

限制项说明计划解决版本
邮件发送仅支持 SMTP 协议v4.2.0 支持 API 方式
批量导入单次最多 1000 行v4.2.0 支持分批导入
通知渠道默认全部关闭需在配置中手动启用

6.2 注意事项

  1. 首次使用通知功能:需要先在"系统管理 → 通知配置"中启用相应渠道
  2. 批量导入前:建议先用少量数据测试,确认格式正确后再批量导入
  3. 工时提醒:需要系统保持运行状态,建议配置定时任务或 cron

关于沐霖工时系统

沐霖工时管理系统是一款专为研发型企业设计的轻量级工时管理工具。

核心功能

  • 📝 工时填报(普通工时 + 任务工时)
  • ✅ 多级审批流程
  • 📊 多维度数据统计
  • 🔔 通知系统与多渠道推送
  • 📥 Excel 批量导入
  • 📈 周报月报自动生成

了解更多


最后更新: 2026-06-05