5.3 KiB
5.3 KiB
制度模块说明文档
概述
制度模块是一个完整的企业制度管理系统,包含制度规范仓库、制度草案、个人制度提案等功能,支持投票、发布等完整的制度管理流程。
功能模块
1. 制度规范仓库 (RegulationEntity)
功能描述: 存储正式发布的制度,支持全员知晓承诺的确认
主要功能:
- 制度发布管理
- 制度版本控制
- 制度状态管理(草案、已发布、已归档)
- 制度生效时间管理
- 制度适用范围管理
核心字段:
regulation_id
: 制度IDtitle
: 制度标题content
: 制度内容status
: 制度状态publisher_id
: 发布人IDpublish_time
: 发布时间effective_time
: 生效时间expire_time
: 失效时间
2. 制度草案 (RegulationDraftEntity)
功能描述: 制度草案管理,包含投票、发布过程
主要功能:
- 草案创建和编辑
- 审核流程管理
- 投票系统
- 投票结果统计
- 草案状态跟踪
核心字段:
draft_id
: 草案IDstatus
: 草案状态(草稿、审核中、已通过、已拒绝)vote_status
: 投票状态approve_votes
: 赞成票数reject_votes
: 反对票数pass_threshold
: 通过阈值
3. 制度提案 (RegulationProposalEntity)
功能描述: 个人制度提案,支持审核和转为草案
主要功能:
- 提案提交
- 提案审核
- 提案转为草案
核心字段:
proposal_id
: 提案IDproposer_id
: 提案人IDstatus
: 提案状态reviewer_id
: 审核人IDconverted_draft_id
: 转为草案ID
4. 制度投票 (RegulationVoteEntity)
功能描述: 投票系统,支持对草案和提案进行投票
主要功能:
- 投票记录管理
- 投票选项(赞成、反对、弃权)
- 投票统计
- 防重复投票
核心字段:
vote_id
: 投票IDrelated_id
: 关联ID(草案或提案)related_type
: 关联类型vote_option
: 投票选项voter_id
: 投票人ID
5. 制度确认 (RegulationConfirmationEntity)
功能描述: 全员知晓承诺的确认系统
主要功能:
- 确认任务创建
- 确认状态管理
- 确认统计
- 阅读时长记录
核心字段:
confirmation_id
: 确认IDregulation_id
: 制度IDconfirmer_id
: 确认人IDstatus
: 确认状态read_duration
: 阅读时长
业务流程
制度发布流程
-
提案阶段
- 个人提交制度提案
- 进行小组讨论
- 讨论结果统计
-
草案阶段
- 提案转为草案
- 草案审核
- 投票表决
- 投票结果统计
-
发布阶段
- 通过投票的草案转为正式制度
- 制度发布
- 全员确认
投票流程
-
开始投票
- 设置投票时间
- 设置通过阈值
- 通知相关人员
-
投票进行
- 用户参与投票
- 实时统计投票结果
- 防重复投票
-
投票结束
- 统计最终结果
- 判断是否通过
- 更新相关状态
确认流程
-
创建确认任务
- 批量创建确认任务
- 通知相关人员
-
确认进行
- 用户阅读制度
- 确认知晓
- 记录阅读时长
-
确认统计
- 统计确认情况
- 生成确认报告
技术实现
数据库设计
- 采用MyBatis Plus框架
- 支持软删除
- 包含审计字段(创建人、创建时间、更新人、更新时间)
- 合理的索引设计
服务层设计
- 采用Service接口 + 实现类的设计模式
- 支持事务管理
- 统一的异常处理
- 统一的返回结果格式
核心特性
- 防重复操作: 投票和确认都支持防重复机制
- 状态管理: 完整的状态流转管理
- 统计功能: 支持各种统计和报表功能
- 扩展性: 模块化设计,易于扩展
使用说明
1. 数据库初始化
执行 doc/regulation_tables.sql
创建相关数据表。
2. 服务调用示例
// 发布制度
RegulationEntity regulation = new RegulationEntity();
regulation.setTitle("员工手册");
regulation.setContent("员工手册内容...");
regulationService.publishRegulation(regulation);
// 创建草案
RegulationDraftEntity draft = new RegulationDraftEntity();
draft.setTitle("新制度草案");
draftService.createDraft(draft);
// 提交提案
RegulationProposalEntity proposal = new RegulationProposalEntity();
proposal.setTitle("制度改进提案");
proposalService.submitProposal(proposal);
// 投票
RegulationVoteEntity vote = new RegulationVoteEntity();
vote.setVoteOption("APPROVE");
voteService.vote(vote);
// 确认制度
RegulationConfirmationEntity confirmation = new RegulationConfirmationEntity();
confirmationService.confirmRegulation(confirmation);
注意事项
- 数据一致性: 所有操作都支持事务管理,确保数据一致性
- 权限控制: 需要配合权限系统使用,控制用户操作权限
- 性能优化: 大数据量时需要考虑分页和索引优化
- 日志记录: 重要操作需要记录操作日志
扩展建议
- 消息通知: 集成消息系统,支持邮件、短信通知
- 工作流: 集成工作流引擎,支持更复杂的审批流程
- 文档管理: 集成文档管理系统,支持附件上传
- 报表系统: 集成报表系统,支持更丰富的统计报表