MES_Manage_View_V20 / 生产工时专题
MES 工时模块全流程技术说明
从加工中心、装配中心和外协业务入口,到工时修正、校验、查询、报表、结算及生产计划跟踪
1. 范围、边界与结论
1.1 本文范围
本文以生产现场产生工时的加工中心、装配中心和外协业务为起点,完整覆盖工时修正、工时校验、SAP 上传,以及校验后的工时查询、工时报表、结算工时和生产计划跟踪。直接参与计算的班次、人员与工位绑定也纳入范围。
| 层级 | 纳入内容 | 边界说明 |
| 现场入口 | 加工中心、装配中心的开始、结束、辅助、报工、加班、异常工时 | 产生原始操作记录和工时秒数 |
| 计算支撑 | 人员绑定、班次管理、生产任务、资源主数据、设备状态 | 决定参与人员、班次重叠、资源编码 |
| 校验前维护 | 工时修正、补录、开始/结束时间重算 | 仍写入原始操作记录表 |
| 校验与外部系统 | 工时校验、上传分钟计算、SAP 资源行与工时单据、校验副本 | 形成可统计的校验结果 |
| 查询与统计 | 工时查询、项目/作业者/任务/设备工时报表、结算工时 | 按任务、日期、人员、设备、物料等维度汇总 |
| 生产跟踪 | 外协管理、外协报表、生产计划跟踪 | 关联工时事件、工序进度、发收料、质检与供应商信息 |
1.2 明确排除的业务域
设计报工、设计工时校验和设计工时报表使用独立任务、报工和校验对象,不属于本生产工时链路,本文不纳入。
1.3 核心结论
- 两类现场入口最终都写入
YL_加工中心_操作记录表,这是生产工时的事实源。
- 数据库工时统一以秒存储;页面主要以秒编辑、以分钟展示;SAP
InventoryGenExits.DocumentLines.Quantity 使用分钟。
- 设备工时来自
实际工时,典型公式为“开始至结束总秒数 - 暂停秒数”;人员工时来自 总时长,并可按人员/班次拆成独立记录。
View_生产工时视图把原始记录、校验副本、生产订单、设备绑定数合并成校验页面的统一模型。
- 批量校验先调用
usp_BatchValidateWorkTime算出 SAP 上传分钟,再逐条补齐 SAP 工序/资源、生成工时单据;只有上传成功后才复制到校验表。
- 工时查询面向工序报工明细,工时报表提供项目、作业者、任务、设备四种统计口径,结算工时按物料、订单、工位汇总报工与辅助工时。
- 外协工序不进入标准内部生产工时视图,改用独立的外协任务、发收料、操作记录、采购和质检链路跟踪。
2. 总流程与数据分层
现场动作
加工中心:开始加工/辅助/报工
装配中心:人员开始/结束
→
事实记录
YL_加工中心_操作记录表
开始、结束、设备秒数、人员秒数
→
统一视图
View_生产工时视图
叠加订单、绑定、校验状态
修正
调整开始/结束、设备/人员工时、班次标准工时
→
计算与 SAP
班次内外拆分、日比例系数、资源行、工时单据
→
校验结束
生产管理_工时校验_校验工时表
形成已校验副本
查询与报表
工序、项目、作业者、任务、设备维度
→
结算
物料/订单/工位汇总
报工、辅助、单件工时
→
计划跟踪
工序状态、标准工时、外协发收料、质检与进度
2.1 五层模型
| 层 | 主要对象 | 职责 |
| 任务层 | MES_接口_生产计划_生产任务
View_生产订单_MES | 提供订单、TaskAID、工序、指派工位、分配数、完成数、任务/加工状态。 |
| 记录层 | YL_加工中心_操作记录表
YL_加工中心_报工记录 | 记录每次现场动作、起止时间、设备工时、人员工时、加班和描述。 |
| 计算层 | View_生产工时视图
usp_Calculate* | 清洗记录、补齐上下文、按班次和当日标准工时计算上传分钟。 |
| 校验/外部层 | 生产管理_工时校验_校验工时表 SAP Service Layer | 保存校验副本;补 SAP 工序/资源并提交资源消耗工时单据。 |
| 消费与跟踪层 | 工时查询/报表/结算过程
生产管理_生产计划跟踪
View_外协报表视图 | 把工时转为管理统计、单件结算和生产/外协进度信息。 |
3. 页面及功能清单
| 页面 | 组件路径 | 工时职责 | 阶段 |
| 加工中心 | ProductionManagement/MachiningCenter/index.vue | 设备型任务开始、辅助、结束报工、暂停口径、加班拆分、异常补录和工时修改。 | 起点 |
| 装配中心 | ProductionManagement/AssemblyCenter/index.vue | 以当前登录人员为粒度开始/结束任务,记录装配人员工时与加班。 | 起点 |
| 人员绑定 | ProductionManagement/PersonnelBinding/index.vue | 维护工位与人员关系;影响人员工时拆分、绑定设备数和 SAP 人员资源。 | 支撑 |
| 班次管理 | ProductionManagement/ShiftManagement/index.vue | 维护班次起止时间及班次人员;影响重叠秒数、班次内外拆分和比例系数。 | 支撑 |
| 工时修正 | ProductionManagement/WorkhoursEdit/index.vue | 查询当天/指定日期工时,修正开始结束、设备/人员秒数和班次标准工时,可补录操作记录。 | 校验前 |
| 工时校验 | ProductionManagement/WorkHoursCheck/index.vue | 查询昨日以前记录、筛选机加/装配/加班、修正、批量计算、上传 SAP、保存校验状态。 | 终点 |
| 工时查询 | ProductionManagement/Workhours/index.vue | 按 TaskAID、日期和明细三级展示工序工时、报工数量、单件工时与工艺标准工时。 | 查询 |
| 工时报表 | ProductionManagement/Timesheet/index.vue | 提供项目、作业者、任务、设备四类树形统计及对应导出。 | 统计 |
| 结算工时 | ProductionManagement/SettlementWorkhours/index.vue | 按物料和订单工位汇总报工、辅助、完成数、合计工时和结算单件工时,可导出 Excel。 | 结算 |
| 外协管理 | ProductionManagement/OutsourceMange/index.vue
SaleOutsourceMange/index.vue | 外协任务派工、发料、收料、供应商、备注、打印、历史和质检记录。 | 外协入口 |
| 外协报表 | ProductionManagement/OutsourceSheet/index.vue | 按订单和外协组汇总供应商、金额、计划/到货时间、发收料、质检和完成数量并导出。 | 外协统计 |
| 生产计划跟踪 | ProductionManagement/ProductionPlanTrack/index.vue | 按订单聚合工序路线、标准工时、开工/结束、外协结束、收料、质检、进度和加急状态。 | 计划跟踪 |
菜单范围:生产工时主链路涵盖“加工中心、装配中心、人员绑定、班次管理、工时修正、工时校验、工时查询、工时报表、结算工时、外协管理、外协报表、生产计划跟踪”。设计报工相关菜单明确排除。
4. 加工中心工时流程
4.1 开始加工
- 页面检查已选择任务,并用
生产管理_加工中心_设备是否正在加工防止同一指派设备并行加工。
- 允许的任务状态为“可执行/已开工”,允许的前置加工状态为“报工、暂停、空、辅助结束”。
- 提交
TaskAID、optor、收料、分配数到 MES_ProductTask_WorkingStart。
- 存储过程把任务状态置为已开工,更新开工/操作时间,必要时同步前序合格数为收料数量。
- 通过
MES_ProductCenter_OptRecord_Save插入“开始加工”记录,开始时间为数据库当前时间。
4.2 辅助开始与辅助结束
MES_ProductTask_HelpStart写入“辅助开始”;MES_ProductTask_HelpEnd更新辅助完成量、任务进度和状态,并调用公共记录过程闭合时间区间。辅助结束允许指定实际调机人员,并可拆出普通加班、休息日加班或法定休息日加班记录。
4.3 正常报工
- 页面仅允许加工状态为“开始加工”的任务进入报工。
- 加载同订单任务、班次配置和最近开始时间;页面根据时间判断原始班次,并收集报工数量、绑定任务、前序不合格数、班次和加班人员。
MES_ProductTask_ProdReport校验报工累计数量不得超过收料/指派数量,更新完成数量和任务状态。
- 主“报工”记录由
MES_ProductCenter_OptRecord_Save闭合:总时长为起止差,暂停总时长为周期内暂停之和,实际工时为两者之差。
- 工作日调用
计算人员工时按工位绑定人员和班次重叠生成独立人员记录;休息日/法定休息日不在此步骤生成普通人员工时,而由加班记录承担。
4.4 公共记录过程的周期配对
| 结束动作 | 寻找的开始动作 | 形成字段 |
| 报工 | 同 TaskAID、同工位的“开始加工” | 关联开始记录ID、开始时间、结束时间、总时长、暂停总时长、实际工时 |
| 辅助结束 | 同 TaskAID、同工位的“辅助开始” | 同上,操作类别和 SAP 资源使用“辅助-”前缀 |
| 暂停 | 最近的“开始加工/辅助开始” | 闭合开始记录,写入暂停关联与暂停时长 |
4.5 加工中心内置维护
页面还提供异常工时列表、异常工时新增和单条工时修改。修改时间后前端以 round((结束-开始)/1000)重算秒数,并调用 加工中心_修改工时_保存修改记录更新原始记录。
5. 装配中心工时流程
5.1 人员开始
- 页面以
TaskAID + 当前用户名检查当前用户是否已有未结束记录。
- 调用
MES_人员工时记录_开始;可执行任务第一次开始时更新为已开工。
- 插入操作类别为“开始加工”的记录,工位取任务指派对象,操作人取当前用户名,结束时间为空。
- 页面随后重新读取
MES_人员工时记录_获取进行中任务和 ...获取进行中任务2,保持本地状态与数据库一致。
5.2 人员结束
结束时必须找到同任务、同用户、操作类别为“开始加工”且结束时间为空的最近记录。用户补充备注、工序说明、异常说明,并选择工作日/休息日/法定休息日、是否加班、普通/特殊工时人员及班次标准工时。
| 场景 | 装配结束过程的拆分规则 |
| 工作日,不加班 | 全部起止秒数作为普通工作时间;更新开始记录的 总时长。 |
| 工作日,加班 | 以白班结束时间为切点:班次结束前为普通工作时间,之后为加班;若开始已晚于班次结束,全部为加班。 |
| 休息日/法定日,加班 | 全部起止秒数作为加班,主开始记录的工时和总时长被置 0,另插加班人员记录。 |
| 休息日/法定日,不加班 | 过程先识别为“休息日工作/法定休息日工作”,但随后主记录在休息日分支中被置 0;同时会向 YL_加工中心_报工记录写一条工作记录。此处存在双表口径差异。 |
5.3 装配与机加的主要差异
| 维度 | 加工中心 | 装配中心 |
| 主对象 | 设备任务 + 工位绑定人员 | 当前登录人员 + 装配任务 |
| 开始过程 | MES_ProductTask_WorkingStart | MES_人员工时记录_开始 |
| 结束过程 | MES_ProductTask_ProdReport或辅助结束 | MES_人员工时记录_结束 |
| 设备工时 | 主报工记录通常有 实际工时 | 人员开始记录通常以 总时长为主 |
| 人员拆分 | 可由工位绑定和班次交叉生成多条 | 以登录用户结束记录,并可另生成加班人员记录 |
6. 工时修正与异常工时
6.1 工时修正页面
“工时修正”读取 工时校验_获取操作记录列表,允许在进入最终校验前修正记录。主要筛选包括日期、校验状态、机加/装配性质、异常、任务 ID、生产订单、加班与人员。
- 开始/结束时间变化时,设备工时和人员工时同时按秒重算。
- 保存调用
工时校验_保存校验记录,实际行为是更新原始操作记录表,并未插入校验表。
加工工时映射原表 实际工时;总时长映射人员时间;班次标准工时写回原表。
- 可查看指定工位当天每分钟设备状态累计,但当前查看按钮在工时校验页被注释,工时修正页仍保留调用能力。
- 可补录“报工/辅助结束”,补录过程直接按起止时间计算
实际工时,写入原始操作记录。
6.2 异常工时
加工中心和装配中心均内嵌异常工时入口。异常工时_新增操作记录根据订单与 TaskAID 补齐物料/工序上下文,按起止时间计算秒数并写入事实表;加工中心_异常工时_获取操作记录列表用于回查;加工中心_修改工时_保存修改记录用于修正。
管理原则:修正和补录都会直接改变事实源。当前过程记录最后编辑人/时间,但没有独立的修改前值历史表;审计主要依赖最后编辑字段和操作描述。
7. 工时校验与 SAP 上传
7.1 查询范围
默认显示未校验、机加、正常记录。查询过程 工时校验_获取昨日之前操作记录列表固定增加“开始时间小于今天 00:00:00”,因此当日记录不会进入终检。页面可按任务 ID、订单、人员、机加/装配、加班与校验状态筛选。
7.2 一键校验顺序
- 只处理用户勾选且尚未校验的记录。
- 生产订单
3886直接复制进校验表,不计算、不上传 SAP。
- 其他记录传入
usp_BatchValidateWorkTime,逐条得到 UploadMinutes、WorkType、CalculationDetail。
- 对计算成功记录,读取 SAP 生产订单和 MES 工序,补齐缺失的工序阶段和资源行。
- 按操作类别形成设备或人员资源工时行;先更新 SAP 生产订单资源行计划量,再 POST 资源发料单。
- 只有 SAP 上传返回成功,才调用
工时校验_批量保存校验记录形成已校验副本。
- 计算失败或 SAP 上传失败的记录保持未校验,便于再次处理。
7.3 页面颜色与人工修正
- 结束时间为空:红色优先级。
- 设备工时或人员工时大于 33,000 秒:红色优先级。
- 结束时间早于昨天 00:00:橙色优先级。
- 未校验记录可修改起止时间、设备/人员秒数和标准工时;已校验记录只读。
7.4 已校验判定
View_生产工时视图通过 生产管理_工时校验_校验工时表.报工记录id = 原始记录.AID关联。存在校验副本即 已校验=1,并优先显示校验表字段。
8. 工时计算方法与公式
8.1 基础时间
总时长秒 = DATEDIFF(SECOND, 开始时间, 结束时间)
暂停总时长秒 = 周期内所有已闭合暂停记录的暂停时长之和
设备实际工时秒 = 总时长秒 - 暂停总时长秒
在统一视图中:加工工时 = 校验表.工时(有校验副本时)或 原表.实际工时;总时长 = 原表.总时长。
8.2 人员工时拆分
计算人员工时获取工位绑定人员,并与所有有效班次做笛卡尔组合,再调用 计算班次重叠秒数计算每个人在各班次的重叠时间。仅保留人员已绑定的班次和正重叠记录;指定人员若无班次绑定,则保留重叠最长班次,完全无重叠时至少给 1 秒。
当前生效公式:人员计算工时秒 = 班次重叠秒数
历史“重叠秒数 / 绑定设备数”的分摊公式已在存储过程中注释,不再生效。
8.3 当日归一化系数
usp_CalculateDailyRatio按“操作人 + 开始日期”汇总符合条件的总时长:
总时长 > 300秒;
阶段标识 != -1;
- 订单不等于
3886;
- 排除“加班、休息日工作、法定休息日工作”。
当日总分钟 = Σ有效记录总时长秒 / 60
比例系数 Ratio = (标准工时小时 × 60) / 当日总分钟
若当日总分钟或标准工时不大于 0,则 Ratio = 1
8.4 班次内外拆分
usp_CalculateShiftTime将一个起止区间逐段分到班次内和班次外,支持跨天班次;如果结束早于开始,会先交换。班次优先按人员名称从 View_设备工位人员匹配,其次按工位;匹配不到则默认 07:45-16:30。
8.5 最终 SAP 上传分钟
| 操作类别 | 上传分钟公式 | 工时类型 |
| 总时长小于 300 秒 | 0,跳过 SAP,但计算结果按成功处理 | 跳过SAP |
| 普通报工、开始加工 | (总时长秒 / 60) × Ratio | 工作 |
| 辅助开始、辅助结束 | (总时长秒 / 60) × Ratio | 辅助 |
| 工作日加班 | 总时长秒 / 60,不乘系数 | 加班 |
| 休息日/法定休息日加班 | 班次内分钟 × Ratio + 班次外分钟 | 加班 |
| 其他类别 | (总时长秒 / 60) × Ratio | 其他 |
8.6 示例
| 场景 | 输入 | 结果 |
| 普通工时归一化 | 某人当日有效总工时 420 分钟,标准工时 8 小时;本条 60 分钟 | Ratio=480/420=1.142857;上传约 68.57 分钟 |
| 工作日加班 | 加班记录总时长 7,200 秒 | 上传 120 分钟,不乘 Ratio |
| 设备报工 | 起止 3,600 秒,暂停 600 秒 | 总时长 3,600 秒;设备实际工时 3,000 秒;SAP 设备 Quantity=50 分钟 |
| 短记录 | 总时长 299 秒 | UploadMinutes=0,WorkType=跳过SAP,随后可直接保存为已校验 |
9. 工时查询、工时报表与结算工时
9.1 工时查询
“工时查询”页面调用 生产管理_工时查询_工序工时_查询,用于从生产报工记录反查具体任务、日期和单次工时。查询参数包括合同号、产品编码、订单号、开始/结束日期和数据条数,默认最多返回 100 条基础工时记录。
数据范围
- 主数据源为
View_生产工时视图,只取操作内容或操作类别为“报工/辅助结束”的记录。
- 要求
加工工时 > 0,因此该页面以设备报工工时为主体。
- 用订单号和工艺顺序关联
车间生产管理工艺_零件生产工艺_工艺库,补充标准工时。
- 同 TaskAID、同开始时间从
View_生产工时视图全部汇总加工工时不大于 0 的人员行,拼成操作人列表。
- 报工数量按 TaskAID + 开始时间取最大值,异常记录取负数;装配工位报工数量固定显示 0。
三级结构
| 层级 | 分组 | 展示内容 |
| Level 1 | TaskAID | 任务描述、报工次数、去重报工数量、总工时、单件工时、工艺工时。 |
| Level 2 | TaskAID + 工作日期 | 日期报工次数、日期数量、日期总工时和单件工时。 |
| Level 3 | 单次开始时间 | 班次、操作人、生产订单、正常/调机类型、工位、工时、报工数量和开始时间。 |
工时小时 = 加工工时秒 / 3600
工时分钟 = 加工工时秒 / 60
单件工时(分钟/件) = 工时分钟 / 报工数量;无有效数量时回退到工艺标准工时
9.2 工时报表
“工时报表”页面调用四套统计过程,公共筛选项包括合同号、操作人、产品编码、工序名称、订单号、工时类型和日期范围。页面将结果构造成树形表,顶部只汇总第一层工时,并可按工时类型显示分类合计。
| 页签 | 存储过程 | 分组和用途 |
| 项目工时 | 工时统计_项目工时_查询 | Level 1 按合同号+产品汇总;Level 2 按工序、班组工时类型、操作人和订单展开。 |
| 作业者工时 | 工时统计_作业者工时_查询 | Level 1 操作人汇总;Level 2 按日期;Level 3 展开任务、工序、类别、起止时间、异常/工序说明。 |
| 任务工时 | 工时统计_任务工时_查询 | Level 1 按合同、订单、产品、工序、班组工时类型和操作类别汇总;Level 2 展开操作人和单次工时。 |
| 设备工时 | 工时统计_设备工时_查询 | Level 1 工位汇总;Level 2 按日期;Level 3 展开订单、产品、工序、班次、报工类型和起止时间。 |
报表有效工时口径
| 记录条件 | 有效工时秒 |
| 报工/辅助结束且加工工时大于 0 | 加工工时,代表设备工时。 |
| 报工/辅助结束且加工工时为 0、总时长大于 0 | 总时长,代表人员工时。 |
| 加班类别 | 总时长。 |
| 开始加工且总时长大于 0 | 总时长,主要覆盖装配人员开始/结束记录。 |
| 作业者报表中的异常 | 总时长取负数,用于冲减。 |
人员的“工时类型”来自 登录基础数据_人员信息.班组,没有班组时归入“未分类”。项目、作业者和任务报表基于 View_生产工时视图全部,因此可以覆盖已关闭订单;设备报表要求 阶段标识=-1,人员类统计通常排除该阶段。
导出
四个页签分别调用对应的 ..._查询_导出过程,前端以操作类型 2001触发服务端表格文件生成。导出字段包含合同、订单、产品、工序、人员/设备、指派对象、数量、起止时间和工时。
9.3 结算工时
“结算工时”页面调用 生产管理_结算工时_查询,查询参数为合同号、产品编码、订单号、工位、日期范围和数据条数。过程将生产计划、生产任务和工时视图连接,形成物料汇总和订单工位明细两层数据。
数据条件与分组
- 生产任务物料类型必须为
pit_Resource。
- 生产订单编号大于 6000,生产计划单据状态不为空。
- 工位优先使用生产任务指派对象,未设置时使用工时记录工位名称。
- 同 TaskAID、同开始时间从全量工时视图拼接人员工时行的操作人。
- Level 1 按物料编号/描述汇总;Level 2 按物料、订单、工位和工序顺序汇总。
结算公式
报工工时 = Σ普通报工加工工时秒 / 3600
辅助工时 = Σ辅助结束加工工时秒 / 3600
合计工时 = 报工工时 + 辅助工时
结算报工单件工时 = 报工工时 / 报工完成数
结算辅助单件工时 = 辅助工时 / 辅助完成数
页面同时展示报工完成数、辅助完成数、记录数、操作人和工序顺序,并在浏览器端计算三项总工时。导出使用前端 XLSX 生成“结算工时”工作表。
10. 外协与生产计划跟踪
10.1 外协在工时体系中的位置
外协工序仍以生产任务和 TaskAID为主线,并把发料、收料动作写入 YL_加工中心_操作记录表;但 View_生产工时视图明确过滤 工位名称='外协',因此外协不参与内部设备/人员工时校验、SAP 人员资源工时和常规工时报表。
外协派工
连续工序分组、供应商、计划时间、打印与备注
→
外协发料
更新任务收料数量
写“收料”操作记录
→
外协收料
更新任务完成数量
写“报工”操作记录
外协“报工”代表外协收货/完成数量事件,并非内部人员计时。外协用开始/结束事件时间、发料数量、收料数量、供应商采购到货日期、金额和质检结果完成进度跟踪。
10.2 外协管理页面
| 功能 | 过程 | 说明 |
| 任务查询 | 生产管理_外协管理_查询外协全部
...查询外协 | 读取外协资源任务,按订单、产品、工序、派工/发料/完成状态筛选;连续订单行和同一外协分组按组判断状态。 |
| 派工 | 计划排产_派工 | 设置外协工位、供应商/人员、指派数量、计划时间和外协分组。 |
| 外协发料 | 生产管理_外协管理_外协发料查询
...外协发料保存 | 增加任务收料数量并写“收料”操作记录;任务可转为已开工/可执行。 |
| 外协收料 | 生产管理_外协管理_外协收料保存 | 增加完成数量,达到指派数量时任务置完成,并写工位为外协的“报工”操作记录。 |
| 历史与质检 | ...外协历史查询
...查询外协历史记录
...查询质检记录 | 回查派工、发收料和收检结果。 |
| 单据维护 | ...更新打印次数
...更新备注 | 保留外协打印和备注信息。 |
10.3 外协报表
“外协报表”调用 生产管理_外协报表_查询,数据源为 View_外协报表视图。过程按订单号、拆分内码和供应商合并连续外协工序,并分页返回:
- 计划号、合同号、订单、产品、合并工序名称和 TaskAID 列表;
- 供应商、含税单价/行总计、计划开始/完成、采购预计到货和外协结束时间;
- 指派数量、发料数量、外协报工收料数量、完成数量;
- 收检合格/不合格、上序合格数、开票状态、材质和要求完工日期;
- 首行或上序已有合格数时标记为可执行。
生产管理_外协报表_导出提供相同口径的服务端导出。
10.4 生产计划跟踪
“生产计划跟踪”调用 生产管理_生产计划跟踪,读取包含已关闭订单的生产任务视图,并把订单下各资源工序组织成路线。页面可按订单、合同、产品、工序、计划时间、排产、自制件属性、加急和单据状态筛选,并在前端按是否包含外协工序再次过滤。
| 信息组 | 来源与用途 |
| 计划与任务 | 计划号、计划/指派数量、计划开始/完成、要求完工日期、任务状态、加工状态、进度和标准工时。 |
| 工时事件 | 按 TaskAID 从操作记录取最早开始、最大结束;外协结束取“报工”记录的开始时间。 |
| 质量 | 收检合格/不合格按 TaskAID 汇总;终检按计划号判断。 |
| 外协 | 指派对象为“外协”或工序名含外协即标识外协;连续订单行且外协分组相同的工序按最后一道工序状态统一着色。 |
| 路线状态 | 已报工/辅助结束/有收检结果显示完成色;外协已发料但收检未齐显示进行色;可执行、已开工和待执行分别显示不同路线状态。 |
该页面把工艺标准工时、实际操作起止、外协发收料、质检与任务进度放在同一订单路线中,是工时事实与生产计划执行之间的主要追踪入口。
11. 存储过程和函数清单
11.1 加工中心核心过程
| 对象 | 作用 | 主要读写对象 |
MES_ProductTask_WorkingStart | 开始加工,更新任务状态/收料并生成开始记录。 | 生产任务、生产订单视图、质检记录、公共记录过程 |
MES_ProductTask_HelpStart | 辅助开始,更新加工状态并生成开始记录。 | 生产任务、数据字典、公共记录过程 |
MES_ProductTask_HelpEnd | 辅助结束、数量/进度、班次和加班拆分。 | 生产任务、班次表、操作记录、报工记录 |
MES_ProductTask_ProdReport | 正常报工、绑定任务、完成数量、班次与加班处理。 | 生产任务、操作记录、报工记录、班次表 |
MES_ProductCenter_OptRecord_Save | 统一插入操作记录,配对开始/暂停/结束,计算总时长、暂停和实际工时。 | YL_加工中心_操作记录表 |
计算人员工时 | 按工位人员绑定、班次人员绑定和重叠时间生成人员工时行。 | 绑定表、班次表、人员表、操作记录 |
计算班次重叠秒数 | 标量函数,计算起止区间与班次区间的重叠秒数,最多跨 3 天。 | 纯计算 |
11.2 装配中心核心过程
| 对象 | 作用 |
MES_人员工时记录_开始 | 防止同用户同任务重复开始,更新任务为已开工,插入未闭合“开始加工”记录。 |
MES_人员工时记录_结束 | 闭合开始记录,拆分工作/加班,写备注和说明,必要时生成普通报工表及加班操作记录。 |
MES_人员工时记录_获取进行中任务 | 读取当前用户进行中的开始记录。 |
MES_人员工时记录_获取进行中任务2 | 读取另一组进行中任务数据,供装配页面恢复状态。 |
11.3 修正与补录过程
| 对象 | 作用 |
工时校验_获取操作记录列表 | 工时修正页面分页查询。 |
工时校验_保存校验记录 | 名称虽含“保存校验”,当前定义实际更新原始记录起止、总时长、实际工时和班次标准工时。 |
工时校验_新增操作记录 | 补录报工/辅助记录,DATEDIFF 计算实际工时。 |
异常工时_新增操作记录 | 新增异常工时并补齐任务上下文。 |
加工中心_修改工时_保存修改记录 | 加工/装配页面内修改异常工时。 |
工时校验_获取设备数据 | 基于每分钟设备状态,用 LEAD 计算当天运行、待机、关机、报警累计时间。 |
11.4 最终校验与计算过程
| 对象 | 作用 |
工时校验_获取昨日之前操作记录列表 | 从统一视图分页读取今天以前记录;输出校验/性质/异常/加班/人员筛选结果。 |
usp_BatchValidateWorkTime | 拆分 AID,逐条计算上传分钟,输出成功/失败、详情 JSON 和比例组 JSON。 |
usp_CalculateUploadMinutes | 确定类别、班次内外、日比例系数和最终上传分钟。 |
usp_CalculateDailyRatio | 计算操作人当日标准工时归一化比例。 |
usp_CalculateShiftTime | 逐段累计班次内/外秒数,支持跨天。 |
usp_ValidateWorkTime | 单条计算、构造 SAP JSON,并在事务中写校验详情;当前页面单条调用路径已注释,主流程未使用。 |
工时校验_批量保存校验记录 | 把尚无校验副本的原始记录复制到校验表,作为最终已校验标志。 |
工时校验_获取订单工序 | 按订单获取工序、工艺顺序、TaskAID、SAP VisCode。 |
工时校验_获取资源 | 按资源名称读取 SAP UBT_ORSC 的 VisCode 和成本。 |
11.5 查询、报表与结算过程
| 对象 | 作用 | 主要来源 |
生产管理_工时查询_工序工时_查询 | 生成 TaskAID、日期、单次开始记录三级工序工时树,计算数量、小时和单件分钟。 | 当前工时视图、全量工时视图、工艺库 |
工时统计_项目工时_查询 | 按合同产品及工序/班组/人员/订单汇总。 | 全量工时视图、人员信息 |
工时统计_作业者工时_查询 | 按人员、日期和报工明细统计,异常工时负数冲减。 | 全量工时视图、人员信息 |
工时统计_任务工时_查询 | 按订单产品工序任务汇总并展开操作人明细。 | 全量工时视图、人员信息 |
工时统计_设备工时_查询 | 按设备、日期和明细统计阶段标识为 -1 的设备工时。 | 全量工时视图 |
工时统计_*_查询_导出 | 为四类工时报表生成服务端导出数据。 | 对应查询口径 |
生产管理_结算工时_查询 | 按物料、订单、工位汇总报工、辅助、完成数量和单件结算工时。 | 生产计划、生产任务、当前/全量工时视图 |
11.6 外协与计划跟踪过程
| 对象 | 作用 |
生产管理_外协管理_查询外协全部 | 查询全部外协任务,按连续外协分组统一判断派工、发料和完成状态。 |
生产管理_外协管理_外协发料保存 | 增加任务收料数量并通过公共记录过程写“收料”操作。 |
生产管理_外协管理_外协收料保存 | 增加完成数量、更新任务完成状态并写外协“报工”操作。 |
生产管理_外协报表_查询 | 按订单、拆分内码和供应商合并外协工序,返回采购、数量、质检和时间信息。 |
生产管理_外协报表_导出 | 导出外协报表。 |
生产管理_生产计划跟踪 | 合并生产任务、标准工时、操作起止、外协结束和质检状态,输出订单工序路线。 |
12. 数据表清单与字段说明
12.1 YL_加工中心_操作记录表(事实源)
该表同时承载设备动作、人员动作、加班、异常和补录。当前可见索引为 IX_YL_加工中心_操作记录表_TaskAID_操作内容,键列包含 TaskAID、操作内容、开始时间、结束时间、操作人;未查询到显式主键索引。
| 字段组 | 字段 | 说明 |
| 身份与分类 | AID、操作类别编号、操作类别、阶段标识、TaskAID | AID 是记录标识;TaskAID 关联生产任务。 |
| 业务上下文 | 工序名称、工位编号、工位名称、操作人、合同号、订单编号、物料编号、物料描述 | 保留报工发生时的任务快照。 |
| 动作内容 | 操作数值、操作内容、操作描述、备注、工序说明、异常说明 | 数量、显示动作和人工说明。 |
| 时间与工时 | 开始时间、结束时间、工时、总时长、实际工时、报工日期 | 核心单位均为秒;实际工时主要作为设备工时。 |
| 周期关联 | 关联开始记录ID、关联暂停记录ID、关联操作类型、暂停时间、暂停时长、暂停总时长 | 支持开始-暂停-恢复-结束的周期闭合。 |
| 状态与审计 | 已报工、不装配、是否更新、最后编辑人、最后编辑时间 | 控制可见性和保留最近编辑信息。 |
| 班次 | 班次标准工时(默认 8)、班次 | 供归一化和加班计算使用。 |
12.2 生产管理_工时校验_校验工时表
该表保存校验副本,大部分业务字段与事实表一致,并增加:
| 字段 | 作用 |
报工记录id | 关联原始操作记录 AID,是“已校验”的判断依据。 |
计算详情 | 预留保存计算 JSON;主批量流程当前未写入。 |
上传工时 | 预留保存最终 SAP 分钟;主批量流程当前未写入。 |
工时类型 | 工作、辅助、加班、其他、跳过SAP;主批量流程当前未写入。 |
12.3 其他关键表
| 表 | 用途 |
MES_接口_生产计划_生产任务 | 任务状态、加工状态、完成数量、工序、指派工位和 TaskAID。 |
MES_接口_生产计划 | 订单头/计划数据,为统一视图补合同号、计划数量、入库和单据状态。 |
YL_加工中心_报工记录 | 保存报工日期、班次、工位、操作人、工时类型、数量、工时和确认/上报状态。 |
班次表 | 班次编号、名称、开始/结束时间、删除状态。 |
班次人员绑定表 | 人员属于哪个班次及绑定时间。 |
工位人员绑定表 | 人员与 SAP 资源工位的绑定关系及有效状态。 |
登录基础数据_人员信息 | 人员编号和姓名映射。 |
MES_资源主数据 | 工位 VisCode 与名称,用于绑定和 SAP 资源行。 |
历史_工位设备状态每分钟记录 | 每分钟设备状态,用于工时修正页面核对设备运行时间。 |
YL_基础表_数据字典 | 将“开始加工、辅助开始、辅助结束、暂停、报工”等名称映射成编号。 |
YL_质量检验_质检记录 | 加工开始时取得前序合格数,影响收料数量。 |
车间生产管理工艺_零件生产工艺_工艺库 | 按订单和工艺顺序提供标准工时,供工时查询和生产计划跟踪对比。 |
SAP.SBO_YL.dbo.UBT_WW_MES_OPORandOPCH | 外协采购供应商、价格、预计到货、开票和材质信息。 |
13. 视图及取数规则
13.1 View_生产工时视图
面向当前有效生产订单,是工时修正、工时校验、计算过程的核心视图。连接关系:
YL_加工中心_操作记录表 o
LEFT JOIN 生产管理_工时校验_校验工时表 c ON o.AID = c.报工记录id
LEFT JOIN View_生产订单_MES m ON COALESCE(c.TaskAID, o.TaskAID) = m.TaskAID
LEFT JOIN MES_接口_生产计划 s ON COALESCE(c.订单编号, o.订单编号) = s.订单编号
LEFT JOIN View_工位人员绑定数 b ON o.操作人 = b.人员姓名
有校验副本时优先取校验表字段;无校验副本时取原始记录。主要过滤:
- 排除工位“外协”。
- 报工记录必须有结束时间。
- 未校验的“收料”不显示。
- 消除已经被报工/辅助结束闭合的开始记录、未闭合的辅助结束和暂停形成的重复记录。
- 要求操作数值非空,或是尚未闭合的开始动作,或操作描述非空。
- 当日班次最小标准工时取该操作人、同日、“报工”记录的最小班次标准工时。
13.2 View_生产工时视图全部
与核心视图结构和过滤基本一致,但任务来源改为 View_生产订单全部(包括已关闭),主要供工时统计与历史查询。
13.3 View_校验后的生产工时
同样合并原始与校验数据,但强制 c.AID IS NOT NULL,只返回已形成校验副本的记录。
13.4 绑定与班次视图
| 视图 | 规则 |
View_工位人员绑定数 | 按人员统计当前有效且能匹配资源主数据的不同工位数。 |
View_设备工位人员 | 连接人员、工位绑定、班次人员绑定和班次表,提供人员/工位的班次起止时间;仅保留有效绑定。 |
View_生产订单_MES | 提供 TaskAID、订单、工序、工位、任务状态、计划与完成数量,是所有入口过程的任务上下文。 |
13.5 View_外协报表视图
该视图仅保留物料类型为 pit_Resource且指派对象为“外协”的生产任务,合并以下信息:
- 生产任务的计划、指派、完成、进度、外协分组和状态;
- 操作记录的最早开始、最大结束、发料“收料”数量和外协“报工”收料数量;
- 收检合格/不合格数量;
- SAP 外协采购的供应商、价格、预计到货、开票和材质。
14. SAP 对接映射
14.1 调用封装
src/api/b1s.js把 GET/POST/PATCH 都封装成向配置的 B1 代理地址发 POST,请求体含 func、cmd、content;默认超时 100 秒。
14.2 校验上传步骤
| 顺序 | 接口 | 用途 |
| 1 | GET ProductionOrders | 按 AbsoluteEntry取得生产订单、阶段和资源行。 |
| 2 | PATCH ProductionOrders(id) | 补齐 MES 工序阶段和当前工序需要的设备/人员资源。 |
| 3 | PATCH ProductionOrders(id) | 把匹配资源行的 PlannedQuantity调整为已发数量加本次 Quantity。 |
| 4 | POST InventoryGenExits | 创建资源消耗单据,Comments 记录 MES 工时 AID。 |
14.3 工序和资源规则
- 当前工序匹配条件:MES 工序名称相等且工艺顺序等于工时记录订单行号。
- StageID 取 MES 工艺顺序;特定期初物料、
Z108-001或 26强制 StageID=1。
- 普通设备资源名:工位名称;普通人员资源名:操作人。
- 辅助设备/人员资源:
辅助-工位、辅助-人员。
- 加班人员资源:
加班-人员。
- 资源 VisCode 由
工时校验_获取资源从 SAP UBT_ORSC按精确名称获取。
14.4 DocumentLines 映射
| 字段 | 值 |
| Quantity | 设备行:加工工时秒/60;人员行:数据库计算的 UploadMinutes。 |
| BaseType | 202(生产订单)。 |
| BaseEntry | 生产订单编号/AbsoluteEntry。 |
| BaseLine | SAP 生产订单中匹配资源行的 LineNumber。 |
| LineType | dlt_Resource。 |
| WarehouseCode | 空字符串。 |
| U_ResName | 原始工位名称或操作人名称。 |
15. 状态、操作类别与单位
15.1 任务状态
| 值/名称 | 业务含义 | 变化条件 |
| 0 / 待执行 | 尚不可开工 | 由计划和前序控制 |
| 1 / 可执行 | 允许开始 | 第一次开始加工后转 2 |
| 2 / 已开工 | 任务处理中 | 继续开始仅记录新周期 |
| 4 / 已完成 | 完成数量达到指派数量 | 报工/辅助结束累计完成 |
15.2 操作类别
收料辅助开始辅助结束开始加工暂停报工加班休息日加班法定休息日加班休息日工作法定休息日工作
15.3 单位约定
| 位置 | 字段/显示 | 单位 |
| 数据库事实表 | 工时、总时长、实际工时、暂停时长 | 秒 |
| 工时修正/校验编辑框 | 设备工时、人员工时 | 秒 |
| 工时校验表格 | 设备工时、人员工时 | 分钟(秒/60) |
| 计算过程 | UploadMinutes | 分钟,decimal(18,2) |
| SAP 资源行 | Quantity | 分钟 |
| 班次标准工时 | 页面输入与记录字段 | 业务上按小时使用,但部分过程注释写“分钟”,需统一 |
16. 调用矩阵与资料来源
16.1 页面到对象调用矩阵
| 页面 | 直接过程/接口 | 核心落点 |
| 加工中心 | WorkingStart、HelpStart、HelpEnd、ProdReport、OptRecord_Save、异常新增/修改 | 生产任务、操作记录、报工记录 |
| 装配中心 | 人员工时开始/结束、获取进行中任务、异常新增/修改 | 生产任务、操作记录、报工记录 |
| 人员绑定 | 工位绑定人员查询/保存 | 工位人员绑定表、资源主数据 |
| 班次管理 | 班次查询/保存/删除、班次绑定人员查询/保存 | 班次表、班次人员绑定表 |
| 工时修正 | 获取操作记录、保存校验记录、补录、设备数据 | 操作记录、设备分钟状态 |
| 工时校验 | 昨日之前列表、BatchValidate、Calculate*、获取订单/资源、SAP GET/PATCH/POST、批量保存 | 统一视图、SAP、校验表 |
| 工时查询 | 生产管理_工时查询_工序工时_查询 | 当前/全量工时视图、工艺标准工时 |
| 工时报表 | 项目/作业者/任务/设备查询及四套导出过程 | 全量工时视图、人员班组 |
| 结算工时 | 生产管理_结算工时_查询 | 生产计划、任务、当前/全量工时视图 |
| 外协管理/报表 | 外协任务查询、派工、发料、收料、历史、质检、报表和导出 | 外协任务、操作记录、采购、质检、外协报表视图 |
| 生产计划跟踪 | 生产管理_生产计划跟踪 | 全部订单、操作记录、工艺库、质检记录 |
16.2 主要代码来源
src/views/ProductionManagement/MachiningCenter/index.vue
src/views/ProductionManagement/AssemblyCenter/index.vue
src/views/ProductionManagement/WorkhoursEdit/index.vue
src/views/ProductionManagement/WorkHoursCheck/index.vue
src/views/ProductionManagement/PersonnelBinding/index.vue
src/views/ProductionManagement/ShiftManagement/index.vue
src/views/ProductionManagement/Workhours/index.vue
src/views/ProductionManagement/Timesheet/index.vue
src/views/ProductionManagement/SettlementWorkhours/index.vue
src/views/ProductionManagement/OutsourceMange/index.vue
src/views/ProductionManagement/SaleOutsourceMange/index.vue
src/views/ProductionManagement/OutsourceSheet/index.vue
src/views/ProductionManagement/ProductionPlanTrack/index.vue
src/api/b1s.js
16.3 数据库核对说明
本文通过只读查询 SQL Server 系统目录获取当前存储过程参数、模块定义、对象依赖、表字段、索引和班次配置。未执行任何业务存储过程,未新增、更新或删除数据库数据。文档不包含数据库地址、账号或密码。
使用建议:本说明适合作为流程评审、工时口径确认、SAP 联调和后续重构的基线。若数据库对象在 2026-07-21 后调整,应重新提取定义并更新版本。