# XQ-20260414-001 开发文档 ## 任务概述 **PMS待办编号**: XQ-20260414-001 **来源**: 内蒙古市场监督管理局信用监管系统改造 **功能点**: 内蒙信用监管-营业执照作废公告进行公示 **截止日期**: 2026-04-16 ## 需求分析 ### 1. 功能开发 **需求描述**: 强制注销审批成功后,将营业执照作废声明数据插入到 `E_LICENSE_NULLIFY_REG` 表 **业务背景**: - 内蒙古市场监督管理局需要对强制注销的企业进行营业执照作废公告公示 - 当强制注销审批流程完成后,需要自动生成营业执照作废公告记录到 E_LICENSE_NULLIFY_REG 表 **实现方案**: - 修改 `RevokeServiceImpl.toForcedLogoutEnter()` 方法 - 在强制注销公告生成完成后,遍历 `ForceLogoutNoticeDetail` 列表 - 为每个未剔除的企业创建 `LicenseNullifyReg` 记录 ### 2. Bug修复 **问题描述**: 营业执照作废记录点击后数据库读写异常(测试账号:xudy) **可能原因分析**: - 待排查,需联系测试人员提供更详细的错误日志 - 需要在测试环境复现问题并获取完整堆栈信息 **修复方案**: - 待定,需进一步定位问题 ## 代码修改清单 ### 新增文件 1. **Entity**: `src/main/java/com/chinaweal/aiccs/aiccs/forcedCancellation/entity/LicenseNullifyReg.java` - 营业执照作废公告公示表实体类 - 表名:`AICCS.E_LICENSE_NULLIFY_REG` 2. **Mapper**: `src/main/java/com/chinaweal/aiccs/aiccs/forcedCancellation/mapper/LicenseNullifyRegMapper.java` - 继承 BaseMapper,提供基础 CRUD 操作 3. **Mapper XML**: `src/main/resources/mybatis/mapper/aiccs/forcedCancellation/LicenseNullifyRegMapper.xml` - MyBatis Mapper 配置,包含分页查询和各类查询方法 4. **Service**: `src/main/java/com/chinaweal/aiccs/aiccs/forcedCancellation/service/LicenseNullifyRegService.java` - 服务接口 5. **ServiceImpl**: `src/main/java/com/chinaweal/aiccs/aiccs/forcedCancellation/service/impl/LicenseNullifyRegServiceImpl.java` - 服务实现类 ### 修改文件 1. **RevokeServiceImpl.java** - 添加 `LicenseNullifyReg` 导入 - 添加 `LicenseNullifyRegService` 导入 - 注入 `LicenseNullifyRegService` - 在 `toForcedLogoutEnter()` 方法末尾添加插入逻辑 ## 数据映射关系 | LicenseNullifyReg 字段 | 数据来源 | 说明 | |------------------------|---------|------| | recId | UUID.randomUUID().toString() | 主键 | | bizseqId | detail.getBizseqId() | 业务ID | | 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() | 作废声明发布日期 | | noticeTitle | forceLogoutNotice.getNoticeTitle() | 公告标题 | | noticeContent | forceLogoutNotice.getNoticeContent() | 公告内容 | | noticeFrom | forceLogoutNotice.getNoticeFrom() | 公告起始日期 | | noticeTo | forceLogoutNotice.getNoticeTo() | 公告截止日期 | | sExtFromnode | detail.getSExtFromnode() | 二级部署标识 | | sExtDatetime | LocalDateTime.now() | 更新时间 | | createTime | LocalDateTime.now() | 创建时间 | | lauptime | LocalDateTime.now() | 更新时间 | ## 数据库建表 SQL(参考) ```sql CREATE TABLE AICCS.E_LICENSE_NULLIFY_REG ( RECID VARCHAR(64) PRIMARY KEY, BIZSEQID VARCHAR(64), PRIPID VARCHAR(64), ENTNAME VARCHAR(256), UNISCID VARCHAR(32), REGNO VARCHAR(32), REGORG VARCHAR(12), REGORG_CN VARCHAR(128), REGTYPE VARCHAR(32), LICCANREASON VARCHAR(8), ISORICOP VARCHAR(8), LICCANSTA VARCHAR(1024), LICCANDATE DATE, LICCOPYNO VARCHAR(64), NOTICETITLE VARCHAR(512), NOTICECONTENT TEXT, NOTICEFROM DATE, NOTICETO DATE, S_EXT_FROMNODE VARCHAR(12), S_EXT_DATATIME TIMESTAMP, CREATE_TIME TIMESTAMP, LAUPTIME TIMESTAMP ); ``` ## 测试要点 ### 功能测试 1. 创建强制注销业务,添加企业名单 2. 完成全部审批流程,直到强制注销审批通过 3. 验证 `E_LICENSE_NULLIFY_REG` 表中是否生成了对应的作废公告记录 4. 验证记录字段值是否正确 ### 回归测试 1. 原有强制注销流程是否正常 2. 营业执照作废公告查询功能是否正常 ## 风险评估 - **风险等级**: 低 - **影响范围**: 仅在强制注销审批通过后新增数据写入,不影响原有业务流程 - **回滚方案**: 回退代码即可 ## Git提交信息 ``` XQ-20260414-001: 强制注销审批成功后生成营业执照作废公告数据到E_LICENSE_NULLIFY_REG表 - 新增 E_LICENSE_NULLIFY_REG 表对应的完整后端代码 - Entity: LicenseNullifyReg.java - Mapper: LicenseNullifyRegMapper.java - Mapper XML: LicenseNullifyRegMapper.xml - Service: LicenseNullifyRegService.java - ServiceImpl: LicenseNullifyRegServiceImpl.java - 修改 RevokeServiceImpl.toForcedLogoutEnter() 方法 - 强制注销审批通过后,遍历 ForceLogoutNoticeDetail 列表 - 为每个未剔除的企业创建 LicenseNullifyReg 记录 ``` ## 开发记录 - 创建分支: XQ-20260414-001 - 开始日期: 2026-04-14 - 修正日期: 2026-04-14(修正表名错误) ## 后续工作 1. Bug修复需要更多错误日志信息才能定位 2. 需要在测试环境验证功能是否正常 3. 需要DBA创建 E_LICENSE_NULLIFY_REG 表