# 05-系统管理模块

## 模块概述

系统管理模块提供系统基础管理功能，包括用户权限管理、项目统计和操作日志管理。

## 模块结构

```
系统管理模块
├── 用户权限管理
├── 项目统计
└── 操作日志管理
```

## 功能分解

### 5.1 用户权限管理

**功能描述**: 系统管理员可对访问系统的用户账号进行增、删、改、禁用等操作。

**功能点**:
- **用户管理**: 对用户账号进行增、删、改、查操作
- **角色管理**: 定义和管理系统角色，分配角色权限
- **权限分配**: 为角色分配菜单权限和数据权限
- **用户禁用/启用**: 对用户账号进行禁用或启用操作
- **密码管理**: 重置用户密码，强制用户修改密码

**数据要素**:
- 用户账号
- 用户姓名
- 所属部门
- 角色
- 账号状态
- 最后登录时间

### 5.2 项目统计

**功能描述**: 根据年度、组长、对象、成果等维度进行项目统计分析。

**功能点**:
- **年度统计**: 按年度统计项目数量、完成情况等
- **组长统计**: 按项目负责人统计项目情况
- **对象统计**: 按核查对象统计项目情况
- **成果统计**: 统计项目成果（发现问题数量、预警人数等）
- **统计报表生成**: 生成可视化统计报表

**数据要素**:
- 统计维度（年度/组长/对象/成果）
- 项目数量
- 完成状态
- 预警人数
- 发现问题数量

### 5.3 操作日志管理

**功能描述**: 记录用户的关键操作，支持按时间、用户、操作类型进行查询。

**功能点**:
- **日志记录**: 自动记录用户的关键操作（登录、数据导入、模型运行、报告生成等）
- **日志查询**: 支持按时间范围、用户、操作类型等条件查询
- **日志详情**: 查看操作日志的详细信息
- **日志导出**: 支持将操作日志导出为Excel

**数据要素**:
- 操作时间
- 操作用户
- 操作类型
- 操作模块
- 操作内容
- 操作结果
- IP地址

## 数据模型

### 用户 (SysUser)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| userId | Long | 用户ID | 是 |
| userName | String | 用户账号 | 是 |
| nickName | String | 用户姓名 | 是 |
| deptId | Long | 部门ID | 是 |
| phonenumber | String | 手机号码 | 否 |
| status | String | 账号状态（正常/停用） | 是 |
| lastLoginTime | DateTime | 最后登录时间 | 否 |

### 角色 (SysRole)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| roleId | Long | 角色ID | 是 |
| roleName | String | 角色名称 | 是 |
| roleKey | String | 角色权限字符串 | 是 |
| status | String | 角色状态（正常/停用） | 是 |

### 操作日志 (SysOperLog)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| operId | Long | 日志ID | 是 |
| title | String | 模块标题 | 是 |
| businessType | String | 业务类型（0其它 1新增 2修改 3删除） | 是 |
| method | String | 方法名称 | 是 |
| requestMethod | String | 请求方式 | 是 |
| operName | String | 操作人员 | 是 |
| deptName | String | 部门名称 | 否 |
| operUrl | String | 请求URL | 是 |
| operIp | String | 主机地址 | 是 |
| operLocation | String | 操作地点 | 否 |
| operParam | String | 请求参数 | 是 |
| jsonResult | String | 返回参数 | 是 |
| status | Integer | 操作状态（0正常 1异常） | 是 |
| errorMsg | String | 错误消息 | 否 |
| operTime | DateTime | 操作时间 | 是 |

### 项目统计 (ProjectStatistics)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| statId | Long | 统计ID | 是 |
| statDimension | String | 统计维度 | 是 |
| statValue | String | 统计值 | 是 |
| projectCount | Integer | 项目数量 | 是 |
| completedCount | Integer | 完成项目数 | 是 |
| warningCount | Integer | 预警人数 | 是 |
| issueCount | Integer | 发现问题数 | 是 |
| statYear | Integer | 统计年度 | 否 |

## 操作类型分类

| 操作类型 | 说明 |
|---------|------|
| 用户登录 | 用户登录系统 |
| 数据导入 | 导入各类数据 |
| 模型运行 | 运行风险模型 |
| 报告生成 | 生成分析报告 |
| 数据导出 | 导出数据或报告 |
| 参数配置 | 修改系统参数 |
| 用户管理 | 管理用户账号 |
| 其他 | 其他操作 |

## 业务规则

1. **用户权限管理**:
   - 只有系统管理员可以进行用户管理操作
   - 禁用用户后该用户无法登录系统
   - 用户密码重置后需要用户首次登录时修改

2. **项目统计**:
   - 支持多维度组合统计
   - 统计数据实时更新
   - 支持统计报表导出

3. **操作日志管理**:
   - 关键操作自动记录日志
   - 日志保留期限至少1年
   - 支持日志数据的备份和恢复

## 页面原型

### 1. 用户管理页面
- 用户列表
- 搜索筛选区
- 新增/编辑/删除/禁用操作
- 角色分配

### 2. 项目统计页面
- 统计维度选择区
- 统计结果展示（图表/表格）
- 报表导出功能

### 3. 操作日志页面
- 日志列表
- 搜索筛选区（时间/用户/操作类型）
- 日志详情查看
- 日志导出功能

## 交互关系

| 关联模块 | 交互说明 |
|---------|---------|
| 所有模块 | 操作日志记录所有模块的操作 |
| 项目管理模块 | 项目统计使用项目管理数据 |

## 功能特性

### 用户权限管理
- 基于RBAC的权限控制模型
- 支持角色和权限的灵活配置
- 支持数据权限控制（全部/本部门/本人等）
- 支持用户账号的全生命周期管理

### 项目统计
- 多维度统计分析
- 可视化图表展示
- 支持自定义统计维度
- 支持统计报表导出

### 操作日志管理
- 全面的操作记录
- 灵活的查询条件
- 详细的日志信息
- 支持日志审计和追溯

## 功能点统计

- 二级功能: 3个
- 三级功能点: 6个

## 版本信息

- **文档版本**: V1.0
- **创建日期**: 2026-01-27
- **基于原文档**: 纪检初核系统功能说明书V1.0 第374-388行
