臭名昭著aTrust隔离计划1.臭名昭著aTrust隔离计划2.VPN原理与aTrust隔离网络实践3.docker-easyconnect到底做了什么4.TUN(tunnel-隧道-虚拟网卡)模式
个人项目
personal(个人展示)GitHub Actions 自动部署个人展示项目
基于Quartz搭建的个人博客1.Quartz个人博客使用教程2.使用 rsync 增量部署 Quartz 博客3.使用 GitHub Actions 自动部署 Quartz 博客5.域名绑定6.CDN加速Obsidian、双向链接与知识图谱
旅行
行程攻略青岛三日游行程攻略
前端
NginxNginx配置与反向代理入门
Nodenpm与npx的区别
中华财险-公司项目
对外接口文档
基础数据码表对外接口(仅支持rpc调用)业务码表对外接口应用主数据对外接口
基础运营查询版本更新日志详情消息中心对外接口站内信对外接口站内信模板配置手册
权限中心权限中心对外接口文档(最新)权限中心对外接口文档前端ACL-CORE FACADE依赖版本
审计中心审计中心对外接口文档audit-center-facade版本
审批中心工作流迁审批流现状工作流迁审批流API能力替换方案老审批流接口文档审批中心接口文档审批中心业务回调FAQ
账号中心内部系统对接单点登录内部系统对接认证中心三方网页应用登录授权账号中心对外接口文档前端账号中心RPC接口文档账户变更对外广播消息文档账户中心对外接口HRMS外部员工变更广播消息文档HRMS外部员工对外接口
组织员工岗位🔥机构映射SDK接口文档员工岗位变更通知说明组织机构管营一体概念与用法组织员工对外广播消息文档组织员工岗位对外接口文档组织员工岗位对外接口文档前端组织员工岗位数据模型组织员工主数据业务场景案例organization-facade版本
hrms(大型人力资源外包管理系统)
项目架构说明HRMS Maven模块与依赖说明
项目说明0.流程中心模块0.组织模块说明1.业务线模块2.计划模块3.项目模块4.协议模块5.供应商模块6.合约域模块7.外包人员模块*核心:外包人员生命周期
项目运维外包人员项目编制差异排查与修复2.HRMS相关问题排查4.修改externalId(externalId和accountId不一致)
需求-系分
1.内部转外包0723外包人员关联历史内部账号系分新增外包人员关联历史账号内容(紧急0723上线)需求
2.工作岗位0820工作岗位0820需求工作岗位0820需求-系分
3.用工模式调整0917内部人员转外包用工系统需求2内部人员转外包用工系统需求-系分
sso(账号中心-单点登录)
项目架构说明aboss-sso项目架构入门AOP统一日志打印链路Maven多模块项目高级知识OAuth2.0
项目说明1.SSO-OAuth2.0与IDaaS登录流程2.外部账号创建流水号并发问题分析
AI
使用说明
第三方插件&技能简介Archify使用与安装指南Ponytail使用指南
CodexCodex CLI与IDE区别及使用指南Codex Hook单独配置与提交通知Codex MCP安装与使用指南Codex第三方插件安装与使用指南
Agent开发1.LLM、Token、上下文窗口与模型参数2.大模型 API、请求参数与响应结构3.Spring AI ChatClient4.Prompt、System Prompt、Prompt 模板6.结构化输出、JSON Schema7.SSE 流式响应8.会话 ID、聊天记录、Redis9.超时、重试、限流、降级10.完成可运行聊天接口
GitGit常用命令与Obsidian推送排查
Java
面试题Java基础与集合面试题
AtomicInteger原子计数与并发安全ConcurrentHashMap并发安全与计数Java线程、线程池与Future
python
基础Python基础语法
HTTPXHRMS员工详情接口调用(Python HTTPX)

1. 模块有什么用

供应商模块是 HRMS 的“外包公司名册”。它为每家合作外包公司建立一条本地档案,供协议把该公司选作乙方、供外包人员记录所属公司,也便于查看联系人、管理归属和留档材料。

这里的“供应商”不是客户域账号本身。HRMS 新建自己的供应商 ID,并把客户域机构 ID 一并保存,用于识别同一个外部机构和同步部分基础资料。

2. 一条供应商档案包含什么

