# 纪检初核系统功能模块划分方案

## 需求分析概述

基于《纪检初核系统功能说明书-V1.0》的分析，该系统是一个用于银行纪检部门进行员工行为初核的综合性管理平台。

---

# 模块详细设计

## 模块一：项目管理域 (dpc-project)

### 职责
项目全生命周期管理，包括项目创建、配置、执行、归档等全过程管理。

### 页面清单

| 页面名称 | 路由 | 说明 |
|---------|------|------|
| 项目列表页 | /project/list | 展示所有项目的主页面 |
| 新建项目弹窗 | /project/add | 新建项目表单弹窗 |
| 导入历史项目弹窗 | /project/import | 复制历史项目配置 |
| 项目详情页 | /project/detail/:id | 查看项目详细信息 |
| 项目归档确认弹窗 | /project/archive | 归档项目确认 |

### 功能权限

| 权限标识 | 权限名称 | 说明 |
|---------|---------|------|
| `project:list` | 查看项目列表 | 查看项目列表页 |
| `project:create` | 创建项目 | 新建项目 |
| `project:edit` | 编辑项目 | 修改项目信息 |
| `project:delete` | 删除项目 | 删除项目 |
| `project:archive` | 归档项目 | 归档已完成项目 |
| `project:import` | 导入历史项目 | 复制历史项目配置 |
| `project:result:view` | 查看结果 | 查看已完成项目结果 |
| `project:reanalyze` | 重新分析 | 重新运行风险模型 |
| `project:enter` | 进入项目 | 进入项目工作台 |
| `project:quarter:create` | 创建季度初核 | 快捷创建季度初核项目 |
| `project:newemployee:create` | 创建新员工排查 | 快捷创建新员工排查 |
| `project:export` | 导出项目 | 导出项目数据 |

### 数据表设计

#### pj_project (项目信息表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| project_id | BIGINT | 项目ID（主键） | 是 |
| project_name | VARCHAR(100) | 项目名称 | 是 |
| project_desc | VARCHAR(500) | 项目描述 | 否 |
| start_time | DATETIME | 开始时间 | 是 |
| end_time | DATETIME | 结束时间 | 是 |
| status | CHAR(1) | 状态（0进行中 1已完成 2已归档） | 是 |
| target_count | INT | 目标人数 | 是 |
| warning_count | INT | 预警人数 | 是 |
| create_by | VARCHAR(64) | 创建人 | 是 |
| create_time | DATETIME | 创建时间 | 是 |
| update_by | VARCHAR(64) | 更新人 | 否 |
| update_time | DATETIME | 更新时间 | 否 |
| remark | VARCHAR(500) | 备注 | 否 |

#### pj_project_member (项目成员表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| member_id | BIGINT | 成员ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| user_id | BIGINT | 用户ID | 是 |
| member_role | CHAR(1) | 角色（1组长 2成员） | 是 |
| join_time | DATETIME | 参与时间 | 是 |

#### pj_project_config (项目配置表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| config_id | BIGINT | 配置ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| data_source_config | TEXT | 数据源配置JSON | 否 |
| time_range_config | TEXT | 时间范围配置JSON | 否 |
| risk_model_config | TEXT | 风险模型配置JSON | 否 |
| other_config | TEXT | 其他配置JSON | 否 |

---

## 模块二：数据接入域 (dpc-data)

### 职责
多源数据采集与标准化处理，支持本行数据、他行流水、征信报告、家庭关系等多种数据源接入。

### 页面清单

| 页面名称 | 路由 | 说明 |
|---------|------|------|
| 数据管理页 | /workspace/:projectId/data | 项目工作台-数据管理 |
| 本行信息拉取弹窗 | /data/internal/pull | 输入证件号拉取本行数据 |
| 他行流水上传弹窗 | /data/external/upload | 上传他行流水文件 |
| 征信信息上传弹窗 | /data/credit/upload | 上传征信报告文件 |
| 家庭关系上传弹窗 | /data/family/upload | 上传家庭关系信息 |
| 名单库选择弹窗 | /data/watchlist/select | 选择可疑名单 |

