aiccs-api/devdoc/XQ-20260331-005_开发思路与改动.md

118 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# XQ-20260331-005 开发思路与改动
## 一、技术方案
### 1.1 定时任务设计
**类名**: `CancelEntRemoveSchedule`
**位置**: `com.chinaweal.aiccs.schedule.CancelEntRemoveSchedule`
**执行频率**: 每天凌晨2点执行可配置
### 1.2 处理流程
```
1. 查询当天注销的市场主体
└─ 表: SJZX_SHARE.KSQY_E_BASEINFO
└─ 条件: REGSTATE = '注销' AND 注销日期 = 当天日期
2. 对每个注销主体处理:
├─ 2.1 经营异常名录自动移出
│ ├─ 表: SJZX_SHARE.KSQY_AO_OPA_DETAIL
│ ├─ 条件: PRIPID = 当前主体 AND REMDATE IS NULL
│ └─ 操作: 更新 REMDATE, REMEXCPRES, REMEXCPRES_CN, REDECORG, REDECORG_CN
├─ 2.2 严重违法记录自动移出
│ ├─ 表: SJZX_SHARE.KSQY_E_LI_ILLDISDETAIL
│ ├─ 条件: PRIPID = 当前主体 AND REMDATE IS NULL
│ └─ 操作: 更新 REMDATE, REMEXCPRES, REMEXCPRES_CN, RECORG, RECORG_CN, REDOCNUM
└─ 2.3 行政处罚信用修复记录插入
├─ 表: CRGS.CASE_CRE_INFORMATION
├─ 条件: PRIPID = 当前主体 AND CASEID 存在
└─ 操作: 插入新记录 (CASECREID, PRIPID, ENTNAME, UNISCID, CASEID, REPAIRDATE, REPAUTH, REPAUTH_CN, REPDATE)
```
### 1.3 涉及的表和字段
#### 企业基本信息表 (KSQY_E_BASEINFO)
- **PRIPID**: 主体身份代码
- **ENTNAME**: 企业名称
- **UNISCID**: 统一社会信用代码
- **REGSTATE**: 登记状态
- **REGDATE**: 核准日期(注销日期)
#### 经营异常名录详情表 (KSQY_AO_OPA_DETAIL)
- **BUSEXCLIST**: 经营异常名录ID
- **PRIPID**: 主体身份代码
- **ISMOVE**: 是否移出
- **REMDATE**: 移出日期
- **REMEXCPRES**: 移出原因
- **REMEXCPRES_CN**: 移出原因中文
- **REDECORG**: 移出决定机关
- **REDECORG_CN**: 移出决定机关中文
#### 严重违法详情表 (KSQY_E_LI_ILLDISDETAIL)
- **ILLID**: 严重违法失信ID
- **PRIPID**: 主体身份代码
- **REMDATE**: 移出日期
- **REMEXCPRES**: 移出事由
- **REMEXCPRES_CN**: 移出事由中文
- **RECORG**: 移出决定机关
- **RECORG_CN**: 移出决定机关中文
- **REDOCNUM**: 移出文号
#### 行政处罚信用修复信息表 (CRGS.CASE_CRE_INFORMATION)
- **CASECREID**: 行政处罚修复ID
- **PRIPID**: 主体身份代码
- **ENTNAME**: 企业名称
- **UNISCID**: 统一社会信用代码
- **CASEID**: 行政处罚ID
- **REPAIRDATE**: 申请修复日期
- **REPAUTH**: 修复机关代码
- **REPAUTH_CN**: 修复机关名称
- **REPDATE**: 修复日期
- **REPAIRNO**: 修复文号
## 二、实现细节
### 2.1 定时任务配置
`application-dev.yml` 中添加:
```yaml
scheduling:
enable: true
cron:
cancelEntRemove: '0 0 2 * * ?' # 每天凌晨2点执行
```
### 2.2 核心逻辑
1. **查询注销主体**: 使用 MyBatis Plus 的 LambdaQueryWrapper 构建查询条件
2. **批量处理**: 对每个注销主体,先批量处理所有移出操作,再处理行政处罚插入
3. **事务管理**: 使用 @Transactional 确保数据一致性
4. **日志记录**: 详细记录处理过程和结果
### 2.3 移出原因
- **移出原因码值**: `08` (其他)
- **移出原因中文**: `主体注销,自动移出`
- **移出机关**: 使用原列入机关或默认机关代码
## 三、代码改动
### 3.1 新增文件
1. `src/main/java/com/chinaweal/aiccs/schedule/CancelEntRemoveSchedule.java` - 定时任务类
2. `src/main/java/com/chinaweal/aiccs/aicbizqy/mapper/datamove/AoOpaDetailDataMoveMapper.java` - 需添加更新方法
3. `src/main/java/com/chinaweal/aiccs/aicbizqy/mapper/datamove/ELiIlldisdetailDataMoveMapper.java` - 需添加更新方法
### 3.2 修改文件
1. `src/main/resources/application-dev.yml` - 添加定时任务配置
## 四、异常处理
- 查询异常: 记录日志,继续处理其他主体
- 更新异常: 记录错误日志,继续处理其他记录
- 插入异常: 记录错误日志,继续处理其他记录