恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

人走了,记录不能“空白”: MES×HR 离职人员下拉回显实战

  • 首页
  • 资讯中心
  • /
  • 人走了,记录不能“空白”: MES×HR 离职人员下拉回显实战

相关资讯

我全新开发了一套 Access 通用 Excel 导入工具,现在开源了 2026/10/15 19:06:38
演讲式 AI 陪练引擎设计:PPT 内容解析、翻页节奏感知与多模态评分的工程实现 2026/10/15 19:06:38
化工厂人员定位厂家推荐,2026化工园区人员定位公司怎么选不踩坑? 2026/10/15 19:06:38

最新资讯

AI论文写作效率提升指南:9款工具组合测评与避坑实践
VuePress部署到云服务器ECS完整实操:从Markdown到公网访问
大学生自我认知进化:双清单对比法实践指南
Leaflet-Velocity实战:Web气象大屏的动态风场粒子可视化
天锐DLP是如何实现数据防泄漏?
Claude Code 使用指南:从 Node.js 环境到终端与 IDE 的完整配置

今日推荐

AI视频生成的时间一致性难题与时空建模演进
基于bbox的PDF文档解析:多栏重排与水印过滤实战
探矿数据进RAG前的清洗全攻略:TXT、Word、PDF、网页四类文档处理实践

本周热门

UE动画修改实战:从资产编辑到重定向与蒙太奇驱动
统计随机数生成器攻击下的KLJN安全密钥交换协议Matlab仿真
政务API安全治理:资产测绘、低代码编排与行标对标实践

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

人走了,记录不能“空白”: MES×HR 离职人员下拉回显实战

发布时间:2026/10/15 19:06:38
人走了,记录不能“空白”: MES×HR 离职人员下拉回显实战 业务场景SMT 车间MES 里的“换料记录、异常单、首件确认”等表单需要选择经办人/确认人。人员主数据来自 HR 系统。后来 HR 把离职人员状态置为“离职”MES 人员下拉默认只取在职人员。结果新表单好用了但历史表单上原经办人一旦离职下拉框就空白时间久了使用人员在查看表单时不知该表单的经办人、确认人为谁的问题。涉及系统HR 系统人员主数据权威源维护员工在职/离职状态、部门、工号、姓名。MES 系统生产工单、换料记录、异常单、首件确认等表单页面使用人员下拉业务表存经办人 ID。OA/BPM审批流审批记录里存了审批人姓名快照所以历史审批人基本正常。ERP接收 MES 工单完工、库存扣料等数据操作员字段多为文本用于和 MES 对账。原始需求业务提了两个看似矛盾的诉求新建表单时人员下拉不要显示几千人也不要让用户选到离职人员但查看历史表单时必须能看出当初是谁操作的不能因为人离职了就空白。IT 之前为了满足第一个诉求把下拉数据源一刀切过滤成“在职”结果历史单据经办人大量空白SMT 质量追溯和 ERP 对账都受影响。排查/分析过程先从 MES 历史换料记录页面开始查。选一条确认人已离职的单据页面确认人显示空白。打开浏览器网络请求发现下拉调的是 HR 人员选项接口参数是statusactive返回数据里没有这个离职人员。再查 MES 业务表发现只存了handler_id没有存姓名快照。查看页又复用了编辑页的下拉组件用人员选项去匹配 ID 对应的 label匹配不到就显示空。继续查 HR发现人员没有物理删除只是statusinactive姓名还在。OA 那边因为审批记录存了姓名快照所以历史审批人正常。根因是下拉数据源承担了历史回显职责且过滤条件一刀切。方案设计考虑了三种方案。方案 A下拉恢复全量人员。历史能显示但新建时列表太长还可能选到离职人员否决。方案 B每个页面单独改查看时单独查 HR 详情。页面太多工作量大容易漏风险高。方案 C公共人员下拉接口加includeIds默认只返回在职但把当前表单已选人员 ID 作为例外带出来离职人员标记“已离职”只用于回显不能新选查看页直接用姓名快照或文本显示。最终选 C因为改动集中在公共接口和公共下拉组件大部分页面不用大调能满足“正常显示”的目标。后续再补业务表姓名快照和提交校验放行原值。技术实现1表结构HR 人员表保留软删除字段如employee_id、name、status、leave_date、dept_id。MES 业务表增加handler_name、handler_dept_name快照字段保存时写入。2接口设计GET /api/common/employee-options?statusactiveincludeIds1001,1002后端 SQL 伪代码select * from hr_employee where status active or employee_id in (:includeIds) order by status, name;返回时对离职人员加 label[ { id: 1, name: 李四, status: active, label: 李四 }, { id: 1001, name: 张三, status: inactive, label: 张三已离职, disabled: true } ]3前端公共下拉组件加载选项时自动把当前值塞进includeIdsconst includeIds currentValue ? [currentValue] : []; const options await api.get(/common/employee-options, { status: active, includeIds: includeIds.join(,) });如果当前值还不在选项里就用业务表快照或单独查人员详情补一个 option至少显示“张三已离职”不能空白。4提交校验新建时校验必须在职编辑时如果经办人没变即使已离职也允许提交如果换了人新选人员必须在职。5查看页不再依赖下拉数据源直接显示handler_name离职状态动态补充为“张三已离职”查不到就显示“已离职人员(ID:1001)”。上线效果新建工单下拉从 3000 多人降到 800 多在职人员选择速度明显提升历史换料记录、异常单中涉及离职经办人的 600 多条记录恢复显示经办人空白率从约 5% 降到 0编辑历史单据不改经办人时不再报“人员必须在职”SMT 质量和 ERP 对账能追溯到具体操作人业务投诉下降。踩坑与反思一开始只改前端把离职人员硬塞进下拉结果新建时也能选到离职人员被业务发现后来加了disabled和后端校验才控制住。还遇到后端校验没放行原值编辑历史单直接报错。另外只存 ID 不存姓名快照人员改名或部门调整后历史显示会和当初不一致后来补了handler_name快照。如果重来应该一开始就把“人员状态”和“可选性”分开把“历史回显”和“新建选择”分开人员主数据坚持软删除业务表保存时冗余姓名快照能改公共组件和公共接口就不要逐页打补丁。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号