系统保存的内容可分为四类:

  • 主体与联系信息:公司名称、证件类型和号码、地址、联系人及手机号。
  • HRMS 内部管理信息:负责管理的机构代码、支付方式和银行账户资料。
  • 留档材料:与该供应商 ID 关联的附件;系统可调用文档服务完成文件格式转换或获取预览链接。
  • 操作痕迹:创建人、最后修改人、修改时间和有效标识。列表或详情展示时,管理机构名称由组织系统补充,操作人姓名由账号系统补充。

3. 核心业务逻辑

3.1 建档与维护

管理员可以先按客户域机构 ID 查询资料。系统会按指定证件类型取名称和证件信息,并尝试取注册地址、联系人和手机号,作为建档时的参考和回填结果;随后由 HRMS 保存供应商主档、管理机构、支付资料及附件。

编辑会更新主档和管理资料。附件采用“旧附件失效、再新增本次附件”的方式处理。当前实现中,编辑请求即使带有客户域机构 ID,也不会更新已保存的关联 ID;如需更换到另一个客户域机构,应先确认业务上是否允许,代码未提供专门的变更规则。

3.2 客户域资料同步

客户域机构变更消息会被 HRMS 消费。系统使用“客户域 ID + 证件类型 + 证件号码”寻找本地供应商;找到后更新公司名称,并在消息含有相应内容时更新注册地址、联系人和手机号。

管理机构、支付资料、银行账户和附件不在这条同步逻辑中,仍由 HRMS 维护。消息中没有证件信息或找不到匹配供应商时,系统会跳过本次更新。

3.3 删除规则

如果供应商已经被协议作为乙方引用,系统明确拒绝删除。未被协议引用时,供应商主档会被删除,关联附件会被标为无效。

代码只看到对“协议引用”的删除保护;外包人员等其他历史记录是否也会阻止删除,当前实现未见校验,属于使用时需要特别核实的风险。

3.4 简单例子(假设场景)

例如,外包公司“甲公司”已在客户域存在。管理员查询其资料后,在 HRMS 建立供应商档案,并补充“由某管理机构负责”和收款账户。之后创建协议时,甲公司可被选为乙方;通过该协议录入的外包人员会带出甲公司的供应商 ID。此后甲公司在客户域更新联系人手机号,消息同步会更新 HRMS 档案中的手机号,但不会改写收款账户。

4. 与其他模块怎样协作

关系对象真实关系供应商模块在其中的作用
客户域机构基础资料来源与同步来源查询机构资料;接收变更消息后刷新部分本地快照。
组织系统查询补充供应商仅保存管理机构代码,展示名称时查询组织系统;这不是供应商与组织的上下级关系。
账号系统查询补充供应商保存操作账号,展示时补充账号显示名。
协议模块业务数据引用协议将供应商 ID 作为乙方;这也是供应商删除前会检查的引用。
外包人员模块业务归属引用人员档案、导入批次和异动记录会保存所属供应商 ID,通常由协议乙方带出。
文档服务文件能力供应商附件的格式转换和在线预览由外部文档能力完成。

5. 权限与维护注意事项

  • 在供应商自身的服务代码中,只能确认参数校验,未发现按管理机构、组织或 ACL 对供应商列表、详情、新增、修改、删除做数据范围拦截的实现;实际页面权限或网关权限需另行确认。
  • 供应商 ID 是 HRMS 本地业务 ID,不能与客户域机构 ID 混用;协议和人员关联的是前者。
  • 删除前除协议校验外,还应人工确认是否有人员、导入批次或异动历史引用,避免造成历史数据无法正确展示。
  • 客户域同步依赖证件和客户域 ID 的组合匹配。若建档时证件资料不一致,后续消息可能无法命中本地档案。
  • 银行账户和联系方式属于敏感业务资料,导出或开放查询时应按调用方的权限要求控制范围;本模块代码未展示这部分授权规则。

6. 总结

供应商模块负责维护外包公司的可引用业务档案:客户域提供部分基础资料,HRMS 维护内部管理、支付和附件信息;协议以它作为乙方,外包人员以它标记所属公司。最重要的维护原则是区分两套 ID、谨慎处理已被引用的供应商,并确认客户域同步能稳定命中本地记录。