### 功能权限

| 权限标识 | 权限名称 | 说明 |
|---------|---------|------|
| `data:internal:import` | 本行信息导入 | 拉取本行流水、资产数据 |
| `data:external:import` | 他行流水导入 | 上传他行流水文件 |
| `data:credit:import` | 征信信息导入 | 上传征信报告文件 |
| `data:family:import` | 家庭关系导入 | 上传家庭关系信息 |
| `data:watchlist:select` | 名单库选择 | 选择可疑名单 |
| `data:report:generate` | 生成报告 | 生成初核结果报告 |

### 数据表设计

#### di_import_record (导入记录表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| import_id | BIGINT | 导入ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| data_type | CHAR(1) | 数据类型（1本行 2他行 3征信 4家庭关系 5名单库） | 是 |
| file_name | VARCHAR(200) | 文件名 | 否 |
| file_path | VARCHAR(500) | 文件路径 | 否 |
| import_status | CHAR(1) | 导入状态（0待处理 1处理中 2成功 3失败） | 是 |
| record_count | INT | 记录数 | 否 |
| error_message | TEXT | 错误信息 | 否 |
| import_by | VARCHAR(64) | 导入人 | 是 |
| import_time | DATETIME | 导入时间 | 是 |

#### di_transaction (交易流水表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| trans_id | BIGINT | 交易ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| employee_id | BIGINT | 员工ID | 是 |
| account_no | VARCHAR(50) | 账号 | 是 |
| bank_name | VARCHAR(50) | 银行名称 | 是 |
| trans_time | DATETIME | 交易时间 | 是 |
| trans_amount | DECIMAL(18,2) | 交易金额 | 是 |
| balance | DECIMAL(18,2) | 余额 | 否 |
| counter_party | VARCHAR(200) | 交易对手 | 否 |
| summary | VARCHAR(200) | 摘要 | 否 |
| trans_type | VARCHAR(50) | 交易类型 | 否 |

#### di_credit_report (征信报告表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| credit_id | BIGINT | 征信ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| employee_id | BIGINT | 员工ID | 是 |
| credit_accounts | TEXT | 信贷账户JSON | 否 |
| total_debt | DECIMAL(18,2) | 负债总额 | 否 |
| guarantee_info | TEXT | 担保信息JSON | 否 |
| query_records | TEXT | 查询记录JSON | 否 |

#### di_family_relation (家庭关系表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| relation_id | BIGINT | 关系ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| employee_id | BIGINT | 员工ID | 是 |
| relation_name | VARCHAR(50) | 关系人姓名 | 是 |
| relation_type | VARCHAR(20) | 关系类型（配偶、父母、子女等） | 是 |
| id_card | VARCHAR(18) | 身份证号 | 是 |
| phone | VARCHAR(20) | 联系电话 | 否 |

---

## 模块三：数据质量域 (dpc-quality)

### 职责
数据质量检查与清洗，通过预定义规则自动检测数据格式、连续性、完整性等问题。

### 页面清单

| 页面名称 | 路由 | 说明 |
|---------|------|------|
| 数据质量页 | /workspace/:projectId/quality | 数据质量检查结果 |
| 质量评分仪表盘 | /quality/dashboard/:projectId | 质量评分可视化 |
| 质量问题详情 | /quality/issues/:projectId | 质量问题列表 |

### 功能权限

| 权限标识 | 权限名称 | 说明 |
|---------|---------|------|
| `quality:check:run` | 运行质量检查 | 执行数据质量检查 |
| `quality:check:view` | 查看检查结果 | 查看质量检查结果 |
| `quality:score:view` | 查看质量评分 | 查看质量评分仪表盘 |
| `quality:issue:view` | 查看质量问题 | 查看质量问题详情 |

### 数据表设计

