# 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` - 添加定时任务配置 ## 四、异常处理 - 查询异常: 记录日志,继续处理其他主体 - 更新异常: 记录错误日志,继续处理其他记录 - 插入异常: 记录错误日志,继续处理其他记录