Files
ccdi/assets/api-docs/api/员工实体关系管理API文档.md
2026-03-03 16:14:16 +08:00

14 KiB

员工实体关系管理 API 文档

概述

员工实体关系管理模块提供员工与企业关系的增删改查、批量导入导出功能。

基础路径: /ccdi/staffEnterpriseRelation

权限标识前缀: ccdi:staffEnterpriseRelation

重要更新: 自2026-02-11起,列表接口和详情接口响应中新增 personName 字段(员工姓名) ,该字段通过关联查询 ccdi_base_staff 表获取。


API 接口列表

1. 查询员工实体关系列表

接口地址: GET /ccdi/staffEnterpriseRelation/list

权限要求: ccdi:staffEnterpriseRelation:list

请求参数:

参数名 类型 必填 说明
personId String 身份证号(精确查询)
socialCreditCode String 统一社会信用代码(精确查询)
status Integer 状态(0=无效, 1=有效)
pageNum Integer 页码(默认1)
pageSize Integer 每页数量(默认10)

响应示例:

{
  "code": 200,
  "msg": "查询成功",
  "rows": [
    {
      "id": 1,
      "personId": "110101199001011234",
      "personName": "张三",
      "relationPersonPost": "法定代表人",
      "socialCreditCode": "91110000MA000001XX",
      "enterpriseName": "某某科技有限公司",
      "status": 1,
      "remark": "补充说明",
      "dataSource": "人工导入",
      "isEmployee": 1,
      "isEmpFamily": 0,
      "isCustomer": 1,
      "isCustFamily": 0,
      "createTime": "2026-02-09 10:00:00",
      "updateTime": "2026-02-09 10:00:00",
      "createdBy": "admin",
      "updatedBy": "admin"
    }
  ],
  "total": 1
}

响应字段说明:

字段名 类型 说明
id Long 主键ID
personId String 身份证号
personName String 员工姓名(通过关联查询获取)
relationPersonPost String 关联人在企业的职务
socialCreditCode String 统一社会信用代码
enterpriseName String 企业名称
status Integer 状态(0=无效, 1=有效)
remark String 补充说明
dataSource String 数据来源
isEmployee Integer 是否为员工(0=否, 1=是)
isEmpFamily Integer 是否为员工家属(0=否, 1=是)
isCustomer Integer 是否为客户(0=否, 1=是)
isCustFamily Integer 是否为客户家属(0=否, 1=是)
createTime Date 创建时间
updateTime Date 更新时间
createdBy String 创建人
updatedBy String 更新人

注意:

  • personName 字段通过 LEFT JOIN ccdi_base_staff 表获取
  • 如果 personId 在员工信息表中不存在,personNamenull

2. 查询员工实体关系详情

接口地址: GET /ccdi/staffEnterpriseRelation/{id}

权限要求: ccdi:staffEnterpriseRelation:query

路径参数:

参数名 类型 必填 说明
id Long 主键ID

响应示例:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": 1,
    "personId": "110101199001011234",
    "personName": "张三",
    "relationPersonPost": "法定代表人",
    "socialCreditCode": "91110000MA000001XX",
    "enterpriseName": "某某科技有限公司",
    "status": 1,
    "remark": "补充说明",
    "dataSource": "人工导入",
    "isEmployee": 1,
    "isEmpFamily": 0,
    "isCustomer": 1,
    "isCustFamily": 0,
    "createTime": "2026-02-09 10:00:00",
    "updateTime": "2026-02-09 10:00:00",
    "createdBy": "admin",
    "updatedBy": "admin"
  }
}

响应字段说明:

字段名 类型 说明
id Long 主键ID
personId String 身份证号
personName String 员工姓名(通过关联查询获取)
relationPersonPost String 关联人在企业的职务
socialCreditCode String 统一社会信用代码
enterpriseName String 企业名称
status Integer 状态(0=无效, 1=有效)
remark String 补充说明
dataSource String 数据来源
isEmployee Integer 是否为员工(0=否, 1=是)
isEmpFamily Integer 是否为员工家属(0=否, 1=是)
isCustomer Integer 是否为客户(0=否, 1=是)
isCustFamily Integer 是否为客户家属(0=否, 1=是)
createTime Date 创建时间
updateTime Date 更新时间
createdBy String 创建人
updatedBy String 更新人

注意:

  • personName 字段通过 LEFT JOIN ccdi_base_staff 表获取
  • 如果 personId 在员工信息表中不存在,personNamenull

3. 新增员工实体关系

接口地址: POST /ccdi/staffEnterpriseRelation

权限要求: ccdi:staffEnterpriseRelation:add

请求头:

Content-Type: application/json
Authorization: Bearer {token}

请求体:

{
  "personId": "110101199001011234",
  "relationPersonPost": "法定代表人",
  "socialCreditCode": "91110000MA000001XX",
  "status": 1,
  "remark": "补充说明",
  "dataSource": "人工导入",
  "isEmployee": 1,
  "isEmpFamily": 0,
  "isCustomer": 1,
  "isCustFamily": 0
}

字段说明:

字段名 类型 必填 说明 校验规则
personId String 身份证号 18位,符合国标
relationPersonPost String 关联人在企业的职务 最大100字符
socialCreditCode String 统一社会信用代码 18位
status Integer 状态 0=无效, 1=有效, 默认1
remark String 补充说明 最大500字符
dataSource String 数据来源 最大100字符
isEmployee Integer 是否为员工 0=否, 1=是
isEmpFamily Integer 是否为员工家属 0=否, 1=是
isCustomer Integer 是否为客户 0=否, 1=是
isCustFamily Integer 是否为客户家属 0=否, 1=是

