修订: 完善员工资产导入与实体库补入设计
This commit is contained in:
@@ -63,6 +63,8 @@ Controller 继续负责读取两个 Sheet,但不再分别提交两个彼此独
|
||||
|
||||
实体库缺失时最小插入;已存在时不更新。
|
||||
|
||||
供应商来源需要同步新增后端枚举 `EnterpriseSource.SUPPLIER("SUPPLIER", "供应商")`,并补充 `/ccdi/enum/enterpriseSource` 枚举接口测试。前端继续通过现有枚举接口展示来源,不需要调整页面结构。
|
||||
|
||||
## 5. 员工信息维护双 Sheet 导入设计
|
||||
|
||||
### 5.1 当前问题
|
||||
@@ -146,8 +148,8 @@ Controller 继续负责读取两个 Sheet,但不再分别提交两个彼此独
|
||||
5. 更新亲属关系任务状态和失败记录。
|
||||
6. 再执行亲属资产导入。
|
||||
7. 亲属资产归属候选来源为:
|
||||
- 数据库已有有效员工亲属关系
|
||||
- 本轮亲属关系 Sheet 成功导入的有效员工亲属关系
|
||||
- 数据库已有员工亲属关系,沿用现有 owner 查询条件
|
||||
- 本轮亲属关系 Sheet 成功导入的员工亲属关系
|
||||
8. 亲属资产落库继续保持:
|
||||
- `family_id = 员工身份证号`
|
||||
- `person_id = 亲属身份证号`
|
||||
@@ -155,10 +157,10 @@ Controller 继续负责读取两个 Sheet,但不再分别提交两个彼此独
|
||||
### 6.3 任务状态
|
||||
|
||||
- 只填亲属关系 Sheet:只返回 `relationTaskId`。
|
||||
- 只填亲属资产 Sheet:只返回 `assetTaskId`,只按数据库已有有效亲属关系校验。
|
||||
- 只填亲属资产 Sheet:只返回 `assetTaskId`,只按数据库已有员工亲属关系校验,并沿用现有 owner 查询条件。
|
||||
- 两个 Sheet 都填:返回 `relationTaskId` 和 `assetTaskId`,后台保证亲属关系先处理、资产后处理。
|
||||
- 亲属关系主 Sheet 部分成功时,亲属资产只能使用成功亲属关系上下文。
|
||||
- 亲属关系主 Sheet 全部失败时,亲属资产仍执行,但只能命中数据库已有有效亲属关系。
|
||||
- 亲属关系主 Sheet 全部失败时,亲属资产仍执行,但只能命中数据库已有员工亲属关系。
|
||||
|
||||
## 7. 实体库自动补入设计
|
||||
|
||||
@@ -190,7 +192,7 @@ Controller 继续负责读取两个 Sheet,但不再分别提交两个彼此独
|
||||
- `ent_source = 来源`
|
||||
- `data_source = MANUAL 或 IMPORT`
|
||||
- `risk_level = 来源规则值`
|
||||
- `create_by/update_by = 当前用户`
|
||||
- `created_by/updated_by = 当前用户`
|
||||
5. 中介来源 `INTERMEDIARY` 写 `risk_level = 1`。
|
||||
6. 员工亲属、信贷客户、供应商来源写 `risk_level = NULL`。
|
||||
7. 并发导致主键重复时,按“已存在实体”处理。
|
||||
@@ -216,16 +218,17 @@ Controller 继续负责读取两个 Sheet,但不再分别提交两个彼此独
|
||||
|
||||
中介实体关联:
|
||||
|
||||
- 手工新增:校验通过后、插入关联关系前补入实体库。
|
||||
- 导入:只对校验成功并即将插入的记录批量补入。
|
||||
- 手工新增:字段校验和重复关系校验通过后,取消或替换“实体库必须已存在”校验,先补入实体库,再插入关联关系。
|
||||
- 导入:字段校验和重复关系校验通过后,取消或替换“实体库必须已存在”失败条件,只对即将插入的成功记录批量补入。
|
||||
- 来源:`INTERMEDIARY`
|
||||
- 数据来源:手工新增为 `MANUAL`,导入为 `IMPORT`
|
||||
- 风险等级:`1`
|
||||
|
||||
招投标供应商:
|
||||
|
||||
- 手工新增或保存招投标主信息时,只对有效供应商数据补入。
|
||||
- 导入:只对成功采购事项中的供应商批量补入,失败采购事项不补入。
|
||||
- 手工新增或保存招投标主信息时,只对 `supplierUscc` 非空且通过现有格式校验的供应商补入。
|
||||
- 导入:只对成功采购事项中 `supplierUscc` 非空且通过现有格式校验的供应商批量补入,失败采购事项不补入。
|
||||
- 导入中 `supplierUscc` 为空的供应商保持现有保存规则,但不补入实体库。
|
||||
- 来源:`SUPPLIER`
|
||||
- 数据来源:手工新增为 `MANUAL`,导入为 `IMPORT`
|
||||
- 风险等级:`NULL`
|
||||
@@ -241,6 +244,7 @@ Controller 继续负责读取两个 Sheet,但不再分别提交两个彼此独
|
||||
- 员工资产找不到员工时继续报“员工资产导入仅支持员工本人证件号”。
|
||||
- 亲属资产找不到归属时继续报“未找到亲属资产归属员工”。
|
||||
- 亲属资产命中多个归属时继续报“亲属资产归属员工不唯一”。
|
||||
- 亲属资产数据库归属查询条件沿用当前实现,不因本次编排新增额外状态过滤。
|
||||
|
||||
### 8.2 自动补入边界
|
||||
|
||||
@@ -249,6 +253,8 @@ Controller 继续负责读取两个 Sheet,但不再分别提交两个彼此独
|
||||
- 已存在实体不更新,避免覆盖人工维护数据。
|
||||
- 不增加默认企业名称、默认来源、默认风险等级等兜底逻辑。
|
||||
- 不改变实体库导入的严格新增规则。
|
||||
- 中介实体关联的“实体库必须已存在”校验需要被自动补入替换,否则缺失实体无法进入补入链路。
|
||||
- 供应商自动补入只处理非空统一社会信用代码,空统一社会信用代码不改变原导入保存规则。
|
||||
|
||||
## 9. 测试设计
|
||||
|
||||
@@ -266,7 +272,7 @@ Controller 继续负责读取两个 Sheet,但不再分别提交两个彼此独
|
||||
|
||||
- 同一模板中新亲属关系和亲属资产同时导入,资产引用新亲属证件号,资产成功。
|
||||
- 亲属关系 Sheet 行校验失败,资产引用该亲属证件号且数据库不存在,资产失败。
|
||||
- 只导亲属资产,数据库已有唯一有效亲属关系时成功。
|
||||
- 只导亲属资产,数据库已有唯一员工亲属关系时成功。
|
||||
- 只导亲属资产,数据库不存在亲属关系时失败。
|
||||
- 同一亲属证件号命中多个员工归属时失败。
|
||||
|
||||
@@ -277,6 +283,7 @@ Controller 继续负责读取两个 Sheet,但不再分别提交两个彼此独
|
||||
- 同批多个成功行引用同一统一社会信用代码,只补入一次。
|
||||
- 中介来源写 `riskLevel=1`。
|
||||
- 员工亲属、信贷客户、供应商来源写 `riskLevel=null`。
|
||||
- 后端枚举接口返回 `SUPPLIER/供应商`。
|
||||
- 并发重复主键按已存在处理。
|
||||
|
||||
四类业务接入:
|
||||
|
||||
Reference in New Issue
Block a user