1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| -- =============================================
| -- 修复:工作站设置 -> 工作站编码 -> 生成,报“编码规则不存在”
| -- 原因:mes_md_auto_code_rule 中缺少 code = 'MD_WORKSTATION_CODE' 的规则数据
| -- 说明:本脚本可重复执行,不会删除/覆盖已有规则
| -- 生成格式:WKS + 6 位流水号,例如 WKS000001
| -- =============================================
|
| -- 1. 工作站编码规则主表
| INSERT INTO mes_md_auto_code_rule
| (code, name, description, max_length, padded, padded_char, padded_method, status, remark, creator, updater)
| SELECT 'MD_WORKSTATION_CODE', '工作站编码', '用于生成工作站编码', 12, b'0', NULL, NULL, 0, NULL, '1', '1'
| FROM DUAL
| WHERE NOT EXISTS (
| SELECT 1 FROM mes_md_auto_code_rule WHERE code = 'MD_WORKSTATION_CODE'
| );
|
| -- 2. 固定前缀 WKS
| INSERT INTO mes_md_auto_code_part
| (rule_id, sort, type, length, fix_character, serial_start_no, serial_step, cycle_flag, remark, creator, updater)
| SELECT r.id, 1, 3, 3, 'WKS', NULL, NULL, NULL, '固定前缀', '1', '1'
| FROM mes_md_auto_code_rule r
| WHERE r.code = 'MD_WORKSTATION_CODE'
| AND NOT EXISTS (
| SELECT 1 FROM mes_md_auto_code_part p WHERE p.rule_id = r.id AND p.sort = 1
| );
|
| -- 3. 6 位流水号(从 1 开始,步长 1,不循环)
| INSERT INTO mes_md_auto_code_part
| (rule_id, sort, type, length, fix_character, serial_start_no, serial_step, cycle_flag, remark, creator, updater)
| SELECT r.id, 2, 4, 6, NULL, 1, 1, b'0', '流水号', '1', '1'
| FROM mes_md_auto_code_rule r
| WHERE r.code = 'MD_WORKSTATION_CODE'
| AND NOT EXISTS (
| SELECT 1 FROM mes_md_auto_code_part p WHERE p.rule_id = r.id AND p.sort = 2
| );
|
|