响应示例:

{
  "code": 200,
  "msg": "操作成功"
}

4. 修改员工实体关系

接口地址: PUT /ccdi/staffEnterpriseRelation

权限要求: ccdi:staffEnterpriseRelation:edit

请求头:

Content-Type: application/json
Authorization: Bearer {token}

请求体:

{
  "id": 1,
  "personId": "110101199001011234",
  "relationPersonPost": "法定代表人",
  "socialCreditCode": "91110000MA000001XX",
  "status": 1,
  "remark": "补充说明",
  "dataSource": "人工导入",
  "isEmployee": 1,
  "isEmpFamily": 0,
  "isCustomer": 1,
  "isCustFamily": 0
}

字段说明:

字段名 类型 必填 说明 校验规则
id Long 主键ID 必填
personId String 身份证号 18位,符合国标
relationPersonPost String 关联人在企业的职务 最大100字符
socialCreditCode String 统一社会信用代码 18位
status Integer 状态 0=无效, 1=有效
remark String 补充说明 最大500字符
dataSource String 数据来源 最大100字符
isEmployee Integer 是否为员工 0=否, 1=是
isEmpFamily Integer 是否为员工家属 0=否, 1=是
isCustomer Integer 是否为客户 0=否, 1=是
isCustFamily Integer 是否为客户家属 0=否, 1=是

响应示例:

{
  "code": 200,
  "msg": "操作成功"
}

5. 删除员工实体关系

接口地址: DELETE /ccdi/staffEnterpriseRelation/{ids}

权限要求: ccdi:staffEnterpriseRelation:remove

路径参数:

参数名 类型 必填 说明
ids Long[] 主键ID数组(多个ID用逗号分隔)

响应示例:

{
  "code": 200,
  "msg": "操作成功"
}

6. 导出员工实体关系

接口地址: POST /ccdi/staffEnterpriseRelation/export

权限要求: ccdi:staffEnterpriseRelation:export

请求参数: 与列表查询参数相同

响应: Excel文件流


7. 下载导入模板

接口地址: POST /ccdi/staffEnterpriseRelation/importTemplate

权限要求: 无

响应: Excel模板文件流(包含字典下拉框)

模板字段说明:

字段名 说明 是否必填 数据类型 示例值
身份证号 18位身份证号 文本 110101199001011234
关联人在企业的职务 职务名称 文本 法定代表人
统一社会信用代码 18位社会信用代码 文本 91110000MA000001XX
状态 有效/无效 下拉选择 有效
补充说明 备注信息 文本 -
数据来源 数据来源 文本 人工导入
是否为员工 是/否 下拉选择
是否为员工家属 是/否 下拉选择
是否为客户 是/否 下拉选择
是否为客户家属 是/否 下拉选择

8. 异步导入员工实体关系

接口地址: POST /ccdi/staffEnterpriseRelation/importData

权限要求: ccdi:staffEnterpriseRelation:import

请求头:

Content-Type: multipart/form-data
Authorization: Bearer {token}

请求参数:

参数名 类型 必填 说明
file File Excel文件

响应示例:

{
  "code": 200,
  "msg": "导入任务已提交,正在后台处理",
  "data": {
    "taskId": "import-task-20260209-100000",
    "status": "PROCESSING",
    "message": "导入任务已提交,正在后台处理"
  }
}

导入流程说明:

  1. 接口立即返回,不等待后台任务完成
  2. 通过 taskId 查询导入进度
  3. 导入完成后可查询失败记录

9. 查询导入状态

接口地址: GET /ccdi/staffEnterpriseRelation/importStatus/{taskId}

权限要求: ccdi:staffEnterpriseRelation:import

路径参数:

参数名 类型 必填 说明
taskId String 任务ID(从导入接口获取)

响应示例:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "taskId": "import-task-20260209-100000",
    "status": "COMPLETED",
    "totalCount": 100,
    "successCount": 95,
    "failureCount": 5,
    "message": "导入完成"
  }
}

状态说明:

  • PROCESSING: 处理中
  • COMPLETED: 已完成
  • FAILED: 失败

10. 查询导入失败记录

接口地址: GET /ccdi/staffEnterpriseRelation/importFailures/{taskId}

权限要求: ccdi:staffEnterpriseRelation:import

路径参数:

参数名 类型 必填 说明
taskId String 任务ID

查询参数:

参数名 类型 必填 说明
pageNum Integer 页码(默认1)
pageSize Integer 每页数量(默认10)

响应示例:

{
  "code": 200,
  "msg": "查询成功",
  "rows": [
    {
      "rowNum": 5,
      "personId": "110101199001011235",
      "relationPersonPost": "法定代表人",
      "socialCreditCode": "91110000MA000001XX",
      "errorMessage": "身份证号格式不正确"
    }
  ],
  "total": 5
}

失败记录字段说明:

字段名 类型 说明
rowNum Integer 行号
personId String 身份证号
relationPersonPost String 关联人在企业的职务
socialCreditCode String 统一社会信用代码
errorMessage String 错误信息

数据字典

状态(status)

说明
0 无效
1 有效

是否标志(isEmployee/isEmpFamily/isCustomer/isCustFamily)

说明
0
1

错误码说明

错误码 说明
200 操作成功
401 未授权,请先登录
403 无权限访问
500 服务器内部错误

更新日志

2026-02-11

  • 新增: 在列表接口和详情接口响应中添加 personName 字段(员工姓名)
  • 优化: 通过 LEFT JOIN ccdi_base_staff 表获取员工姓名
  • 注意: 如果 personId 在员工信息表中不存在,personNamenull

2026-02-09

  • 初始版本: 完成员工实体关系管理基础功能