#### dq_quality_rule (质量规则表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| rule_id | BIGINT | 规则ID（主键） | 是 |
| rule_name | VARCHAR(100) | 规则名称 | 是 |
| rule_type | CHAR(1) | 规则类型（1格式 2连续性 3完整性） | 是 |
| rule_expression | TEXT | 规则表达式 | 是 |
| error_level | CHAR(1) | 错误级别（1低 2中 3高） | 是 |
| status | CHAR(1) | 状态（0停用 1启用） | 是 |

#### dq_check_result (检查结果表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| result_id | BIGINT | 结果ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| rule_id | BIGINT | 规则ID | 是 |
| error_count | INT | 错误数量 | 是 |
| check_time | DATETIME | 检查时间 | 是 |

#### dq_quality_score (质量评分表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| score_id | BIGINT | 评分ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| completeness_score | DECIMAL(5,2) | 数据完整性评分 | 是 |
| consistency_score | DECIMAL(5,2) | 格式一致性评分 | 是 |
| continuity_score | DECIMAL(5,2) | 余额连续性评分 | 是 |
| total_score | DECIMAL(5,2) | 总评分 | 是 |
| check_time | DATETIME | 检查时间 | 是 |

---

## 模块四：风险分析域 (dpc-risk)

### 职责
风险模型引擎与风险评估，通过配置的风险模型进行自动风险识别和评分。

### 页面清单

| 页面名称 | 路由 | 说明 |
|---------|------|------|
| 风险总览页 | /workspace/:projectId/risk/overview | 风险仪表盘 |
| 风险人员列表 | /risk/persons/:projectId | 风险人员列表 |
| 风险人员详情 | /risk/person/:id | 单个人员详情 |
| 风险模型页 | /workspace/:projectId/risk/models | 模型触发情况 |
| 涉疑交易明细 | /risk/transaction/:projectId | 涉疑交易列表 |
| 违法人员清单 | /risk/illegal/:projectId | 违法人员列表 |
| 异常账户清单 | /risk/account/:projectId | 异常账户列表 |
| 风险模型配置 | /risk/model/config | 风险模型参数配置 |

### 功能权限

| 权限标识 | 权限名称 | 说明 |
|---------|---------|------|
| `risk:overview:view` | 查看风险总览 | 查看风险仪表盘 |
| `risk:person:view` | 查看风险人员 | 查看风险人员列表 |
| `risk:person:detail` | 查看人员详情 | 查看人员详情 |
| `risk:person:export` | 导出风险人员 | 导出风险人员列表 |
| `risk:model:view` | 查看风险模型 | 查看模型触发情况 |
| `risk:model:detail` | 查看模型详情 | 查看模型触发详情 |
| `risk:transaction:view` | 查看交易明细 | 查看涉疑交易明细 |
| `risk:transaction:export` | 导出交易明细 | 导出交易明细 |
| `risk:illegal:view` | 查看违法人员 | 查看违法人员清单 |
| `risk:illegal:export` | 导出违法人员 | 导出违法人员清单 |
| `risk:account:view` | 查看异常账户 | 查看异常账户清单 |
| `risk:account:export` | 导出异常账户 | 导出异常账户清单 |
| `risk:model:config` | 配置风险模型 | 配置风险模型参数 |
| `risk:watchlist:add` | 添加关注 | 添加关注对象 |

### 数据表设计

#### ra_risk_model (风险模型表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| model_id | BIGINT | 模型ID（主键） | 是 |
| model_name | VARCHAR(100) | 模型名称 | 是 |
| model_type | VARCHAR(50) | 模型类型 | 是 |
| model_config | TEXT | 模型配置JSON | 是 |
| status | CHAR(1) | 状态（0停用 1启用） | 是 |

#### ra_risk_person (风险人员表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| person_id | BIGINT | 人员ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| employee_id | BIGINT | 员工ID | 是 |
| risk_score | INT | 风险评分 | 是 |
| risk_level | CHAR(1) | 风险等级（0无 1低 2中 3高） | 是 |
| trigger_models | TEXT | 触发模型JSON | 否 |
| core_risks | TEXT | 核心异常点JSON | 否 |

