华勤料号规则

位置 长度 允许字符 示例段
1-13 13 固定 **HQ70501001JU0** **HQ70501001JU0**
14 1 数字 **0-9** **5**
15 1 字母 **A-Za-z**
或数字 **0-9**
**K**
16-17 2 数字 **00-99** **42**
18 1 **A-E**
或数字 **0-9**
**C**
19-22 4 大写字母 **A-Z**
或数字 **0-9**
**X9F3**
23-26 4 固定 **DY01** **DY01**

实际场景

在实际生产业务中,对于成品或半成品物料其存在非标条码校验的需求。如:

  1. OH2P 物料,每一件单品需要贴上客户提供的 SN 或合格码,此时条码规则可能会因为订单的变更或客户方要求而变更,一个物料会存在多个正则规则的情况。
  2. 某一个成品,在其 BOM 下的某些装配件上,每一件单品上需要贴多个标签,如东原厂内的生产流水码,客户提供的单品流水码,或其他认证方提供的条码。此时一个工序上需要关联多个条码,其条码可能是贴在某个装配件上,但装配工艺却属于一个工单,与工单最终的物料并没有强制的关联关系。

基于此,精制自身已有的功能中,可以通过对工艺及工艺模板进行改造来实现。

工艺路线中,可以对每一道工序的用料进行提前配置,应用于示例中的情况,可以通过在一个工序中添加多个物料或一个物料添加多次,对每一条记录做单独的正则校验,正则校验规则使用工艺-工序用料表中的扩展字段实现。但此时为了区分每条正则所应用的场景,需要额外增加备注字段,用于记录规则场景。

工艺和工艺模板

工艺和工艺模板页面已拆解二开,不再与平台同步。

在工艺路线下,工序用料中新增“流水码正则”字段,用于配置每个物料的校验规则。这里使用工序用料表中的扩展字段实现(dfs_procedure_material.extend)。

同时在这里的“新增”和用料的“编辑”功能,均提供“流水码正则”修改的功能。

工序用料中一个物料是可以重复添加的,此处没有去重校验的功能,所以在应用的后期可能出现同物料、同流水码正则的重复情况,但无需关心此现象,这种情况交由厂方 IT 人员自行维护。

物料

物料中存在流水码正则(物料的扩展字段 7),该正则用于在上料防错 MAX 中针对工单的流水码做正则校验。一个工单在设计上只有一个产出物料,即最后工序的物料。但是一个工单可能涉及多道工序,且每道工序可以有多个用料。在精制的定义中,用料是指工序的投入物料,工序物料是指工序的产出物料,用料与物料并非同一个物料。所以在东原场景下,该字段不适用,但其仍作为“上料防错 MAX”应用的校验规则生效。

字段

物料

上料防错

上料防错配置

上料防错配置是针对每一个具体的工单进行设置的,在生产工单下推生成的时候,会自动生成上料防错配置。工单的物料编码和流水码正则是该工单的产出物料,取值是由“物料”中的“流水码正则”字段获得。

但每个工单的上料防错配置详情中,工序用料的正则取值来源有所不同。

BOM 清单

原版上料防错配置中,物料清单分为 BOM 清单和工序用料清单两类,在东原项目中,取消了 BOM 清单部分,全部使用工序用料清单。并且将数据独立拆成一张表进行存储,表名:work_order_procedure_material

CREATE TABLE `work_order_procedure_material` (
  `id` int NOT NULL AUTO_INCREMENT,
  `craft_id` int NOT NULL COMMENT '工艺ID',
  `procedure_id` int DEFAULT NULL COMMENT '工序ID',
  `material_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '物料编码',
  `material_name` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '物料名称',
  `number` double(15,7) DEFAULT NULL COMMENT '用量',
  `unit` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '单位',
  `extend` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '扩展字段',
  `work_order_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'bomMaterial' COMMENT '工单号',
  `check_material_id` int DEFAULT NULL COMMENT '上料防错物料id',
  `is_support_code_manage` tinyint DEFAULT NULL COMMENT '是否支持生产流水码管理(1-是 0-否)',
  `material_index` int DEFAULT NULL COMMENT '上料顺序',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `craft_id` (`craft_id`),
  KEY `material_code` (`material_code`),
  KEY `procedure_id` (`procedure_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='工单工序用料表';

修改后的上料防错配置如下图所示,工序用料清单和工序用料本质上是同一个列表,只是展示维度不同,一个是平铺展示全部,一个是按工序展示。此时流水码正则的取值就是从工艺和工艺模板中工艺路线的工序用料-流水码正则字段得到。

由于精制的设计中,BOM 清单不允许一个物料重复出现,所以在此项目中,上料防错配置移除了 BOM 清单功能。

东原环境下,工艺路线中的工序备注用于上料防错配置中工序物料的正则设置,其含义不再是工序备注。

由于本项目中,上料防错配置只使用工序用料清单中的物料,所以其配置中取消了“上料防错类型”的设置项,固定为“工序用料清单”

相关需求

上料防错配置取消上料防错类型配置

上料防错MAX

作者:郭腾彬  创建时间:2025-10-28 14:43
最后编辑:郭腾彬  更新时间:2025-10-28 14:53