148 lines
4.7 KiB
Markdown
148 lines
4.7 KiB
Markdown
# XQ-20260414-001 开发文档
|
||
|
||
## 任务概述
|
||
**PMS待办编号**: XQ-20260414-001
|
||
**来源**: 内蒙古市场监督管理局信用监管系统改造
|
||
**功能点**: 内蒙信用监管-营业执照作废公告进行公示
|
||
**截止日期**: 2026-04-16
|
||
|
||
## 需求分析
|
||
|
||
### 1. 功能开发
|
||
**需求描述**: 强制注销审批成功后,将营业执照作废声明数据插入到 `E_LICENSE_NULLIFY_REG` 表
|
||
|
||
**实现方案**:
|
||
- `E_LICENSE_NULLIFY_REG` 是视图,底层表为 `XR_LICCAN_REC`
|
||
- 修改 `RevokeServiceImpl.toForcedLogoutEnter()` 方法
|
||
- 在强制注销公告生成完成后,遍历 `ForceLogoutNoticeDetail` 列表
|
||
- 为每个未剔除的企业创建 `XrLiccanRec` 记录
|
||
|
||
### 2. Bug修复
|
||
**问题描述**: 营业执照作废记录点击后数据库读写异常(测试账号:xudy)
|
||
|
||
**可能原因分析**:
|
||
- 待排查,需联系测试人员提供更详细的错误日志
|
||
|
||
**修复方案**:
|
||
- 待定,需进一步定位问题
|
||
|
||
## 代码修改
|
||
|
||
### 修改文件
|
||
`src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/RevokeServiceImpl.java`
|
||
|
||
### 修改内容
|
||
|
||
#### 1. 新增导入
|
||
```java
|
||
import com.chinaweal.aiccs.aiccs.force.entity.XrLiccanRec;
|
||
import com.chinaweal.aiccs.aiccs.force.service.IXrLiccanRecService;
|
||
```
|
||
|
||
#### 2. 新增服务注入
|
||
```java
|
||
@Autowired
|
||
private IXrLiccanRecService xrLiccanRecService;
|
||
```
|
||
|
||
#### 3. 在 toForcedLogoutEnter 方法末尾添加逻辑
|
||
在 `forceLogoutNoticeService.deactivationNotice(...)` 调用之后添加:
|
||
|
||
```java
|
||
// 生成营业执照作废声明数据
|
||
for (ForceLogoutNoticeDetail detail : forceLogoutNoticeDetailList) {
|
||
// 跳过已剔除的企业
|
||
if ("1".equals(detail.getIsRemove())) {
|
||
continue;
|
||
}
|
||
|
||
XrLiccanRec liccanRec = new XrLiccanRec();
|
||
liccanRec.setRecId(UUID.randomUUID().toString());
|
||
liccanRec.setPripId(detail.getPripid());
|
||
liccanRec.setEntName(detail.getEntName());
|
||
liccanRec.setUniscId(detail.getUniscid());
|
||
liccanRec.setRegno(detail.getRegNo());
|
||
liccanRec.setRegOrg(detail.getRegOrg());
|
||
liccanRec.setRegOrgCn(detail.getRegOrgCn());
|
||
liccanRec.setRegType("FORCE_LOGOUT");
|
||
liccanRec.setLiccanReason("1");
|
||
liccanRec.setIsoricop("1");
|
||
liccanRec.setLiccanSta("营业执照因强制注销公告作废");
|
||
liccanRec.setLiccanDate(LocalDate.now());
|
||
|
||
xrLiccanRecService.save(liccanRec);
|
||
}
|
||
```
|
||
|
||
## 数据映射关系
|
||
|
||
| XrLiccanRec 字段 | 数据来源 | 说明 |
|
||
|-----------------|---------|------|
|
||
| recId | UUID.randomUUID().toString() | 主键 |
|
||
| pripId | detail.getPripid() | 主体标识 |
|
||
| entName | detail.getEntName() | 企业名称 |
|
||
| uniscId | detail.getUniscid() | 统一社会信用代码 |
|
||
| regno | detail.getRegNo() | 注册号 |
|
||
| regOrg | detail.getRegOrg() | 登记机关 |
|
||
| regOrgCn | detail.getRegOrgCn() | 登记机关中文名 |
|
||
| regType | "FORCE_LOGOUT" | 业务类型-强制注销 |
|
||
| liccanReason | "1" | 作废原因-无法缴回 |
|
||
| isoricop | "1" | 正副本-正副本 |
|
||
| liccanSta | "营业执照因强制注销公告作废" | 作废声明内容 |
|
||
| liccanDate | LocalDate.now() | 作废声明日期 |
|
||
|
||
## 底层表说明
|
||
|
||
### 视图 E_LICENSE_NULLIFY_REG
|
||
```sql
|
||
CREATE OR REPLACE VIEW AICCS.E_LICENSE_NULLIFY_REG AS
|
||
SELECT
|
||
T1.RECID, T1.PRIPID, T1.ENTNAME, T1.UNISC_ID, T1.REG_ORG, T1.REG_ORG_CN,
|
||
T1.REG_TYPE, T1.LICAN_REASON, T1.ISORICOP, T1.LICAN_STA, T1.LICAN_DATE,
|
||
T1.LICCOPY_NO, T1.S_EXT_FROMNODE, T1.S_EXT_DATATIME
|
||
FROM AICCS.XR_LICCAN_REC T1;
|
||
```
|
||
|
||
### 原始表 XR_LICCAN_REC
|
||
表名:`AICCS.XR_LICCAN_REC`
|
||
|
||
对应实体类:`com.chinaweal.aiccs.aiccs.force.entity.XrLiccanRec`
|
||
|
||
## 测试要点
|
||
|
||
### 功能测试
|
||
1. 创建强制注销业务,添加企业名单
|
||
2. 完成全部审批流程,直到强制注销审批通过
|
||
3. 验证 `XR_LICCAN_REC` 表中是否生成了对应的作废声明记录
|
||
4. 验证记录字段值是否正确
|
||
|
||
### 回归测试
|
||
1. 原有强制注销流程是否正常
|
||
2. 营业执照作废声明查询功能是否正常
|
||
|
||
## 风险评估
|
||
- **风险等级**: 低
|
||
- **影响范围**: 仅在强制注销审批通过后新增数据写入,不影响原有业务流程
|
||
- **回滚方案**: 回退代码即可
|
||
|
||
## Git提交信息
|
||
```
|
||
XQ-20260414-001: 修正为插入XR_LICCAN_REC表
|
||
|
||
【修正内容】
|
||
- E_LICENSE_NULLIFY_REG是视图,原始表为XR_LICCAN_REC
|
||
- 使用已有的XrLiccanRec实体类
|
||
- 修改RevokeServiceImpl.toForcedLogoutEnter()方法
|
||
- 强制注销审批通过后,向XR_LICCAN_REC表插入营业执照作废声明数据
|
||
```
|
||
|
||
## 开发记录
|
||
- 创建分支: XQ-20260414-001
|
||
- 开始日期: 2026-04-14
|
||
- 第一次修正: 插入了错误的表 LICENSE_CANCELLATION_DECLARE
|
||
- 第二次修正: 改为插入正确的视图对应的原始表 XR_LICCAN_REC
|
||
|
||
## 后续工作
|
||
1. Bug修复需要更多错误日志信息才能定位
|
||
2. 需要在测试环境验证功能是否正常
|