#### ra_suspicious_transaction (涉疑交易表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| trans_id | BIGINT | 交易ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| employee_id | BIGINT | 关联员工ID | 否 |
| relation_person | VARCHAR(50) | 关联人姓名 | 否 |
| relation_type | VARCHAR(20) | 关系类型 | 否 |
| trans_time | DATETIME | 交易时间 | 是 |
| trans_amount | DECIMAL(18,2) | 交易金额 | 是 |
| trans_type | VARCHAR(50) | 交易类型 | 否 |
| counter_party | VARCHAR(200) | 交易对手 | 否 |
| hit_watchlist | CHAR(1) | 是否命中名单库 | 否 |
| hit_model | CHAR(1) | 是否命中模型规则 | 否 |

#### ra_illegal_person (违法人员表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| illegal_id | BIGINT | 违法人员ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| person_name | VARCHAR(50) | 姓名 | 是 |
| id_card | VARCHAR(18) | 身份证号 | 是 |
| is_dishonesty | CHAR(1) | 是否失信被执行人 | 否 |
| is_criminal | CHAR(1) | 是否刑事判决 | 否 |
| is_administrative | CHAR(1) | 是否行政处罚 | 否 |
| is_police_case | CHAR(1) | 是否公安案件 | 否 |
| is_limit_consumption | CHAR(1) | 是否限制高消费 | 否 |
| update_time | DATETIME | 更新时间 | 否 |
| illegal_detail | TEXT | 违法详情 | 否 |

#### ra_abnormal_account (异常账户表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| account_id | BIGINT | 账户ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| account_no | VARCHAR(50) | 账号 | 是 |
| account_holder | VARCHAR(50) | 开户人 | 是 |
| bank_name | VARCHAR(50) | 银行名称 | 是 |
| abnormal_type | VARCHAR(50) | 异常类型 | 是 |
| abnormal_time | DATETIME | 异常发生时间 | 是 |
| account_status | VARCHAR(20) | 账户状态 | 是 |

---

## 模块五：专项调查域 (dpc-investigation)

### 职责
深度分析与可视化，包括员工详查、图谱分析、拓展查询、流水明细查询等功能。

### 页面清单

| 页面名称 | 路由 | 说明 |
|---------|------|------|
| 员工详查分析 | /workspace/:projectId/investigation/employee | 员工收支资产分析 |
| 关系人图谱 | /investigation/graph/relation/:id | 社会关系网络图 |
| 资金流图谱 | /investigation/graph/fund/:id | 资金流向追踪图 |
| 实控账户图谱 | /investigation/graph/account/:id | 实控账户网络图 |
| 采购查询 | /investigation/purchase | 采购事项查询 |
| 人员调动查询 | /investigation/transfer | 人员调动记录查询 |
| 招聘查询 | /investigation/recruit | 招聘事项查询 |
| 流水明细合并 | /investigation/flow/merge | 多账户流水合并 |
| 流水二次分析 | /investigation/flow/reanalyze | 全量流水二次分析 |

### 功能权限

| 权限标识 | 权限名称 | 说明 |
|---------|---------|------|
| `investigation:employee:analyze` | 员工详查分析 | 分析员工收支资产关系 |
| `investigation:graph:relation` | 关系人图谱 | 查看社会关系网络 |
| `investigation:graph:fund` | 资金流图谱 | 查看资金流向 |
| `investigation:graph:account` | 实控账户图谱 | 查看实控账户网络 |
| `investigation:purchase:view` | 采购查询 | 查询采购事项 |
| `investigation:transfer:view` | 人员调动查询 | 查询人员调动记录 |
| `investigation:recruit:view` | 招聘查询 | 查询招聘事项 |
| `investigation:flow:merge` | 流水合并 | 合并多账户流水 |
| `investigation:flow:reanalyze` | 流水二次分析 | 全量流水二次分析 |
| `investigation:flow:export` | 流水导出 | 导出流水数据 |

