# 新增贷款查询模块实施计划

## 需求范围

在项目详情的“专项排查”页面中，于资金流向图谱下方新增“新增贷款查询”模块。模块用于查询某个员工经办/管户或审核的新增贷款合同，支持通过柜员号、员工身份证、审核人柜员号和发放日期筛选，并支持导出单人查询结果。

## 设计口径

- 页面位置：`项目详情 > 专项排查 > 资金流向图谱下方`
- 数据范围：按输入的柜员号或员工身份证查询对应贷款，不默认展开全量列表，不再限定当前项目排查人员范围；柜员号精确匹配
- 关联方式：柜员号对应 `ccdi_increase_lending.customer_manager_id`
- 查询条件：柜员号、员工身份证、审核人柜员号、发放日期范围；柜员号、员工身份证、审核人柜员号均使用等值查询，不做模糊匹配
- 查询交互：默认展示筛选框和空表头；输入柜员号或员工身份证并点击查询后加载分页结果
- 导出口径：导出当前单人查询条件下的全部匹配贷款明细，不受当前分页页码限制

## 后端实施

1. 在 `CcdiProjectSpecialCheckController` 新增 `/increase-lending/list` 查询接口。
2. 新增 `CcdiProjectIncreaseLendingQueryDTO`，包含 `projectId`、`staffId`、`staffIdCard`、`approver`、`loanStartDate`、`loanEndDate`、分页参数。
3. 新增 `CcdiProjectIncreaseLendingListVO` 与 `CcdiProjectIncreaseLendingListItemVO`。
4. 在 `CcdiProjectSpecialCheckServiceImpl` 增加分页查询方法。
5. 在 `CcdiProjectSpecialCheckMapper.xml` 使用 `ccdi_increase_lending.customer_manager_id` 直接精确匹配柜员号查询，员工身份证通过 `ccdi_base_staff.id_card` 精确过滤，审核人柜员号通过 `ccdi_increase_lending.approver` 精确过滤，并按 `loan_start_date` 支持发放日期范围筛选。
6. 新增导出 Excel 对象和 `/increase-lending/export` 接口，复用同一查询口径导出全部匹配明细。

## 前端实施

1. 在 `projectSpecialCheck.js` 新增 `getIncreaseLendingList` API。
2. 新增 `IncreaseLendingSection.vue`，默认展示筛选区和空表头，查询后展示贷款列表与分页；筛选区包含柜员号、员工身份证、审核人柜员号、发放日期范围。
3. 在 `SpecialCheck.vue` 的资金流向图谱下方挂载新增贷款查询模块。
4. 在筛选按钮区新增“导出”按钮，仅在填写柜员号、员工身份证或审核人柜员号后允许导出。

## 验证计划

- 后端执行 `mvn -pl ccdi-project -DskipTests compile`
- 前端执行 `npm run build:prod`
- 打开真实项目详情页，进入专项排查，确认新增贷款查询模块显示在资金流向图谱下方
- 验证柜员号、员工身份证、审核人柜员号、发放日期筛选条件能触发列表查询
- 验证导出接口导出当前查询条件下的全部结果
