# XQ-20260314-001 开发思路与改动

## 待办信息
- **待办编号**: XQ-20260314-001
- **待办标题**: 内蒙信用监管-撤销吊销功能

## 一、数据库设计

### 1. 业务表结构设计

根据需求，需要新建撤销吊销业务表。参考现有表结构，设计如下：

#### 1.1 撤销吊销业务表 (TS_BIZ_CANCEL_REVOKE)
用于存储撤销吊销业务的核心数据。

| 字段名 | 类型 | 说明 |
|--------|------|------|
| BIZ_ID | VARCHAR(72) | 业务ID（主键） |
| BIZ_SEQ | VARCHAR(100) | 业务编号 |
| PRIPID | VARCHAR(72) | 主体身份代码 |
| UNISCID | VARCHAR(36) | 统一社会信用代码 |
| REGNO | VARCHAR(60) | 注册号 |
| ENTNAME | VARCHAR(200) | 企业名称 |
| REVOKE_REASON | VARCHAR(200) | 吊销原因 |
| REVOKE_DATE | DATE | 吊销日期 |
| CANCEL_REVOKE_DATE | VARCHAR(20) | 撤销吊销日期 |
| CANCEL_REVOKE_REASON | VARCHAR(200) | 撤销吊销原因 |
| APPROVAL_DOC_NO | VARCHAR(100) | 批准文号 |
| APPROVAL_DEPT | VARCHAR(200) | 批准部门 |
| APPROVAL_DEPT_ID | VARCHAR(100) | 批准部门ID |
| STATUS | VARCHAR(1) | 状态：1-待受理，2-受理中，3-审核中，4-审批中，5-已通过，6-已拒绝 |
| CURRENT_NODE | VARCHAR(1) | 当前节点：1-受理，2-审核，3-审批 |
| REMARKS | VARCHAR(200) | 备注 |
| HANDLER_ID | VARCHAR(100) | 经办人ID |
| HANDLER_NAME | VARCHAR(100) | 经办人姓名 |
| HANDLER_DATE | DATE | 经办时间 |
| CREATE_TIME | TIMESTAMP | 创建时间 |
| UPDATE_TIME | TIMESTAMP | 更新时间 |

#### 1.2 撤销吊销审批记录表 (TS_CANCEL_REVOKE_APPROVE)
用于存储三级审批的记录。

| 字段名 | 类型 | 说明 |
|--------|------|------|
| APPROVE_ID | VARCHAR(72) | 审批ID（主键） |
| BIZ_ID | VARCHAR(72) | 业务ID |
| NODE | VARCHAR(1) | 节点：1-受理，2-审核，3-审批 |
| APPROVER_ID | VARCHAR(100) | 审批人ID |
| APPROVER_NAME | VARCHAR(100) | 审批人姓名 |
| APPROVE_STATUS | VARCHAR(1) | 审批状态：1-通过，2-拒绝 |
| APPROVE_OPINION | VARCHAR(500) | 审批意见 |
| APPROVE_TIME | TIMESTAMP | 审批时间 |
| CREATE_TIME | TIMESTAMP | 创建时间 |

## 二、代码结构设计

### 2.1 目录结构
在 `src/main/java/com/chinaweal/aiccs/aiccs/force/` 目录下新增：

```
force/
├── cancel/
│   ├── controller/
│   │   └── CancelRevokeController.java
│   ├── mapper/
│   │   ├── CancelRevokeMapper.java
│   │   └── CancelRevokeApproveMapper.java
│   ├── service/
│   │   ├── ICancelRevokeService.java
│   │   └── impl/
│   │       └── CancelRevokeServiceImpl.java
│   ├── entity/
│   │   ├── CancelRevoke.java
│   │   └── CancelRevokeApprove.java
│   └── entity/vo/
│       └── CancelRevokeVO.java
```

### 2.2 Mapper XML 文件
在 `src/main/resources/mybatis/mapper/aiccs/force/` 目录下新增：
- `CancelRevokeMapper.xml`
- `CancelRevokeApproveMapper.xml`

## 三、接口设计

### 3.1 查询吊销主体列表接口
- **接口路径**: GET /api/cancelRevoke/revokedList
- **功能**: 查询主体状态为吊销的主体列表
- **参数**: 分页参数、查询条件（企业名称、统一社会信用代码、注册号等）
- **返回**: 吊销主体列表

### 3.2 发起撤销吊销业务接口
- **接口路径**: POST /api/cancelRevoke
- **功能**: 发起撤销吊销业务
- **参数**: 主体ID、企业信息、撤销原因等
- **返回**: 业务ID

### 3.3 审批列表查询接口
- **接口路径**: GET /api/cancelRevoke/approveList
- **功能**: 查询待审批的撤销吊销业务列表
- **参数**: 分页参数、状态筛选
- **返回**: 审批列表

### 3.4 审批详情查询接口
- **接口路径**: GET /api/cancelRevoke/{bizId}
- **功能**: 查询撤销吊销业务详情
- **参数**: 业务ID
- **返回**: 业务详情、审批记录

### 3.5 审批操作接口
- **接口路径**: POST /api/cancelRevoke/approve
- **功能**: 审批通过/拒绝
- **参数**: 业务ID、审批节点、审批状态、审批意见
- **返回**: 审批结果

### 3.6 撤销吊销记录列表接口
- **接口路径**: GET /api/cancelRevoke/records
- **功能**: 查询已完成的撤销吊销记录
- **参数**: 分页参数、查询条件
- **返回**: 撤销吊销记录列表

## 四、审批流程

### 4.1 三级审批流程
1. **受理节点（Node 1）**: 受理人审核材料，确认受理
2. **审核节点（Node 2）**: 审核人审核业务，提交审批
3. **审批节点（Node 3）**: 审批人最终审批

### 4.2 状态流转
- 1（待受理）→ 2（受理中）→ 3（审核中）→ 4（审批中）→ 5（已通过）或 6（已拒绝）

### 4.3 审批结束后的处理
业务审批通过后（状态变为5）：
1. 将主体信息推送到 CANCELREVOKELIST 表
2. 更新 REVOKELIST 表中的状态为"2"（撤销）
3. 调用接口修改主体状态为"开业"

## 五、需要创建的SQL文件

1. `TS_BIZ_CANCEL_REVOKE.sql` - 撤销吊销业务表
2. `TS_CANCEL_REVOKE_APPROVE.sql` - 撤销吊销审批记录表
