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