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

114 lines
4.2 KiB
Markdown
Raw Permalink Normal View History

# XQ-20260327-008 开发思路与改动
## 一、开发思路
基于原有的行政处罚修复功能TBizRemPunishmentController新建一套外省行政处罚修复接口。主要区别在于
1. 数据来源不同:本地表 → 跨省表QG_CASE_PUB_NBASEINFO
2. 主体信息查询不同从EBaseinfo查询 → 从QG_CASE_PUB_NBASEINFO直接获取
3. 办结后处理不同插入CASE_CRE_INFORMATION → 修改QG_CASE_PUB_NBASEINFO + 插入CR_E_CASE
## 二、代码改动清单
### 1. 新建实体类
#### 1.1 QG_CASE_PUB_NBASEINFO 实体
- **路径**: `src/main/java/com/chinaweal/aiccs/aiccs/punishment/entity/QgCasePubNbaseinfo.java`
- **说明**: 跨省行政处罚基本信息实体对应表crgs.QG_CASE_PUB_NBASEINFO
- **主要字段**:
- `caseid`: 案件ID
- `entname`: 企业名称
- `uniscid`: 统一社会信用代码
- `regno`: 注册号
- `penDecNo`: 处罚决定书文号
- `penAuthCn`: 处罚机关中文
- `opflag`: 操作标志修复时改为D
- `pubDeadline`: 公示截止日期
- `sExtDatetime`: 时间戳
### 2. 新建Mapper
#### 2.1 QgCasePubNbaseinfoMapper
- **路径**: `src/main/java/com/chinaweal/aiccs/aiccs/punishment/mapper/QgCasePubNbaseinfoMapper.java`
- **接口**: `IQgCasePubNbaseinfoService`
#### 2.2 Mapper XML
- **路径**: `src/main/resources/mybatis/mapper/aiccs/punishment/QgCasePubNbaseinfoMapper.xml`
- **说明**: 包含分页查询、按ID查询、更新修复状态方法
### 3. 新建Service
#### 3.1 IQgCasePubNbaseinfoService
- **路径**: `src/main/java/com/chinaweal/aiccs/aiccs/punishment/service/IQgCasePubNbaseinfoService.java`
- **方法**:
- `searchByPage`: 分页查询跨省行政处罚信息
- `findById`: 根据ID查询
- `updateForRepair`: 更新修复状态opflag='D', pubdeadline, S_EXT_DATETIME
#### 3.2 QgCasePubNbaseinfoServiceImpl
- **路径**: `src/main/java/com/chinaweal/aiccs/aiccs/punishment/service/impl/QgCasePubNbaseinfoServiceImpl.java`
### 4. 新建Controller
#### 4.1 TBizRemPunishmentNController外省行政处罚修复
- **路径**: `src/main/java/com/chinaweal/aiccs/aiccs/punishment/controller/TBizRemPunishmentNController.java`
- **说明**: 外省行政处罚修复控制器,复用原有界面和流程
- **主要接口**与原TBizRemPunishmentController对应:
- `punishmentList`: 查询外省行政处罚记录走QG表
- `startTask`: 启动待办主体信息从QG表获取
- `submitTask`: 提交待办办结时修改QG表+插入CR_E_CASE
### 5. 复用现有类
#### 5.1 复用实体
- `TBizRemPunishment`: 业务表(新增一个业务类型标识区分)
- `CrECase`: 跨省修复案例表(办结时插入)
#### 5.2 复用Service
- `ICrECaseService`: 插入CR_E_CASE表
- `TSTaskListService`: 工作流任务
- `TSAttachmentService`: 附件
- `TswrittemplateService`: 文书模板
- `TbIlcPunInfoQueryService`: 保持接口不变(实际不走这个)
## 三、接口设计
### 3.1 行政处罚记录查询(外省)
```
POST /punishment/tBizRemPunishmentN/punishmentList
```
- 复用原有查询页面
- 数据来源改为 `crgs.QG_CASE_PUB_NBASEINFO`
### 3.2 启动待办(外省)
```
POST /punishment/tBizRemPunishmentN/startTask
```
- 业务表ID: `TBizRemPunishment.id`(业务表共用)
- 主体信息从 `QG_CASE_PUB_NBASEINFO` 获取
- 工作流使用原流程
### 3.3 提交待办(外省)
```
POST /punishment/tBizRemPunishmentN/submitTask
```
- 办结时处理:
1. 更新 `crgs.QG_CASE_PUB_NBASEINFO`: opflag='D', pubdeadline=审批日期, S_EXT_DATETIME=审批日期
2. 插入 `AICCS.CR_E_CASE`
3. **不再**插入 `crgs.CASE_CRE_INFORMATION`
## 四、数据流差异
| 环节 | 原有流程 | 外省流程 |
|------|---------|---------|
| 主体信息获取 | EBaseinfo表 | QG_CASE_PUB_NBASEINFO表 |
| 行政处罚信息 | CASE_PUB_NBASEINFO表 | QG_CASE_PUB_NBASEINFO表 |
| 办结-主体表 | 无操作 | opflag='D' |
| 办结-公示表 | 插入CASE_CRE_INFORMATION | 修改QG表 + 插入CR_E_CASE |
## 五、注意事项
1. 工作流复用原有流程,不需要新建工作流
2. 业务表TBizRemPunishment共用通过字段区分或新建业务类型
3. 附件、文书模板共用
4. 外省数据没有本地EBaseinfo所以主体信息直接从QG表获取