### 数据表设计

#### si_investigation_record (调查记录表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| record_id | BIGINT | 记录ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| employee_id | BIGINT | 员工ID | 是 |
| investigation_type | VARCHAR(50) | 调查类型 | 是 |
| investigation_result | TEXT | 调查结果JSON | 否 |
| create_by | VARCHAR(64) | 创建人 | 是 |
| create_time | DATETIME | 创建时间 | 是 |

#### si_graph_node (图谱节点表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| node_id | BIGINT | 节点ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| node_type | VARCHAR(20) | 节点类型（1人员 2企业 3账户） | 是 |
| node_name | VARCHAR(100) | 节点名称 | 是 |
| node_data | TEXT | 节点数据JSON | 否 |

#### si_graph_edge (图谱关系边表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| edge_id | BIGINT | 边ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| source_node_id | BIGINT | 源节点ID | 是 |
| target_node_id | BIGINT | 目标节点ID | 是 |
| edge_type | VARCHAR(50) | 关系类型 | 是 |
| edge_data | TEXT | 关系数据JSON | 否 |

---

## 模块六：基础数据域 (dpc-masterdata)

### 职责
基础信息维护，包括中介库管理、员工信息管理、信贷客户家庭关系维护等。

### 页面清单

| 页面名称 | 路由 | 说明 |
|---------|------|------|
| 中介库管理 | /masterdata/meddle | 中介机构黑名单管理 |
| 员工信息管理 | /masterdata/employee | 员工实控信息管理 |
| 实控账户管理 | /masterdata/employee/account | 员工实控账户维护 |
| 实控手机号管理 | /masterdata/employee/phone | 员工实控手机号维护 |
| 信贷客户家庭关系 | /masterdata/family | 信贷客户家庭关系维护 |

### 功能权限

| 权限标识 | 权限名称 | 说明 |
|---------|---------|------|
| `masterdata:meddle:list` | 查看中介库列表 | 查看中介列表 |
| `masterdata:meddle:add` | 新增中介 | 添加中介条目 |
| `masterdata:meddle:edit` | 修改中介 | 修改中介信息 |
| `masterdata:meddle:remove` | 删除中介 | 删除中介条目 |
| `masterdata:meddle:export` | 导出中介库 | 导出中介数据 |
| `masterdata:meddle:import` | 导入中介库 | 导入中介数据 |
| `masterdata:employee:list` | 查看员工列表 | 查看员工列表 |
| `masterdata:employee:edit` | 修改员工信息 | 修改员工信息 |
| `masterdata:employee:account` | 实控账户管理 | 管理实控账户 |
| `masterdata:employee:phone` | 实控手机号管理 | 管理实控手机号 |
| `masterdata:family:list` | 查看家庭关系 | 查看家庭关系列表 |
| `masterdata:family:add` | 新增家庭关系 | 添加家庭关系 |
| `masterdata:family:edit` | 修改家庭关系 | 修改家庭关系 |
| `masterdata:family:remove` | 删除家庭关系 | 删除家庭关系 |

### 数据表设计

#### md_meddle (中介库表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| meddle_id | BIGINT | 中介ID（主键） | 是 |
| meddle_name | VARCHAR(100) | 中介名称 | 是 |
| meddle_type | VARCHAR(20) | 中介类型（1人员 2机构） | 是 |
| id_card | VARCHAR(18) | 身份证号 | 否 |
| credit_code | VARCHAR(50) | 统一信用代码 | 否 |
| contact | VARCHAR(50) | 联系人 | 否 |
| phone | VARCHAR(20) | 联系电话 | 否 |
| address | VARCHAR(200) | 地址 | 否 |
| risk_reason | VARCHAR(500) | 风险原因 | 否 |
| risk_level | CHAR(1) | 风险等级（1低 2中 3高） | 是 |
| status | CHAR(1) | 状态（0停用 1启用） | 是 |
| create_by | VARCHAR(64) | 创建人 | 是 |
| create_time | DATETIME | 创建时间 | 是 |
| update_by | VARCHAR(64) | 更新人 | 否 |
| update_time | DATETIME | 更新时间 | 否 |
| remark | VARCHAR(500) | 备注 | 否 |

