很多人以为工单的“开始/暂停/完成”只是界面按钮。企业版真正关心的是:谁在做、做了多久、这段时间要算多少钱。
这篇文章主要参考:
enterprise/mrp_workorder/models/mrp_workorder.py
一、工单开始前,先校验“谁有资格开工”
button_start() 不是单纯改状态,它会检查当前用户是否绑定了员工、Shop Floor 模式下是否有 connected employee,以及当前主员工是否属于该工作中心允许的员工集合。过不了这些条件,就直接报错。企业版把工单执行权和员工身份强绑定,而不是默认任何登录用户都能随便开工。
二、开始工单的同时,会启动员工级时间轨迹
一旦开始,系统会调用 start_employee():把员工 link 到 employee_ids,按当前时间创建 mrp.workcenter.productivity 记录,并把工单状态推进到 progress。企业版记的不是“工单总时长”这种事后汇总,而是从一开始就记录可追踪的员工时间片。
三、人工成本怎么进入工单成本
源码中预计成本、理论成本与实际成本三层口径都会把员工成本纳入计算;实际成本还会直接累加 time_ids.total_cost。企业版不是把人工成本当固定费率贴上去,而是尽量从员工实际时间记录里算。
四、结论
工单管理在企业版里不是简单的工序推进器,而是一个把员工身份、现场会话、时间轨迹和成本核算绑在一起的执行引擎。
DISCUSSION
评论区