# 02.4-流水明细查询

## 模块概述

流水明细查询模块对拉取的本行流水以及上传的他行流水进行批量分析，提供多账户流水合并和二次分析功能。

## 模块结构

```
流水明细查询
├── 多账户流水明细合并
└── 全量流水二次分析
```

## 功能分解

### 4.1 多账户流水明细合并

**功能描述**: 将多个银行的流水合并成一个流水文件进行统一查询和分析。

**功能点**:
- **流水合并**: 将多个银行的流水数据合并为一个统一的数据集
- **账号筛选**: 左侧筛选区可筛选账号和银行进行查询
- **自主排序**: 主页面可选择按交易金额、交易时间等自主排序
- **对手方分析**: 支持切换对手方分析视图

**数据要素**:
- 账号
- 银行名称
- 交易时间
- 交易金额
- 交易类型
- 对手方信息
- 余额

### 4.2 全量流水二次分析

**功能描述**: 对全量流水表中的关键流水进行手工提交分析，实现重点流水的深入分析。

**功能点**:
- **加入分析**: 对关键流水进行手工提交"加入分析"操作
- **新建交易表**: 将关键流水重新放置在一个新的交易表中进行分析
- **独立分析**: 新的交易表独立于原流水表，支持单独的操作和分析

**数据要素**:
- 选中的流水记录
- 新建的交易表
- 分析结果

## 数据模型

### 流水记录 (TransactionRecord)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| transactionId | Long | 交易ID | 是 |
| projectId | Long | 项目ID | 是 |
| accountNo | String | 账号 | 是 |
| bankName | String | 银行名称 | 是 |
| transactionTime | DateTime | 交易时间 | 是 |
| transactionType | String | 交易类型 | 是 |
| amount | BigDecimal | 交易金额 | 是 |
| balance | BigDecimal | 余额 | 是 |
| counterparty | String | 对手方 | 否 |
| summary | String | 摘要 | 否 |
| dataSource | String | 数据来源（本行/他行） | 是 |

### 二次分析表 (SecondaryAnalysisTable)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| tableId | Long | 分析表ID | 是 |
| projectId | Long | 项目ID | 是 |
| tableName | String | 分析表名称 | 是 |
| createTime | DateTime | 创建时间 | 是 |
| transactionCount | Integer | 流水数量 | 是 |

### 二次分析流水关联 (SecondaryAnalysisTransaction)

| 字段名 | 类型 | 说明 | 必填 |
|-------|------|------|-----|
| id | Long | 关联ID | 是 |
| tableId | Long | 分析表ID | 是 |
| transactionId | Long | 交易ID | 是 |
| addTime | DateTime | 添加时间 | 是 |

## 页面布局

### 流水明细查询页面

```
+----------------------------------+
|         流水明细查询             |
+----------------------------------+
| 筛选区     |     流水列表区      |
|            |                     |
| 账号: [▼]  |  交易时间 | 金额  | |
| 银行: [▼]  |  2024-01-15| 5000 | |
|            |  2024-01-14| 3000 | |
| 排序: [▼]  |  2024-01-13| 2000 | |
|            |                     |
| [加入分析] |                     |
+----------------------------------+
```

## 业务规则

1. **流水合并规则**:
   - 同一账号的流水按时间顺序排列
   - 不同账号的流水保持独立，在合并表中通过账号/银行字段区分
   - 支持的最大账号数量: 100个

2. **排序规则**:
   - 按交易时间排序（升序/降序）
   - 按交易金额排序（升序/降序）
   - 支持多字段组合排序

3. **二次分析规则**:
   - 单个分析表最多包含10000条流水记录
   - 同一流水记录可以加入多个分析表
   - 分析表支持导出和删除操作

## 操作流程

### 流水查询流程

```
1. 选择账号/银行
       ↓
2. 选择排序方式
       ↓
3. 查看流水列表
       ↓
4. 切换对手方分析（可选）
       ↓
5. 选中关键流水
       ↓
6. 点击"加入分析"
```

### 二次分析流程

```
1. 在全量流水表中选中关键流水
       ↓
2. 点击"加入分析"
       ↓
3. 创建或选择目标分析表
       ↓
4. 流水添加到分析表
       ↓
5. 在新分析表中进行独立分析
```

## 页面原型

### 1. 流水明细查询页面
- 左侧筛选区（账号、银行、排序）
- 右侧流水列表区
- 对手方分析切换按钮
- 批量操作区

### 2. 二次分析表页面
- 分析表列表
- 流水明细
- 统计分析
- 导出功能

## 交互关系

| 关联模块 | 交互说明 |
|---------|---------|
| 数据管理 | 使用导入的流水数据 |
| 初核结果总览 | 从交易详情跳转到流水查询 |
| 专项排查 | 从资金流图谱跳转到流水查询 |

## 功能特性

### 多账户流水合并
- 支持跨银行流水统一查询
- 支持多种排序方式
- 支持对手方分析视图切换
- 支持流水数据导出

### 全量流水二次分析
- 灵活的手工选择机制
- 独立的分析空间
- 支持多个分析表并行工作
- 支持分析结果导出

## 功能点统计

- 二级功能: 2个
- 三级功能点: 4个

## 版本信息

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