#### md_employee_ext (员工扩展信息表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| ext_id | BIGINT | 扩展ID（主键） | 是 |
| user_id | BIGINT | 用户ID | 是 |
| employee_no | VARCHAR(20) | 员工工号 | 是 |
| department | VARCHAR(100) | 所属部门 | 是 |
| position | VARCHAR(50) | 职位 | 是 |
| level | VARCHAR(20) | 职级 | 否 |
| hire_date | DATE | 入职日期 | 否 |

#### md_control_account (实控账户表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| account_id | BIGINT | 账户ID（主键） | 是 |
| user_id | BIGINT | 用户ID | 是 |
| account_no | VARCHAR(50) | 账号 | 是 |
| account_bank | VARCHAR(50) | 开户银行 | 是 |
| account_type | VARCHAR(20) | 账户类型 | 是 |
| relation_type | VARCHAR(50) | 关系类型 | 否 |
| status | CHAR(1) | 状态（0停用 1启用） | 是 |

#### md_control_phone (实控手机号表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| phone_id | BIGINT | 手机号ID（主键） | 是 |
| user_id | BIGINT | 用户ID | 是 |
| phone_number | VARCHAR(20) | 手机号 | 是 |
| relation_type | VARCHAR(50) | 关系类型 | 否 |
| status | CHAR(1) | 状态（0停用 1启用） | 是 |

---

## 模块七：报告与统计域 (dpc-report)

### 职责
报告生成与数据分析，包括初核结果报告生成、多维统计分析、数据导出等功能。

### 页面清单

| 页面名称 | 路由 | 说明 |
|---------|------|------|
| 报告生成 | /workspace/:projectId/report/generate | 生成初核结果报告 |
| 报告模板管理 | /report/template | 管理报告模板 |
| 报告历史 | /report/history | 报告生成历史 |
| 项目统计 | /report/project/statistics | 项目统计分析 |
| 年度统计 | /report/statistics/year | 按年度统计 |
| 组长统计 | /report/statistics/leader | 按组长统计 |
| 对象统计 | /report/statistics/target | 按对象统计 |
| 成果统计 | /report/statistics/result | 按成果统计 |

### 功能权限

| 权限标识 | 权限名称 | 说明 |
|---------|---------|------|
| `report:generate` | 生成报告 | 生成初核结果报告 |
| `report:template:view` | 查看报告模板 | 查看报告模板 |
| `report:template:edit` | 编辑报告模板 | 编辑报告模板 |
| `report:history:view` | 查看报告历史 | 查看报告生成历史 |
| `report:stat:view` | 查看项目统计 | 查看项目统计 |
| `report:stat:export` | 导出统计数据 | 导出统计数据 |

### 数据表设计

#### rp_report_template (报告模板表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| template_id | BIGINT | 模板ID（主键） | 是 |
| template_name | VARCHAR(100) | 模板名称 | 是 |
| template_type | VARCHAR(20) | 模板类型 | 是 |
| template_content | TEXT | 模板内容 | 是 |
| status | CHAR(1) | 状态（0停用 1启用） | 是 |

#### rp_report_history (报告生成历史表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| history_id | BIGINT | 历史ID（主键） | 是 |
| project_id | BIGINT | 项目ID | 是 |
| report_name | VARCHAR(200) | 报告名称 | 是 |
| report_type | VARCHAR(20) | 报告类型 | 是 |
| report_path | VARCHAR(500) | 报告路径 | 是 |
| generate_by | VARCHAR(64) | 生成人 | 是 |
| generate_time | DATETIME | 生成时间 | 是 |

