合并实体库自动补入与双Sheet导入修复
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# 关联业务自动补入实体库实施记录
|
||||
|
||||
## 修改内容
|
||||
|
||||
- 新增 `EnterpriseAutoFillService`,统一处理关联业务按统一社会信用代码补入 `ccdi_enterprise_base_info`。
|
||||
- 员工实体关系、信贷客户实体关系、中介关系、招投标供应商新增与导入成功数据,均在保存关联关系前按缺失实体自动补入实体库。
|
||||
- 企业名称按“允许为空,有值则入库”的规则处理;供应商场景使用供应商名称补入,其余当前无企业名称来源的场景补入 `NULL`。
|
||||
- 新增企业来源枚举 `SUPPLIER/供应商`,前端实体库企业来源下拉复用后端枚举接口,无需新增前端硬编码。
|
||||
- 中介来源实体默认风险等级为高风险;中介实体关系不再要求实体库预先存在。
|
||||
- 新增迁移脚本 `sql/migration/2026-04-26-make-enterprise-name-nullable-for-auto-fill.sql`,将 `ccdi_enterprise_base_info.enterprise_name` 调整为可空。
|
||||
|
||||
## 影响范围
|
||||
|
||||
- 后端模块:`ccdi-info-collection`
|
||||
- 相关业务:员工关系实体、信贷客户实体、中介关系、招投标供应商、实体库导入、企业来源枚举
|
||||
- 数据库表:`ccdi_enterprise_base_info`
|
||||
|
||||
## 验证情况
|
||||
|
||||
- 后端单元验证已通过:
|
||||
|
||||
```bash
|
||||
mvn -pl ccdi-info-collection -am -Dtest=CcdiEnumControllerTest,EnterpriseAutoFillServiceTest,CcdiStaffEnterpriseRelationServiceImplTest,CcdiStaffEnterpriseRelationImportServiceImplTest,CcdiCustEnterpriseRelationServiceImplTest,CcdiCustEnterpriseRelationImportServiceImplTest,CcdiIntermediaryServiceImplTest,CcdiIntermediaryEnterpriseRelationImportServiceImplTest,CcdiEnterpriseBaseInfoImportServiceImplTest,CcdiPurchaseTransactionServiceImplTest,CcdiPurchaseTransactionImportServiceImplTest,CcdiPurchaseTransactionFeatureContractTest -Dsurefire.failIfNoSpecifiedTests=false test
|
||||
```
|
||||
|
||||
- 启动当前工作树后端成功,监听 `62318`。
|
||||
- 使用 `nvm use` 切换到 Node `v14.21.3`,启动前端开发服务到 `http://localhost:8080/`。
|
||||
- 使用 browser-use 打开真实业务页面:
|
||||
- `http://localhost:8080/maintain/enterpriseBaseInfo` 加载正常,企业来源下拉出现“供应商”。
|
||||
- `http://localhost:8080/maintain/purchaseTransaction` 加载正常,供应商明细相关页面可访问。
|
||||
- 后端枚举接口 `GET /ccdi/enum/enterpriseSource` 已返回 `{ "value": "SUPPLIER", "label": "供应商" }`。
|
||||
|
||||
## 未执行事项
|
||||
|
||||
- 远程联调库当前 `ccdi_enterprise_base_info.enterprise_name` 仍为 `Null=NO`。
|
||||
- 本次未直接执行远程库结构变更;提权执行迁移脚本被安全审查拦截。真实写入空企业名称的补库验证需先由授权人员执行迁移脚本。
|
||||
@@ -0,0 +1,43 @@
|
||||
# 员工资产导入与实体库自动补入后端实施记录
|
||||
|
||||
## 基本信息
|
||||
|
||||
- 实施日期:2026-05-06
|
||||
- 实施范围:后端
|
||||
- 关联计划:`docs/plans/backend/2026-05-06-staff-asset-import-and-enterprise-autofill-fix-backend-implementation-plan.md`
|
||||
|
||||
## 修改内容
|
||||
|
||||
### 双 Sheet 导入任务编排
|
||||
|
||||
- 员工信息维护导入入口改为由服务层统一编排员工主 Sheet 与员工资产 Sheet。
|
||||
- 员工亲属关系维护导入入口改为由服务层统一编排亲属关系主 Sheet 与亲属资产 Sheet。
|
||||
- 当两个 Sheet 都有数据时,仍返回两个任务 ID,并按主 Sheet 导入成功结果为资产 Sheet 提供同文件内的归属映射。
|
||||
- 当只导入资产 Sheet 时,仅生成并返回资产导入任务 ID,不生成员工或亲属关系主任务 ID。
|
||||
- 当两个 Sheet 都为空时,保持返回“至少需要一条数据”。
|
||||
|
||||
### 实体库自动补入
|
||||
|
||||
- 新增统一的实体库自动补入服务,按统一社会信用代码去重,只插入实体库不存在的记录。
|
||||
- 员工企业关系、信贷客户企业关系新增和导入时自动补入实体库。
|
||||
- 中介新增、编辑和导入时取消“实体库必须已存在”的阻断校验;实体库缺失时按中介来源自动补入,不要求提供机构名称。
|
||||
- 招投标供应商新增、编辑和导入时,对合法统一社会信用代码的供应商自动补入实体库。
|
||||
- 新增企业来源枚举 `SUPPLIER`,用于标识供应商来源。
|
||||
|
||||
## 影响范围
|
||||
|
||||
- `/ccdi/baseStaff/importData`
|
||||
- `/ccdi/staffFmyRelation/importData`
|
||||
- 员工企业关系、信贷客户企业关系、中介、招投标供应商的新增/编辑/导入实体库联动逻辑
|
||||
- 实体库基础信息表 `ccdi_enterprise_base_info`
|
||||
|
||||
## 验证记录
|
||||
|
||||
- 执行 `mvn -pl ccdi-info-collection -am -DskipTests compile`,结果:BUILD SUCCESS。
|
||||
- 执行 `mvn -DskipTests compile`,结果:BUILD SUCCESS。
|
||||
- 代码路径核对:员工主 Sheet 为空时仅调用员工资产导入服务并返回 `assetTaskId`;亲属关系主 Sheet 为空时仅调用亲属资产导入服务并返回 `assetTaskId`。
|
||||
|
||||
## 备注
|
||||
|
||||
- 本次为后端逻辑调整,未修改前端页面代码。
|
||||
- 现有前端已按 `staffTaskId` / `relationTaskId` / `assetTaskId` 是否存在分别启动轮询,可直接兼容只返回资产任务 ID 的结果。
|
||||
Reference in New Issue
Block a user