#### rp_project_statistics (项目统计表)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| stat_id | BIGINT | 统计ID（主键） | 是 |
| stat_year | INT | 统计年度 | 是 |
| total_projects | INT | 总项目数 | 是 |
| completed_projects | INT | 已完成项目数 | 是 |
| ongoing_projects | INT | 进行中项目数 | 是 |
| total_people | INT | 总核查人数 | 是 |
| risk_people | INT | 风险人数 | 是 |
| report_count | INT | 报告生成数 | 是 |

---

## 模块八：系统管理域 (扩展 ruoyi-system)

### 职责
系统配置与权限管理，扩展若依原有的系统管理功能，增加项目统计、操作日志等。

### 页面清单

| 页面名称 | 路由 | 说明 |
|---------|------|------|
| 用户管理 | /system/user | 若依现有功能 |
| 角色管理 | /system/role | 若依现有功能 |
| 菜单管理 | /system/menu | 若依现有功能 |
| 部门管理 | /system/dept | 若依现有功能 |
| 参数配置 | /system/config | 风险模型参数配置 |
| 操作日志 | /monitor/operlog | 若依现有功能 |
| 登录日志 | /monitor/logininfor | 若依现有功能 |

### 功能权限

若依原有权限体系，按需扩展纪检初核相关权限。

---

# 若依模块结构

```
discipline-prelim-check/
├── ruoyi-admin/              # 启动模块
├── ruoyi-framework/          # 框架核心
├── ruoyi-system/             # 系统管理(扩展)
├── ruoyi-common/             # 公共组件
├── dpc-project/              # 模块一：项目管理域 (新增)
├── dpc-data/                 # 模块二：数据接入域 (新增)
├── dpc-quality/              # 模块三：数据质量域 (新增)
├── dpc-risk/                 # 模块四：风险分析域 (新增)
├── dpc-investigation/        # 模块五：专项调查域 (新增)
├── dpc-masterdata/           # 模块六：基础数据域 (新增)
├── dpc-report/               # 模块七：报告与统计域 (新增)
└── ruoyi-ui/
    └── src/
        ├── views/
        │   ├── project/      # 项目管理
        │   │   ├── index.vue         # 项目列表
        │   │   ├── addDialog.vue     # 新建项目弹窗
        │   │   └── importDialog.vue  # 导入历史项目
        │   ├── workspace/    # 项目工作台（容器）
        │   │   ├── data.vue          # 数据管理
        │   │   ├── quality.vue       # 数据质量
        │   │   ├── risk/             # 风险分析
        │   │   │   ├── overview.vue  # 风险总览
        │   │   │   ├── models.vue    # 风险模型
        │   │   │   └── detail/       # 风险明细
        │   │   └── investigation/     # 专项调查
        │   ├── masterdata/   # 基础数据
        │   │   ├── meddle.vue        # 中介库管理
        │   │   ├── employee.vue      # 员工信息管理
        │   │   └── family.vue        # 家庭关系维护
        │   └── report/       # 报告统计
        │       ├── generate.vue       # 报告生成
        │       └── statistics/        # 统计分析
        └── api/
            ├── project.js
            ├── data.js
            ├── quality.js
            ├── risk.js
            ├── investigation.js
            ├── masterdata.js
            └── report.js
```

---

# 实施优先级

## 第一阶段：基础框架
1. **项目管理域** - 建立项目概念，实现项目CRUD
2. **数据接入域** - 实现基础数据导入功能
3. **系统管理域** - 扩展权限和配置

## 第二阶段：核心分析
4. **数据质量域** - 实现数据质量检查
5. **风险分析域** - 实现核心风险模型
6. **基础数据域** - 建立基础数据支撑

## 第三阶段：高级功能
7. **专项调查域** - 实现图谱分析和深度调查
8. **报告与统计域** - 实现报告生成和统计

---

# 验证方式

1. 各模块可独立开发、测试、部署
2. 模块间通过定义良好的接口交互
3. 使用若依代码生成器快速生成CRUD框架
4. 每个模块有独立的菜单权限配置
5. 数据库表按模块前缀命名，便于管理
